컴퓨터에게 여러가지 갈래길을 제시해 주고, 그 중 컴퓨터가 하나의 길을 선택하여서 사용할 수 있게 하는 구문
조건의 값이 참인지 거짓인지 판단하게 하는 구문
if (조건)
// code
조건이 참이라면 code부분을 실행하고, 거짓이라면 if 구문을 무시하고 다음 코드를 실행한다
if (조건) {
// code
// code
}
블록을 이용하면 여러 줄의 코드를 하나의 if 구문 안에 선언할 수 있다


값이 항상 참인 true의 코드는 출력되고, 값이 항상 거짓인 false의 코드는 출력되지 않고 바로 다음 코드를 실행하였다
if 구문의 조건이 거짓이라면 실행되는 구문
if (조건) {
// code
}
else {
// code
}
컴퓨터는 if-else 구문을 하나의 코드 블럭으로 인식하기 때문에 굳이 블럭({})으로 묶을 필요가 없다
if (조건) {
// code
}
else {
if (조건) {
// code
}
else {
// code
}
}
위와 같이 else 안에 또다른 if-else 구문이 들어있다면 else 구문의 중괄호를 생략해도 된다
if (조건) {
// code
}
else if {
// code
}
else {
// code
}
이렇게 보다 높은 가독성을 지니게 할 수 있다
if 구문과 else if 구문 뒤에 나오는 조건은 그 값이 boolean 데이터로 나오거나 boolean 데이터로 표현될 수 있는 하나의 식이 등장할 수 있다
하나 이상의 조건을 검사할 때 사용하는 경우
좌항 || 우함
좌항과 우항을 비교하여 두 표현식 중 어느 하나가 1이거나 0이 아니라면 전체 표현식은 참이 된다
5 == 5 || 5 == 9
5 > 3 || 5 > 10
5 > 8 || 5 < 10
5 > 9 || 5 < 2
좌항 && 우항
좌항과 우항 두 표현식 모두 1이어야 전체 표현식이 참이 된다
5 == 5 && 9 == 9
5 == 5 && 9 != 9
10 < 2 && 10 > 2
!(표현식)
뒤따르는 표현식의 값을 반대로 바꾼다
!true == false
!false == true


표현식의 값에 해당하는 case로 이동하여 그 코드를 실행하는 구문
if-else 구문과 달리 정수값을 기준으로 판단하기 때문에 다른 조건을 검사할 수 있다
선택지가 3개를 넘어가게 된다면 switch 구문을 사용하는 것이 효율적이다
switch (integer-expression)
{
case label1:
// code#1
case label2:
// code#2
case label3:
// code#3
case label4:
// code#4
}



case로 지정해놓은 경우 이외에 다른 수가 들어오게 되면 switch 구문은 실행되지 않는다
switch (integer-expression)
{
case label1:
// code#1
case label2:
// code#2
case label3:
// code#3
case label4:
// code#4
default:
// codeDefault
}
지정한 수 이외의 다른 모든 경우가 default 구문에 대응되어 switch 구문을 실행할 수 있다
프로그래밍 코드의 일부분을 무시하고 건너뛰게 만드는 구문
모든 종류의 루프에서 사용할 수 있다


i의 값이 11이 되었을 때 i의 값이 10보다 크게 되므로 break 구문이 작동하여 while문을 탈출하게 된다
continue 다음의 코드를 무시하고 디사 반복이 새로 시작되도록 하는 구문
반복문에서만 사용할 수 있다

