조건문 - if, switch
조건문은 조건식과 문장을 포함하는 블럭{}으로 구성되어 있으며, 조건식의 연산결과에 따라서 실행할 문장이 달라져서 프로그램 실행의 흐름을 변경할 수 있다.
< if 문 >
가장 기본적인 조건문이며 조건식과 괄호 { } 로 이뤄져 있다. if의 조건식이 만일 참(true)라면 괄호 { } 안의 문장을 수행하라는 의미다.
scrore = 80;
if (score >60 )
{
System.out.println("합격입니다");
}
< if-else 문>
if-else는 if 구문에 else가 추가된 것으로 if의 조건이 false의 경우 else의 조건을 수행하라는 의미다.
if (input==0)
{
System.out.println("0입니다");
} else {
System.out.println("0이 아닙니다");
}
< if-else if 구문 >
if-else 구문은 2가지 중 한가지가 수행되어야 하는데 그 경우의 수가 여러가지일 경우 만들 수 있는 방법이다.
if (score >= 90) {
grade = 'A' // score가 90보다 크거나 같다면 A 학점
} else if (score >= 80) {
grade = 'B' // 80점보다 크거나 같으면 B 학점
} else if (score >= 70) {
grade = 'C' // 70점보다 크거나 같으면 C 학점
} else {
grade = 'D';
}
System.out.println("당신의 학점은 + "+ grade + "입니다");
< swtich 문 >
if 문은 참과 거짓 밖에 없기 때문에 조건이 여러개일 경우 해당 조건을 모두 적어줘야 한다는 단점이 있다.
switch문은 하나의 조건식으로 많은 경우의 수를 처리할 수 있는 장점이 있다.
System.out.println("현재의 계절을 입력하세요"); // 안내 메시지
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt (); // 키보드에 입력 받은 값을 month에 저장
switch(month) { // month에 대한 switch 시작
case 3 :
case 4 :
case 5 :
System.out.println("현재의 계절은 봄"); // 값 3,4,5가 입력되었을 경우 봄이라고 출력
break; // 값이 3,4,5가 아니라면 아래 케이스로 넘어가기
case 6:
case 7 :
case 8 :
System.out.println("현재의 계절은 여름"); // 값 6,7,8이 입력되었을 경우 봄이라고 출력
break; // 값이 6,7,8이 아니라면 아래 케이스로 넘어가기
case 9 :
case 10 :
case 11 :
System.out.println("현재의 계절은 가을"); // 값 9,10,11이 입력되었을 경우 가을이라고 출력
break; // 값이 9,10,11이 아니라면 아래 케이스로 넘어가기
case 12 :
case 1 :
case 2 :
System.out.println("현재의 계절은 겨울"); // 값 12,1,2이 입력되었을 경우 겨울이라고 출력
default : System.out.println("1~12 이내의 월을 입력하여 주십시오"); // case의 어디에도 해당하지 않았을 때 수행할 문장
break; // 수행 정지
< for 문 >
for 문은 반복하여 수행할 때 유용하다. 특히 반복 횟수를 알고 있을 때 사용하면 편하다.
for(int i=1; i<=10; i++) { // 1부터 시작하여10번까지1씩 증가
System.out.println("I love you");
}
증감식은 이전에도 한번 언급한 적이 있지만 다시 한번 정리하자.
i++ // 1씩 증가
i-- // 1씩 감소
i+=2 // 2씩 증가
i*=3 // 3배씩 증가
증감식도 쉼표를 사용해서 두 문장 이상을 하나로 연결해서 사용가능
for(int i=1, j=10; i<=10; i++, j--);
< while 문 >
while문은 조건식이 '참(true)'가 나오면 끝까지 계속 수행하고, 거짓(false)이 나오면 멈춘다.
int i = 5; // i 를 5라고 선언
while(i--!=0) { // i를 1씩 빼서i가 0이 될 때까지
System.out.println(i + - "I love you"); // i + - I love you를 계속 실행
}
< do-while 문 >
do-while 문은 while문의 변형으로 while과 유사하지만 조건식과 블럭 { } 의 순서가 변경되어 있다.
아래 예제에서 답을 볼 수 있다. 다만 아래 예제는 정답이 랜덤하게 정해지기 때문에 잘 끝나지 않을 것이다.
int input = 0, answer = 0;
answer = (int)(Math.random() * 100) + 1; // 1~100 사이의 임의의 수를 answer에 저장
Scanner scanner = new Scanner(System.in); // scanner 생성
do {
System.out.print("1과 100 사이의 정수를 입력"); // 안내문
Input = scanner.nextInt(); // 키보드에 타이핑 된 수를 입력
if(input >answer) {
System.out.println("더 작은 수로 시도하시오"); // 숫자가 100보다 클 때 출력되는 내용
} else if(input <answer) {
System.out.println("더 큰 수로 시도하시오"); // 숫자가 1보다 작을 때 출력되는 내용
}
} while(input!=answer); // 만일 input 값이 answer의 범위 안에 들어갈 경우
System.out.println("정답입니다");
< continue 문 >
continue 문은 반복문 내에서만 사용할 수 있으며 반복되는 도중에 continue와 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다.
for(int i=0; i <= 10; i++) { // i가 0부터 시작해서 10까지 1씩 더해짐
if (i%3==0) // 결과가 3의 배수라면
continue; // continue의 실행으로 결과가 블럭의 끝 } 으로 이동한다. 즉 System.out.println을 지나치기 때문에 아무것도 출력되지 않는다.
System.out.println(i);
}
'교육' 카테고리의 다른 글
SQL 명령문 살펴보자 (0) | 2018.05.21 |
---|---|
빅데이터 교육과정 6월 개강 안내 (0) | 2018.05.17 |
자바(JAVA) 연산자 알아보기 (0) | 2018.05.16 |
자바로 메모장 만들기 (0) | 2018.05.11 |
JSP학원 KIC캠퍼스에서 무료로 교육받자 (0) | 2018.05.10 |