1. 조건문 ( if, switch )
- 조건문은 조건식과 실행될 하나의 문장 또는 블럭 { }으로 구성
- 주로 if문을 사용하지만 조건혹은 경우의 수가 많으면 switch문을 고려해봐야 한다.
- 조건문 관련 연산자로는 삼항 연산자가 있다. [ (조건) ? (참) : (거짓) ]
1.1 if 문
- if문은 if, if-else, else의 세 가지 형태가 있다.
- 조건식의 결과는 반드시 TRUE( 1 ) 혹은 FALSE( 0 ) 형태로 가야한다
int socore = 70;
if(socore>60){
System.out.println("최초 합격입니다.");
}
else if(socore>50){
System.out.println("추가 합격 대기 상테입니다.");
}
else{
System.out.println("불합격립니다.");
}
※주의사항 ※ 으로는 if랑 if-else는 독립된 조건으로 사용할시 의도치 않게 넘어갈수 있다.
int a = 6;
if(a%2==0){ //true(1)
System.out.println(a+"는 2의 배수");
if(a%3==0){ //true(1)
System.out.println(a+"는 3의 배수");
}
else if(a%6==0){ //true(1)
System.out.println(a+"는 6의 배수");
}
}
1.2 switch 문
- if문의 조건식과 달리, 조건식의 계산결과가 int 범위 이하의 정수만 가능
- 구성은 조건식과 case문, default문으로 나뉘고 조건식의 값이 case 문에 부여된 int값이랑 동일시 해당 case문을 실행하고 일치하는 case문이 없을시 default문을 실행한다.
- case문에는 변수가 아닌 리터럴, 상수만 부여가 가능하다.
※주의사항※ 중간에 break를 넣어 줘야지 case 문이랑 default 문을 동시에 건드리지 못한다.
public class Sample {
public static void main(String[] args) {
int month = 8;
String monthString = "";
switch (month) { // 입력 변수의 자료형은 byte, short, char, int, enum, String만 가능하다.
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}
System.out.println(monthString);
}
}
1.3 if 문과 switch 문의 비교
- 대부분 switch 문은 if문으로 변경이 가능하지만, if문은 switch으로 변경할 수 없는 경우가 많다.
- if 문은 포괄적으로 사용이 가능하지만 특정 수치에 반응하는 코드는 switch문이 더 간결하고 효율적이다.
if(num==1){
System.out.println("SK");
}
else if(num==2){
System.out.println("KTF");
}
else if(num==3){
System.out.println("LG");
}
else{
System.out.println("UNKOWN");
}
switch(num){
case 1:
System.out.println("SK");
break;
case 2:
System.out.println("SK");
break;
case 3:
System.out.println("SK");
break;
default:
System.out.println("UNKOWN");
}
2. 반복문( for, while, do-while )
- 어떤 작업을 반복적으로 실행하고 싶을 때 사용
- 반복횟수가 중요시 for문을 그 외에 상황은 while 문으로 사용한다.
- for문과 while문은 서로 변경이 가능하다.
2.1 for 문
- for 문의 구성 for(초기화식; 조건식; 증감식){실행문;}으로 되어있다.
for(int i=2; i<10; i++) {
for(int j=1; j<10; j++) {
System.out.print(i*j+" ");
}
System.out.println("");
}
2.2 while 문
- while 문의 구성 while(조건식){실행문;}으로 되어있다.
- while 문은 조건식 true일 경우 계속 반복을 한다.
while(i<=10) {
System.out.println(i);
i++;
}
2.3 do - while 문
- do { 실행문; } while (조건식)
int i = 1;
int sum = 0;
do {
sum+=i;i++;
}while(i<=100);
System.out.println("1~100까지의 합:"+sum);
2.4 break 문 과 continue 문
- break 문은 실행시 즉시 반복문이 정지한다.
while(true) {
int num = (int) (Math.random()*6)+1;
System.out.println(num);
if(num ==6) {
break;
}
}
System.out.println("프로그램 종료");
4
3
1
4
6
프로그램 종료
- continue 문은 실행을 하면 뒤에 있는 코드를 무시하고 조건식으로 이동한다.
for(int i=1; i<=10; i++) {
if(i%2!=0) {
continue;
}
System.out.println(i);
}
2
4
6
8
10