1.반복제어


반목문의 경우 의도적으로 무한 반복 구문으로 만들고


조건을 통해서 만족할 경우에 빠져나오게끔 설정 할 수 있는데 사용하는 문구가 break이다.


continue는 반복문이 문구를 만났을때 반복문을 현재 반복 실행내용을 종료하고 반복문의 처음으로 돌아가 실행하는 문구이다.


다음 간단한 예제로 확인해보자.



package chap02.ex08.conbk;

public class Breakstmt {

	public static void main(String[] args) {
		// i가 3일 경우 더 이상 실행하지 않고 빠져나감
		for(int i = 1; i <= 10; i++) {
			if(i==3) {
				break; // 반복문을 빠져나간다.
//				continue; // 아래를 실행하지 않고 넘어간다.
			}
			System.out.println(i);
		}
	}

}


'개념 및 코딩 > 02.조건문, 반복문' 카테고리의 다른 글

[JAVA]02-04.While, Do-While 문  (0) 2018.08.22
[JAVA]02-03.For 반복문  (0) 2018.08.22
[JAVA]02-02.Switch Case  (0) 2018.08.22
[JAVA]02-01.if 조건문  (0) 2018.08.22

1. While, Do-While 문


while(조건){ 내용 }


do{

내용

} while(조건)



while문은 조건이 true일 경우 내용을 실행하고 다시 조건을 확인한다, false일 경우는 반복문에서 나온다.


do-while문은 먼저 내용을 실행하고나서 조건을 확인하여 반복을 실행할지 결정한다.


일반적으로 while 조건을 true로 설정해놓고 무한 반복을 주고


원하는 값이 나오면 break; 를 사용하여 반복을 종료한다.


아래의 예제로 while의 사용법을 확인하자


package chap02.ex07.whileEx;

public class WhileStmt {

	public static void main(String[] args) throws InterruptedException {
		// while은 조건이 true면 계속 돈다.
		int i = 1;
		while(true){
			System.out.println(i + "회 반복");
			i++;
			if(i >= 777778) {
				break;
			}
		}
		// 만약 break를 쓰지 않았다면 오류 코드 unreachable code가 뜨고 아래를 실행 할 수 없다.
		System.out.println("반복 종료");
	}

}


아래의 예제는 do-while문을 이용한 채팅이다.


package chap02.ex07.whileEx;

import java.util.Scanner;

public class DoWhileStmt {

	public static void main(String[] args) {
		System.out.println("000님이 입장 하셨습니다.");
		System.out.println("q를 입력하면 종료됩니다.");
		String msg = "";
		Scanner scanner = new Scanner(System.in);
		
		// do while은 일단 저지르고 조건을 본다.
		do {
			System.out.print(">");
			msg = scanner.nextLine();
			System.out.println("당신 >" + msg);
		}while(!msg.equals("q"));
		
		System.out.println("@@@@");
		System.out.println("채팅이 종료되었습니다.");
		System.out.println("@@@@");
		scanner.close();
	}

}


'개념 및 코딩 > 02.조건문, 반복문' 카테고리의 다른 글

[JAVA]02-05.반복 제어 continue, break  (0) 2018.08.22
[JAVA]02-03.For 반복문  (0) 2018.08.22
[JAVA]02-02.Switch Case  (0) 2018.08.22
[JAVA]02-01.if 조건문  (0) 2018.08.22

1.For 반복문


for(초기식; 조건식; 증감식) {

반복 할 내용

}


for문은 위와같은 형식으로 사용하며 조건식이 true일 경우 계속 반복해서 내용에 작성한 코드를 실행한다.


다음 예제를 통해 사용법을 확인해보자



package chap02.ex06.forEx;

public class ForStmt {

