if문은 주어진 조건이 참일 경우 에 지정된 구문 실행
if(조건) {
..실행할 구문..
..실행할 구문..
..실행할 구문..
}
실행할 구문이 한 줄만 있을 경우 괄호{} 생략 가능
if(조건)
..실행할 구문..
if문의 조건식
-> 비교식(비교 연산자)
-> 논리식(논리 연산자)
-> boolean 값
public class Main {
public static void main(String[] args){
int myage = 20;
if(myage == 19){
System.out.println("19살 입니다.")
} // 결과가 false 이기때문에 출력이 안됨
if(myage > 19) {
System.out.println("성인입니다.")
}
}
}
성인입니다.
public class Main {
public static void main(String[] args){
/*
point가 70보다 크고, 80이하이면 "C학점 입니다." 를 출력,
point가 70이하 또는 80보다 크면 "범위를 벗어났습니다." 를 출력
*/
int point = 85;
// AND(&&) -> 두 조건이 모두 참이어야 전체가 참
if(point > 70 && point <= 80) {
System.out.println("C학점 입니다.")
} // -> point가 85로 조건 중 하나만 참이므로 출력되지 않음
// OR(||) -> 두 조건 중 하나라도 참이면 전체가 참
if(point <= 70 || point > 80) {
System.out.println("범위를 벗어났습니다.");
}
}
}
범위를 벗어났습니다.
public class Main {
public static void main(String[] args) {
boolean is_korean = false;
if(is_korean == true) {
System.out.println("한국사람입니다.");
} // -> is_korean에 할당된 값은 false
// 그러므로 if 조건에서는 false → 출력 X
if( is_korean == false ) {
System.out.println("한국사람이 아닙니다.");
}
// 값 자체가 참이므로 성립된다
// -> is_korean에 true 값이 할당되었을때
if( is_korean ) {
System.out.println("한국사람입니다.");
}
// "!"는 값을 부정한다.
// -> !false → true : 결과적으로 출력
if( !is_korean ) {
System.out.println("한국사람이 아닙니다!!!!!");
}
}
}
한국사람이 아닙니다.
한국사람이 아닙니다!!!!!
그렇지 않으면?
if문의 조건이 참일 경우에 실행되는 구문이라면, if문이 조건과 반대되는 경우에 실행되는 구문이 else문이다.
else문은 독립적으로 실행될 수 없고, 반드시 if문의 뒤에 위치하여야 함
if(조건) {
..실행할 구문..
} else {
..반대 경우에 실행할 구문..
}
public class Main {
public static void main(String[] args){
boolean is_korean = true;
if(is_korean) {
System.out.println("한국 사람 입니다.");
// if의 조건이 참이므로 출력
} else {
System.out.println("한국 사람이 아닙니다.");
}
}
}
한국 사람 입니다.
여러 가지 경우의 수를 분기
if문과 else문 사이에 else if문으로 두 번째 조건, 세번째 조건을 나열 가능
else if문은 필요한 만큼 나열할 수 있으며, 필요치 않은 경우 else문은 생략 가능
if(1차 조건) {
..실행할 구문..
} else if(2차 조건) {
..실행할 구문..
} else if(3차 조건) {
..실행할 구문..
} else if(n차 조건) {
..실행할 구문..
} else {
..반대의 경우에 실행할 구문..
}
public class Main{
public static void main(String[] args) {
int point = 90;
if(90 < point && point <= 100) {
System.out.println("A");
} else if (80 < point && point <= 90) {
System.out.println("B");
// point에 할당된 값이 이 조건에 만족하여 'B' 출력
} else if( 70 < point && point <= 80 ) {
System.out.println("C");
} else {
System.out.println("F");
}
}
}
B
변수 값에 대한 경우의 수를 처리하는 switch문
switch문은 하나의 변수(기준값)에 대한 여러가지 case를 정의하는 구문
if문은 조건식(비교식, 부등식)이 사용될 수 있지만, switch문은 분기 조건이 반드시 일치하는 "값" 에 대해서만 처리 가능
switch(기준값) {
case 값1:
..실행할 구문..
break;
case 값n:
..실행할 구문..
break;
default:
..모든 경우에 충족되지 않을 경우 실행될 기본구문..
break;
}
public class Main {
public static void main(String[] args) {
char grade = 'F';
switch (grade) {
case 'A':
System.out.println("91 ~ 100점 사이 입니다.");
break;
case 'B':
System.out.println("81 ~ 90점 사이 입니다.");
break;
case 'C':
System.out.println("71 ~ 80점 사이 입니다.");
break;
default :
System.out.println("70점 이하입니다.");
break; // break : 조건을 만족하면 switch문을 빠져나간다.
// break을 하지않는다면 할당된 값을 만족하는
// 조건 이후는 전부 출력
// ex) grade에 B를 할당하면 C와 default 출력문도 출력
}
}
}
70점 이하입니다.
public class Main {
public static void main(String[] args) {
// char grade 선언, A,B,C가 있다.
// A or B or C : "Pass" 1번 출력
// A, B, C를 제외한 다른 등급이 올 경우, "Not-Pass" 1번 출력
char grade = 'A';
switch (grade) {
case 'A' :
case 'B' :
case 'C' :
System.out.println("Pass");
break;
default:
System.out.println("Not-Pass");
break;
}
}
}
Pass