논리연산자는 조건문을 보조하는 역할입니다.
둘다 참이면 참이고, 둘 중 하나라도 거짓이면 전체는 거짓이 되는 논리연산자입니다.
[예제]
if (true && true) { //참
System.out.println(1);
}
if(true && false) { //거짓
System.out.println(2);
}
if(false && true) { //거짓
System.out.println(3);
}
if(false && false) { //거짓
System.out.println(4);
}
둘 중에 하나라도 참이면 전체가 참이 되는 논리연산자입니다.
[예제]
if(true || true) { //참
System.out.println(1);
}
if(true || false) { //참
System.out.println(2);
}
if(false || true) { //참
System.out.println(3);
}
if(false || false) { //거짓
System.out.println(4);
}
부정을 의미하는 연산자입니다.
[예제]
if (!true) { //거짓
System.out.println(1);
}
if (!false) { //참
System.out.println(2);
}
참고 :http://www.tcpschool.com/java/java_operator_bitwise
두비트가 모두 1일때만 1을 반환하고, 다른 경우는 모두 0을 반환합니다.
하나라도 1이면 1을 반환하고, 두비트가 모두 0일때만 0을 반환합니다.
두비트가 서로 다르면 1을 반환, 같으면 0을 반환합니다.
1이면 0을 반환, 0이면 1을 반환합니다.
반복문은 반복적인 작업을 뜻하며, 영어로는 루프(loop)라고도 하고 이터레이션(iteration)이라고도 합니다.
while문의 형식은 아래와 같습니다.
while(조건){
반복 실행 영역
}
while문은 조건식이 참인 반복실행영역을 수행하고 다시 조건식을 검토해서 참이라면 수행을 반복하는 기능을 가진 반복문입니다.
아래 예제와 같이 무한반복이 되지 않도록 i<10이라는 조건을 주어서 정상실행되게 합니다.
[예제]
int i = 0;
while(i<10){
System.out.println("Coding Everybody"+i);
i++; //i=i+1과 같다.
}
참고로 while(true)와 같이 조건식에 true값을 주게되면 무한루프가 되어 무한대로 조건을 수행하게 됩니다. 서비스가 멈추면 안되는 웹서버 같은데 사용한다고 합니다.
for문은 while문을 기반으로 한다고 생각하면 됩니다. for문을 이용하면 while문보다 코드를 훨씬 간결하게 표현할 수 있습니다. for문은 특정한 횟수만큼 반복 실행을 하는 경우에 자주 사용됩니다. 하지만 for문이나 while문이나 서로 대체 가능합니다. 취향에 따라서 선택하면 됩니다.
for문의 형태
for(초기화; 종료조건; 반복실행){
반복적으로 실행될 구문
}
[예제]
for(int i=0;i<10;i++) {
System.out.println("Coding Everybody " + i);
}
[출력결과]
Coding Everybody 0
Coding Everybody 1
Coding Everybody 2
Coding Everybody 3
Coding Everybody 4
Coding Everybody 5
Coding Everybody 6
Coding Everybody 7
Coding Everybody 8
Coding Everybody 9
위에 있는 while문 예제와 출력결과가 같습니다.
1) false와 true에 대한 주의점.
char a = 0, b = 50; // 0만 아니면 true
a && b = false
a || b = true
2) 논리 연산자와 비트 연산자에 대한 차이도 알고있는게 좋겠지요.
0b0011
& 0b0110
=0b0110