본문 바로가기

Java

[자바의정석/4]조건문과 반복문이란

728x90
반응형

조건문 - if, switch

만일(if) 조건식이 참(true)이면 괄호 {} 안의 문장들을 수행해라
//if문에 사용되는 조건식을 일반적으로 비교연산자와 논리연산자로 구성된다.
if(90<=x)
//보통 위와 같이 사용된다.
if(!0)
//0은 false를 뜻하므로 0의 부정은 true이다.
if(!1)
//1은 true를 뜻하므로 1의 부정은 false이다.
switch문의 조건식 결과는 정수 또는 문자열이여야 한다.
case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.
switch(조건식) {
	case 값1 :
    	//조건식의 결과가 값1과 같을 경우 수행됨.
        break;
    case 값2 :
    	//조건식의 결과가 값2과 같을 경우 수행됨.
    case 값3 :
    	//만약 break문을 생략하면 case문 사이에 구분이 없어지므로
        //다른 break문을 만나거나 switch문 블럭을 만날때까지 계속 진행됨.
    default :
    	//조건식의 결과와 일차하는 case문이 없을 때 수행됨.

반복문 - for, while, do-while

정말 자주 사용되는 for문을 알아보자.

for(초기화; 조건식; 증감식) {
	//조건이 참일 경우에 실행될 문장들...
    
    
for( ; ; ) {
	//이 경우에 무한 반복
증감식에 너무 자주 i++ 을 많이 사용하니까 가끔 i+=2, i*=3 같은 증감식을 잊는 경우가 많다.
if문을 사용하여 조건을 줘도 되지만 for문 안에서 조건을 줘도 된다. 
//백준에서 scanner나 StringBuilder를 자주 사용한다.
//입력 값을 받아 변수에 대입하게 된다.
//대표적인 별찍기 for문 예제
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

for(int i=0; i<num; i++) {
	for(int j=0; j<=i; j++) {
    	System.out.print("*");
    }
    System.out.println();
 }

향상된 for문

JDK1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있다.

for(타입 변수명 : 배열 또는 컬렉션)
타입은 배열 또는 컬렉션의 요소여야 한다.

while문

while() {
	//조건식의 연산결과가 참인 동안, 반복될 문장들..
for문과 달리 while문의 조건식은 생략할 수 없다. 
int i=5;
while(i--!=0) {
	System.out.println(i);
}
//결과 i-- 후위형이니 조건식이 평가된 후 감소된다.
//4
//3
//2
//1
//0

do-while문

do {
	//조건식의 연산결과가 참일 때 수행될 문장들..
    //최소 한번은 실행된다.
} while(조건식);
break : 자신이 포함된 가장 가까운 반복문 벗어남
continue : 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행

이름 붙은 반복문

Loop1 : for(int i=2; i<=9; i++) {
	for(int j=1; j<=9; j++) {
    	if(j==5)
        	break Loop1;	//Loop1 이름 for문 벗어남
            break;	//2번째 for문만 벗어남
            continue Loop1;
            continue;
        System.out.println(i + "*" + j + "=" + i*j);
    }	//end of for i
    System.out.println();
 }	//end of Loop1
728x90
반응형

'Java' 카테고리의 다른 글

[자바의정석/6]객체지향 프로그래밍이란  (2) 2023.10.25
[자바의정석/5]배열이란  (1) 2023.10.20
[자바의정석/3]연산자란  (0) 2023.10.17
[자바의정석/2]변수란  (1) 2023.10.16
[자바의정석/1]Java란  (1) 2023.10.16