기본 미션: JDK 설치 화면 인증하기
변수에 값을 저장할 때에는 대입연산자(=) 사용
수학에서 등호(=)는 '같다'의 의미지만, 자바에서는 오른쪽의 값을 왼쪽의 변수에 저장한다는 의미를 가짐
변수는 출력문이나 연산식 내부에서 저장도니 값을 출력하거나 연산할 때 사용
변수는 자신이 선언된 위치로부터 자신이 속한 블록 내부에서만 사용 가능
기본타입은 정수타입(byte, short, char, int, long), 실수타입(float, double), 논리타입(boolean)으로 나뉜다.
자바의 정수타입은 총 5개로 메모리 사용 크기와 저장되는 값의 범위가 서로 다름
문자 리터럴 : 하나의 문자를 작은 따옴표(')로 감싼 것
문자 리터럴은 유니코드로 변환되어 저장
자바는 이러한 유니코드를 저장할 수 있도록 2byte 크기인 char 타입을 제공
Sring으로 감싼 문자열을 저장할 수 있는 타입
실수를 저장할 수 있는 타입으로 float과 double이 있음
true와 false를 저장할 수 있는 타입
자바에서 제공하는 연산자
연산자 종류 | 연산자 | 피연산자 수 | 산출값 | 기능 |
---|---|---|---|---|
산술 | +, -, *, /, % | 이항 | 숫자 | 사칙연산 및 나머지 계산 |
부호 | +, - | 단항 | 숫자 | 음수와 양수의 부호 |
문자열 | + | 이항 | 문자열 | 두 문자열을 연결 |
대입 | =, +=, -=, *=, /=, %= | 이항 | 다양 | 우변의 값을 좌변의 변수에 대입 |
증감 | ++, -- | 단항 | 숫자 | 1만큼 증가/감소 |
비교 | ==, !=, >, <, >=, <=, instanceof | 이항 | boolean | 값의 비교 |
논리 | !, &, && | 단항, 이항 | boolean | 논리 부정, 논리곱, 논리합 |
조건 | (조건식) ? A : B | 삼항 | 다양 | 조건식에 따라 A 또는 B 중 하나를 선택 |
양수 및 음수를 표시하는 +,-
연산식 | 설명 |
---|---|
"+" + "피연산자" | 피연산자의 부호 유지 |
"-" + "피연산자" | 피연산자의 부호 변경 |
변수의 값을 1 증가시키거나 1 감소시키는 연산자
연산식 | 설명 |
---|---|
"++" + "피연산자" | 다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴 |
"--" + "피연산자" | 다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴 |
"피연산자" + "++" | 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴 |
"피연산자" + "--" | 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 |
true를 false로, false를 true로 변경
연산식 | 설명 |
---|---|
"!" + "피연산자" | 피연산자가 true이면 false값을 산출 피연산자가 false이면 true값을 산출 |
사칙연산자인 덧셈, 뺄셈, 곱셈, 나눗셈과 나머지를 구하는 %까지 총 5개
연산식 | 설명 |
---|---|
피연산자 + 피연산자 | 덧셈 연산 |
피연산자 - 피연산자 | 뺄셈 연산 |
피연산자 * 피연산자 | 곱셈 연산 |
피연산자 / 피연산자 | 왼쪽 피연산자를 오른쪽 피연산자로 나눗셈 연산 |
피연산자 % 피연산자 | 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 구하는 연산 |
피연산자의 대소또는 동등을 비교해서 true 또는 false를 산출
구분 | 연산식 | 설명 |
---|---|---|
동등비교 | 피연산자1 == 피연산자2 | 두 피연산자의 값이 같은지를 검사 |
피연산자1 != 피연산자2 | 두 피연산자의 값이 다른지를 검사 | |
크기비교 | 피연산자1 > 피연산자2 | 피연산자1이 큰지를 검사 |
피연산자1 >= 피연산자2 | 피연산자1이 크거나 같은지를 검사 | |
피연산자1 < 피연산자2 | 피연산자1이 작은지를 검사 | |
피연산자1 <= 피연산자2 | 피연산자1이 작거나 같은지를 검사 |
논리곱, 논리합, 배타적 논리합, 논리 부정 연산을 수행
구분 | 연산식 | 결과 | 설명 |
---|---|---|---|
And (논리곱) | true (&& 또는 &) true | true | 피연산자 모두가 true일 경우에만 연산 결과가 true |
true (&& 또는 &) false | false | ||
false (&& 또는 &) true | false | ||
false (&& 또는 &) false | false | ||
OR (논리합) | true (ㅣ│ 또는 ㅣ) true | true | 피연산자 중 하나만 true이면 연산 결과는 true |
true (ㅣㅣ 또는 ㅣ) false | true | ||
false (ㅣㅣ 또는 ㅣ) true | true | ||
false (ㅣㅣ 또는 ㅣ) false | false | ||
XOR (배타적 논리합) | true ^ true | false | 피연산자가 하나는 true이고 다른 하나가 false일 경우에만 연산 결과가 true |
true ^ false | true | ||
false ^ true | true | ||
false ^ false | false | ||
NOT (논리 부정) | !true | false | 피연산자의 논리값을 바꿈 |
!false | true |
조건식이 true이면 블록 실행, false이면 실행하지 않음
조건식이 true이면 if문의 블록 실행, false이면 else 블록 실행
조건식이 true이면 if문의 블록 실행, false이면 else 블록 실행, 모든 조건식이 false일 경우 else 블록 실행
변수의 값에 따라 실행문 결정
조건식이 true가 될 때까지만 중괄호 내부를 반복한다. 반복할 때마다 증갑식이 실행되며 초기화식은 조건식과 증감식에서 사용할 루프 카운터 변수를 초기화 한다. 주로 지정된 횟수만큼 반복할 때 사용
조건식이 true가 될 때까지만 중괄호 내부를 반복 실행한다.
먼저 do 중괄호 내부를 실행하고 그 다음 조건식이 true가 되면 다시 중괄호 내부를 반복 실행한다.
for문, while문, do-while문 내부에서 실행되면 반복을 취소한다.
for문, while문, do-while문 내부에서 실행되면 증감식 또는 조건식으로 돌아간다.
자바의 타입은 크게 기본 타입, 참조 타입으로 분류
배열이란?
배열은 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료구조이다.
두가지 형식으로 작성 가능
값의 목록이 있을 경우 사용
타입[] 변수 = {값0, 값1, 값2, 값3, - - - };
값의 목록을 가지고 있지 않지만, 향후 값들을 저장할 배열을 미리 만들고 싶을 경우 사용
타입[] 변수 = new 타입[길이];
이미 배열 변수가 선언된 경우에도 new 연산자로 배열 생성 가능
타입[] 변수 = null;
변수 = new 타입[길이];
배열의 길이란?
배열에 저장할 수 있는 전체 항목의 개수
코드에서 배열의 길이를 얻으려면 다음과 같이 배열 객체의 length 필드를 읽는다.배열 변수.length;
int[][] scores = new int[2][3]
이 코드는 다음과 같이 3개의 배열 객체를 생성한다.
scores.length //2(배열 A의 길이)
scores[0].length //3(배열 B의 길이)
scores[1].length //3(배열 C의 길이)
String[] strArray = new String[3];
strArray[0] = "java";
strArray[1] = "C++";
strArray[1] = "C#";
이 코드는 배열 변수 strArray를 선언하고 3개의 문자열을 참조하는 배열을 생성한다.
package sec02.exam09;
public class ArrayCopyExample {
public static void main(String[] args) {
String[] oldStrArray = { "java", "array", "copy" };
String[] newStrArray = new String[5];
System.arraycopy( oldStrArray, 0, newStrArray, 0, oldStrArray.length);
for(int i=0; i<newStrArray.length; i++) {
System.out.print(newStrArray[i] + ", ");
}
}
}
이 코드는 다음과 같이 배열을 복사시킨다.
복사되지 않은 항목은 String 배열의 초기값 null이 그대로 유지시킨다.
열거 타입이란?
열거 타입은 한정된 값인 열거 항수중에서 하나의 상수를 저장하는 타입이다.
글 정리가 너무 잘 돼있네요~