Boolean
boolean 자료형은 참 또는 거짓(true/false)의 값을 갖는다.
boolean 연산은 조건문의 판단 기준으로 많이 사용한다.
System.out.println(1 < 3);
-> true
System.out.println(1 > 3);
-> false
Single equal(=) - assign
assign → single equal (=) ⇒ 변수에 값을 지정 / 값에 이름을 붙여줌.
x = 1;
x라는 변수에 1을 할당했다고 표현이 된다.
boolean result = 1 = 1;
System.out.println(result);
-> 1 error
result에다 1을 할당해주고 또 1을 할당해준다는 의미는 말이 안되기 때문에 에러가 발생
Double equal(==) - compare
compare → double equal(==) ⇒ 두 값이 같은지 비교.
boolean result = 1 == 1;
System.out.println(result);
-> true
result에 1을 할당해주고 그 값이 1과 같냐고 비교하는 의미
조건문 if
if문은 가장 기본적인 조건문이다. '만일(if) 조건식이 참(true)이면 괄호 {} 안의 문장들을 수행하라' 라는 의미이다.
if문 구조
if(조건식) {
실행문; // 조건식이 참(true)일 때 수행될 문장
}
조건식이 참(true)이면 실행문을 실행한다. 거짓(false)이면 실행하지 않고 넘어간다.
if ~ else문의 구조
if (조건식) {
// 조건식이 참(true)일 때 수행될 문장
} esle {
// 조건식이 거짓(false)일 때 수행될 문장
}
else는 조건식의 결과가 참이 아닐 때, 거짓일 때 else블럭의 문장을 수행한다.
if ~ else if문 구조
if ~ else 문은 두 가지 경우 중 하나가 수행되는 구조인데, 처리해야 할 경우의 수가 셋 이상인 경우에는 if ~ else if문을 사용한다.
if (조건식1) {
// 조건식1의 결과가 참(true)일 때 수행될 문장
} else if (조건식2) { // 여러개의 else if를 사용 할 수 있다
// 조건식2의 결과가 참(true)일 때 수행될 문장
} else if (조건식3) {
// 조건식3의 결과가 참(true)일 때 수행될 문장
} else { // else블럭은 생략 가능
// 위의 어느 조건식도 만족하지 않을 때 수행될 문장
}
첫 번째 조건식부터 순서대로 평가해서 결과가 참인 조건식을 만나면, 해당 블럭 {}만 수행하고, 'if ~ else if'문 전체를 벗어난다.
연산자의 우선순위
비교 연산자는 연산 순위가 낮다
논리연산자
&&(AND)
-> 피연산자 모두 true여야 true의 값을 얻는다. 하나라도 false면 false의 값을 얻음
||(OR)
-> 피연산자 한 쪽만 true면 true의 값을 얻을 수 있다.
비트연산자
비트연산자는 피연산자를 비트단위로 논리 연산한다.
|(OR) : 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다.
&(AND) : 피연산자 양 쪽의 값이 모두 1이어야만 1을 결과로 얻는다.
^(XOR) : 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다
~(NOT) : 피연산자의 값을 반대로 바꾸는 연산자 1 > 0, 0 > 1
중복제거
프로그래밍을 할때 중복을 제거하는 것이 중요하다.
if (answer1 == x + y && answer2 != x * y) {
System.out.println(”Muggle!”);
}
if (answer1 != x + y && answer2 == x * y) {
System.out.println(”Muggle!”);
}
(중복 제거) →
if ((answer1 == x + y && answer2 != x * y) || (answer1 != x + y && answer2 == x * y)) {
System.out.println(”Muggle!”);
}
관심사에따라 분리하기 위해 변수를 사용한다.
중복이 있으면 찾아서 정리하기 -> 관심사의 분리 이기도 하면서 중복을 제거한것
변수를 만들면 여러번 사용이 가능하다. (재사용 가능)
'Java' 카테고리의 다른 글
배열 (0) | 2022.05.22 |
---|---|
반복문 - for문 (0) | 2022.05.22 |
입출력 (0) | 2022.05.15 |
변수와 타입 (0) | 2022.05.15 |
Hello, World (0) | 2022.05.15 |