Java/Basic

[Java Basic]실행 흐름과 컨트롤(윤성우의 열혈 Java 프로그래밍)

bangle0621 2020. 12. 23. 05:34

if 문과 if ~ else 문

if문

if (조건문){

         실행문

             }

 

if ~ else 문

if(조건문){

         실행문

}

else{

          실행문

}

class IEBasic {
	public static void main(String[] args){
		int n1 = 5;
		int n2 = 7;

		//if문
		if(n1 < n2){
			System.out.println("n1 < n2 is true");
		}
		//if ~ else 문
		if(n1 == n2){
			System.out.println("n1 == n2 is true");
		}
		else{
			System.out.println("n1 == n2 id false");
		}
	}	
}

 

else ~ if 문

if(조건문){

       실행문

            }

else if(조건문){

       실행문

           }

else {

       실행문

       }

class IEIE{
	public static void main(String[] args){
		int num = 120;
		if(num < 0) 	//먼저 검사
			System.out.println("0 미만");
		else if(num < 100) //위 조건이 만족되지 않으면 여기서 다시 검사
			System.out.println("0 이상 100 미만");
		else 		//아무것도 만족되지 않으면 else에 속한 문장 실행
			System.out.println("100 이상");
	}
}

Switch 와 Break

class SwitchBasic{
	public static void main(String[] args){
		int n = 3;

		switch(n){
		case 1:
			System.out.println("Simple Java");
		case 2:
			System.out.println("Funny Java");
		case 3:
			System.out.println("Fantastic Java");
		default:
			System.out.println("The best programming language");
		}

		System.out.println("Do you like java?");
	}
}

switch(n) 여기서 n 에 해당하는 숫자가 1,2,3,4 이런 형태로 나와서 case1 case2 이곳으로 가는것이다.

다만 해당 숫자에 가서도 뒤에 나오는 것들이 다 출력되는 것을 볼 수 있다.

그러지 않으려면 여기서 Break 문을 사용하면 된다.

class SwitchBreak{
	public static void main(String[] args){
		int n = 3;
		switch(n){
		case 1:
			System.out.println("Simple Java");
			break;
		case 2:
			System.out.println("Funny Java");
			break;
		case 3:
			System.out.println("Fantastic Java");
			break;
		default:
			System.out.println("The best programming language");
		}
		System.out.println("Do you like java?");
	}
}

Break문을 사용시 위처럼 해당 case 만 출력되고 밖으로 나가게 된다.

 

 

class CondOp{
	public static void main(String[] args){
		int num1 = 50;
		int num2 = 100;
		int big;
		int diff;

		big = (num1 > num2) ? num1 : num2;
		System.out.println("큰 수는 :" + big);

		diff = (num1 > num2) ? (num1 - num2) : (num2 - num1);
		System.out.println("절댓값 :" + diff);
	}
}

참일경우 앞의 값, 거짓일 경우 뒤의 값이 출력된다.

(조건문:참) ? num1 : num2;

num1 이 출력

(조건문:거짓) ? num1 : num2;

num2 이 출력

 

for문

class ForBasic{
	public static void main(String[] args){
		for(int i=0; i<5;i++)
			System.out.println("I love Java" + i);
	}
}

결과

While 문

class WhileBasic{
	public static void main(String[] args){
		int num=0;

		while(num<5){
			System.out.println("I like Java" + num);
			num++;
		}
	}
}

결과

Do While 문

while 문과는 달리 일단 DO! 한번은 실행해준 뒤 조건을 확인한다.!

class DoWhileBasic{
	public static void main(String[] args){
		int num = 0;

		do {
			System.out.println("I like Java" + num);
			num++;
		}while(num<5);
	}
}

결과

Continue 사용

class ContinueBasic{
	public static void main(String[] args){
		int num = 0;
		int count = 0;

		while((num++)<100){
			if(((num%5)!=0)||((num%7)!=0))
				continue;
			count++;
			System.out.println(num);	//5와 7의 배수인 경우에만 실행
		}
		System.out.println("count : " + count);
	}
}

continue 를 사용한다면 밑으로 가지 않고 (해당 경우에선 count++ 로 가지않고) 위의 조건문으로 다시 간다

이 경우엔 num 가 5와 7의 배수일 경우에만 count 가 된다.

 

BreakPoint

class BreakPoing{
	public static void main(String[] args){
		for(int i = 1;i<10;i++){
			for(int j=1;j<10;j++){
				if((i*j)==72){
					System.out.println(i + "X" + j + "=" + i*j);
					break;
				}
			}
		}
	}
}

 

위에서 처음에 나왔을 때 나오고 싶다면 밑에처럼 outer 를 잡아준다.

class LabeledBreakPoing{
	public static void main(String[] args){
		outer: for(int i=1; i<10;i++){
			for(int j=1;j<10;j++){
				if((i*j)==72){
					System.out.println(i+"X"+j+"="+i*j);
					break outer;
				}
			}
		}
	}
}