	public static void main(String[] args) {
		// for(이녀석이; 이것을 만족하면 끝나고; 증가 또는 감소)
		// 물 10잔 떠오기
		for(int cup = 1; cup <=10; cup++) { // int cup은 지역변수!
			System.out.println("물 " + cup + "잔 떠 왔습니다.");
		}
		
		// 한 잔의 커피에 설탕을 2스푼씩 넣어라
		//총 10잔의 커프를 타라
		int sugar = 0;
		
		for(int cup = 1; cup <= 10; cup++) { // 위의 for문에서 cup이 지역변수로 해제됬으므로 다시 한번 선언
			System.out.println("커피 " + cup + "잔 째");
			
			for(int spoon = 1; spoon <= 2; spoon++) {
				System.out.println("설탕 : " + spoon + "추가");
				sugar++;
			}
		}
		System.out.println("설탕 총 합 : " + sugar);
	}
}


'개념 및 코딩 > 02.조건문, 반복문' 카테고리의 다른 글

[JAVA]02-05.반복 제어 continue, break  (0) 2018.08.22
[JAVA]02-04.While, Do-While 문  (0) 2018.08.22
[JAVA]02-02.Switch Case  (0) 2018.08.22
[JAVA]02-01.if 조건문  (0) 2018.08.22

1.Switch Case

먼저 Switch Case문은 


Switch(구분 값){

case "값1" :

내용1

case "값2" :

내용2

case "값3" :

내용3

}


위와 같이 사용하며


구분 값을 설정하고 만약 그 값이 값1이라면 내용1을 실행


값2라면 내용2를 실행한다.


알맞은 값의 내용을 실행하는 구문이고 따로 구문을 해제하지 않으면 밑으로 쭉 실행되므로


내용 밑에 break;를 넣어 끝남을 명시해줘야 함


다음 예제는 if else문으로 만든 자판기를 Switch Case문으로 다시 만든 것입니다.

package chap02.ex05.switchStmt;

import java.util.Scanner;

public class Japangi {

	public static void main(String[] args) {
		//if~else -> switch
		System.out.print("음료를 선택 하세요.(펩시, 코카콜라, 맥스웰, 생수) : ");
		Scanner scanner = new Scanner(System.in);
		String item = scanner.nextLine();
//		if(item.equals("펩시")) {
//		System.out.println("당신은 펩시충입니까?");
//		}
//		if(item.equals("코카콜라")) {
//			System.out.println("당신은 코카충입니까?");
//		}
//		if(item.equals("맥스웰")) {
//			System.out.println("이것은 블루하와이 입니다.");
//		}
//		if(item.equals("생수")) {
//			System.out.println("미네랄이 풍부한 수돗물을 정수한 생수입니다.");
//		}
//		if(item.equals("펩시")) {
//			System.out.println("당신은 펩시충입니까?");
//		}
//		else if(item.equals("코카콜라")) {
//			System.out.println("당신은 코카충입니까?");
//		}
//		else if(item.equals("맥스웰")) {
//			System.out.println("이것은 블루하와이 입니다.");
//		}
//		else if(item.equals("생수")) {
//			System.out.println("미네랄이 풍부한 수돗물을 정수한 생수입니다.");
//		}
//		else {
//			System.out.println("항목에 해당하는 음료만 골라요;;");
//		}
		
		
		// JDK 1.6버전 부터 case에 문자열 사용 가능
		// Switch는 case의 조건을 메모리에 다 담아서 메모리를 조금 더 쓰고 속도가 if보다 조금 더 빠르다.
		switch(item) {
			case "펩시":
				System.out.println("당신은 펩시충입니까?");
				break;
			case "코카콜라":
				System.out.println("당신은 코카충입니까?");
				break;
			case "맥스웰":
				System.out.println("이것은 블루하와이 입니다.");
				break;
			case "생수":
				System.out.println("미네랄이 풍부한 수돗물을 정수한 생수입니다.");
				break;
			default:
				System.out.println("항목에 해당하는 음료만 골라요;;");
		}
		scanner.close();
	}

}


'개념 및 코딩 > 02.조건문, 반복문' 카테고리의 다른 글

