본문 바로가기

TIL/Java

(27)
[Java] 배열(2차원 배열, 배열 복사, 배열 정렬, 오름차순 정렬) 배열 같은 자료형의 변수들을 하나로 묶음으로 다루는 것 배열은 저장된 값 마다 인덱스 번호가 부여된다. (0부터 시작) int[] = score = new int[5]; //5개의 int값을 저장할 수 있는 배열을 생성한다. 값을 저장할 수 있는 공간은 scroe[0]부터 score[4]까지 모두 5개이다. 0~4는 배열의 인덱스(index)라 하고, 오른쪽 한 칸은 배열의 요소(element)라고 한다. 배열 선언 자료형[] 배열명; //자료형 뒤에 붙이는게 일반적임. 나도 이게 편하다. 자료형 배열명[]; 배열 생성(할당) 배열명 = new 자료형[배열크기]; score = new int[5]; //int 타입의 값 5개를 저장할 수 있는 배열 생성 int[] score = {10, 20, 30, 4..
[Java] 반복문(for, while), 분기문(break, continue) for 조건문 for(초기화; 조건식; 증감식) { 조건을 만족하는 경우 수행할 구문(반복할 구문); }; for(int i = 1; i 1부터, 10까지, 2씩증가 System.out.println(i); } 초기화 반복문에 사용될 변수를 초기화하는 부분이며 처음에 한 번만 수행된다. 조건식 조건식의 참(true)이면 반복을 계속, 거짓(false)이면 반복을 중단하고 for문을 벗어난다. 증감식 반복문을 제어하는 변수의 값을 증가 또는 감소시키는 것이다. -1부터 5까지 세로로 한번, 가로로 한번 출력하는 예제 public static void main(String[] args) { for(int i=1;i
[Java] if조건식, Switch if문 if(조건식){ 조건식이 true일 때 실행할 명령문; } => 조건을 만족하는 경우에만 추가적인 명령을 싫애시키고자 할 때 주로 사용한다. -정수 한 개를 입력 받아 그 수가 짝수이면 "입력하신 숫자는 짝수입니다." 라고 출력하고, 짝수가 아니면 출력하지 않는 구문을 작성해보자 public void testSimpleIfStatement() { Scanner sc = new Scanner(System.in); System.out.print("숫자 한 개를 입력하세요 : "); int num = sc.nextInt(); // 짝수인지 물어보는 조건을 기술함 System.out.println("입력하신 숫자는 짝수입니다."); } // 조건문과 상관 없이 실행하는 구문 System.out.print..
[Java] API, Math, Scanner API Application Programming Interface는 응용프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 뜻한다. 쉽게 말해 우리가 구현할 수 없거나 구현하기 번거로운 기능들을 JDK를 설치하면 사용할 수 있도록 제공해놓은 소스코드(클래스나 인터페이스)들을 의미한다. 더 쉽게 말해 누가 작성해놓은 소스코드이니 가져다 쓰는 방법을 학습한다는 의미이다. 모든 코드를 우리가 다 외울 수 없으니 API 문서를 별도로 제공해주고 있다. java.lang.Math Math클래스는 수학에서 자주 사용하는 상수들과 메소드들을 미리 구현해놓은 클래스이다. API 문서에서 확인하면 Math 클래스는 모두 static으로 선언되어 있다. -절대..
[Java] 메소드, 전달인자(argument), 매개변수(parameter), 메소드 리턴(return) 메소드 어떤 특정 작업을 수행하기 위한 명령문의 집합 객체때 더 자세히 배우니 호출 흐름에 대해 이해하는 것이 오늘의 목표 App1에서 다뤘던 것과 비슷해보이지만 App2에서는 메소드에서 호출해보는 것 전달인자(argument)와 매개변수(parameter)를 이용한 메소드 호출 지금까지 우리가 배워온 변수는 지역변수에 해당한다. 1. 지역변수 2. 매개변수 3. 전역변수(필드) 4. 클래스(static)변수 이렇게 있지만 앞으로 차차 배우게 될 것 지역변수는 선언한 메소드 블럭 내부에서만 사용이 가능하다. 이것을 지역변수의 스코프라고 한다. 다른 메소드간 서로 공유해야 하는 값이 존재하는 경우 메소드 호출 시 사용하는 괄호를 이용해서 값을 전달할 수 있다. 이 때 전달하는 값을 전달인자(argumetn..
[Java] 연산자(Operator) 산술 연산자 연산에 필요한 값이나 변수가 두 개인 이항 연산자 우선 순위에 따라 연산되어 결과가 산출됨 피연산자의 연산 방향은 왼쪽에서 오른쪽 int num1 = 20; int num2 = 7; System.out.println("num1 + num2 = " + (num1 + num2)); System.out.println("num1 - num2 = " + (num1 - num2)); System.out.println("num1 * num2 = " + (num1 * num2));//끝에 ()안 쳐도됨 우선연산이 가능하기 때문 System.out.println("num1 / num2 = " + (num1 / num2));//끝에 ()안 쳐도됨 우선연산이 가능하기 때문 System.out.println("n..
[Java] 변수 규칙, 상수(Constant), 오버플로우, 언더플로우, 데이터 형변환(Type Casting) 변수의 명명 규칙 1. 컴파일 에러를 발생시키는 규칙 -동일한 범위 내에서 동일한 변수명을 가질 수 없다. int age = 20; //int age = 30;//동일한 변수 명을 가지므로 에러 발생 -예약어 사용이 불가능하다. //boolean true = true; //int int = 10; -대/소문자를 구분한다. 위에서 만든 age와 다른 것으로 취급한다. 예약어 True와 다른 것으로 취급한다. int Age = 20; int True = 10; -숫자로 시작할 수 없다. //int 1age = 20;//숫자로 시작해서 에러 발생 int age1 = 20; -특수문자는 '_'와 '$'만을 허용한다. 2. 개발자들 간의 암묵적 규칙 -길이의 제한은 없지만 적당한 길이의 변수명 작성하는 것이 좋다..
[Java] 변수(Variable), 자료형(Type) 변수 메모리(RAM)에 시간에 따라 변하는 값을 기록하기 위한 공간 변수의 사용 목적 값에 의미를 부여하기 위한 목적 (의미 전달이 쉬워야 코드를 읽기 쉽고, 협업 및 유지보수에 유리하기 때문 한 번 저장해둔 값을 재사용하기 위한 목적 (변수를 이용하여 코드를 작성하면, 값을 변경할 때도 보다 간편하게 변경할 수 있다. 시간에 따라 변하는 값을 저장하고 사용할 수 있다. (변하는 값을 저장하기 위한 공간이다.) 1. 값에 의미를 부여하기 위한 목적 아래처럼 작성하면 어느 값이 급여인지, 보너스인지 알 수 없다. System.out.println("보너스를 포함한 급여" + (1000000 + 200000) + "원"); 아래처럼 의미를 부여하게되면 어느 값이 급여인지, 보너스인지 알 수 있다. int s..