[JAVA]02-05.반복 제어 continue, break  (0) 2018.08.22
[JAVA]02-04.While, Do-While 문  (0) 2018.08.22
[JAVA]02-03.For 반복문  (0) 2018.08.22
[JAVA]02-01.if 조건문  (0) 2018.08.22

1.if 조건문


if조건문은 괄호 안()에 조건을 입력하여 참일 경우에 {} 중괄호 안의 내용을 수행하고


조건에 맞지 않을 경우에는 아래로 통과하고 else if로 조건과 기능을 추가 할 수 있다.


else는 설정한 조건이 전부 맞지 않을경우 실행된다.


형식은 아래와 같다.


if (조건문) {

내용

} else if (조건문) {

내용

} else {

내용

}


조건문은 true false값을 받는다.


아래의 예제를 통해 이해해보자.



package chap02.ex04.ifstate;

public class condition {

	public static void main(String[] args) {
                if (true) {
			System.out.println("무조건 실행");
		}
		if(false) {
			System.out.println("데드코드");
		}
		Boolean a = true;
		Boolean b = false;
		if(a == true) {
			System.out.println("실행 됨");
		}
		if(b == true) {
			System.out.println("실행 안됨");
		}
		if(a) {
			System.out.println("a는 true 이므로 실행");
		}
		if(!b) {
			System.out.println("b의 반전은 true 이므로 실행");
		}
	}
	}
	
}



이번에는 if문과 연산자를 이용해서 자판기를 만들어보자.


Scanner는 콘솔에 값을 읽을 수 있게끔 하는 코드이다. 나중에 클래스를 배우고 보면 이해가 될 것이다.


package chap02.ex04.ifstate;

import java.util.Scanner;

public class Japangi {

	public static void main(String[] args) {

		//돈과 음료를 선택
		//{콜라 : 2,000, 사이다 : 1,000, 주스 : 1,000, 생수 : 500}
		Scanner scan = new Scanner(System.in);
		Scanner scan2 = new Scanner(System.in);
		String item;
		int money = 0;
		int insert = 0;
		int result = 0;

		System.out.println("음료를 골라주세요!(콜라, 사이다, 주스, 생수)");
		item = scan.nextLine();
		System.out.println("선택한 음료 : " + item);
		if(item.equals("콜라")) {
			System.out.println("콜라는 2,000원 입니다.");
			money = 2000;
		} else if(item.equals("사이다")) {
			System.out.println("사이다는 1,000원 입니다.");
			money = 1000;
		} else if(item.equals("주스")) {
			System.out.println("주스는 1,000원 입니다.");
			money = 1000;
		} else if(item.equals("생수")) {
			System.out.println("생수는 500원 입니다.");
			money = 500;
		}
		
		System.out.println("투입할 돈을 입력해주세요!");
		insert = Integer.parseInt(scan2.nextLine());
		if(insert > money) {
			result = insert - money;
			System.out.println("잔돈은 " + result + "원 입니다. " + item + "을(를) 아래에서 가져가세요.\n제가 가지겠습니다. 안녕히 가십시오.");
		} else if(insert == money) {
			System.out.println("잔돈은 0원 입니다. " + item + "을(를) 아래에서 가져가세요. 안녕히 가십시오.");
		} else if(insert < money) {
			result = money - insert;
			System.out.println("돈이 " + result + "원 만큼 부족합니다. 경찰을 불렀으니 잠시만 기다려주세요.");
		}
		scan.close();
		scan2.close();
	}

}


'개념 및 코딩 > 02.조건문, 반복문' 카테고리의 다른 글

[JAVA]02-05.반복 제어 continue, break  (0) 2018.08.22
[JAVA]02-04.While, Do-While 문  (0) 2018.08.22
[JAVA]02-03.For 반복문  (0) 2018.08.22
[JAVA]02-02.Switch Case  (0) 2018.08.22

+ Recent posts