본문 바로가기
코리아 IT아카데미/Java

3일차 | if, for(구구단, 이중for문), while, do while, break, continue

by Sharon kim 2021. 10. 20.
복습 순서 메모
ch04>
if
for
while
break
continue
수업내용 정리하기

if문 : 성적 출력 

package ch04;

public class IfMainTest {
	//main function_start of code
	public static void main(String[] args) {
		
		// 제어문 if 
		// 주어진 조건에 따라서 실행이 이루어지도록 구현한다.
		// 만약 ...이라면
		
		boolean flag = false;
		//if 문 단독 사용 방법
		if(flag) {
			System.out.println("조건식 결과가 true이면 실행 된다.");
		}//end of if
		
		//if else 문
		if(flag) {
			System.out.println("true이면 실행");
		}else {
			System.out.println("flase이면 실행");
		}
		
		//if else if else 문
		int point = 40;
		
		if(point >= 90) {
			System.out.println("A학점입니다.");
		}else if(point >= 80) {
		    System.out.println("B학점입니다.");
		}else if(point >=70) {
			System.out.println("C학점입니다.");//조건식 : true
		}else if(point >=60) {
			System.out.println("D학점입니다.");
		}else{
			System.out.println("F학점입니다.");
		}

	}// end of main

}//end of class

if문 : 성적 출력 (논리연산자, 방어적 코드, 스캐너 사용)

package ch04;

import java.util.Scanner;

public class IfMainTest2 {
	//main function _ start of code
	public static void main(String[] args) {

		System.out.println("성적을 입력해 주세요 : ");
		
		Scanner scanner = new Scanner(System.in);
		int point = scanner.nextInt();
		char result = 'Z';
		
		//문제1. if 문을 사용해서 학점을 출력해 주세요.
		//100 ~ 90 : A
		//90~80 : B
		//80~70 : C
		//70~60 : D
		//60~ : F
		
		if(point <= 100 && point >= 90) {
			result = 'A';
		}else if(point < 90 && point>= 80) {
			result = 'B';
		}else if(point < 80 && point >= 70) {
			result = 'C';
		}else if(point < 70 && point >= 60) {
			result = 'D';
		}else if (point < 60 && point >= 0) {
			result = 'F';
		}
		
		//방어적 코드
		if(result != 'Z') {
			System.out.println("당신의 학점은 "+ result +"입니다.");
		}else {
			System.out.println("잘못된 입력입니다.");
		}
		
		
	}//end of main

}//end of class

 


for문 : 1~10까지 더하기

package ch05;

public class ForMainTest {
	
	//main function_start of code
	public static void main(String[] args) {
		
		/** 슬러시** : 여러줄 주석
		 * for(초기화식; 조건식; 증감식){
		 * 		수행문;
		 * }
		 */
		//for문을 이용해서 1부터 10까지 덧셈 연산
		//연산에 담을 결과를 위해서 변수가 필요하다.
		int sum = 0;
		for(int i = 1; i <= 10; i++) {
			//sum = sum + i; 
			sum += i;
			//System.out.println("i의 현재값 : "+ i);
		}//end of for
	
		System.out.println("sum : " + sum);
	}//end of main

}//end of class

for문 : 구구단 반복을 for문으로 변경

package ch05;

public class ForMainTest2 {
	//main function_start of code
	public static void main(String[] args) {
		
		// 구구단 2단을 먼저 출력해 주세요.
		int num = 2;
		System.out.println(num + " * 1 = "+(num * 1));
		System.out.println(num + " * 2 = "+(num * 2));
		System.out.println(num + " * 3 = "+(num * 3));
		System.out.println(num + " * 5 = "+(num * 5));
		System.out.println(num + " * 6 = "+(num * 6));
		System.out.println(num + " * 7 = "+(num * 7));
		System.out.println(num + " * 8 = "+(num * 8));
		System.out.println(num + " * 9 = "+(num * 9));

		System.out.println("-------------------------");
		// 구구단 3단을 먼저 출력해 주세요.
		
		num = 3;
		System.out.println(num + " * 1 = "+(num * 1));
		System.out.println(num + " * 2 = "+(num * 2));
		System.out.println(num + " * 3 = "+(num * 3));
		System.out.println(num + " * 5 = "+(num * 5));
		System.out.println(num + " * 6 = "+(num * 6));
		System.out.println(num + " * 7 = "+(num * 7));
		System.out.println(num + " * 8 = "+(num * 8));
		System.out.println(num + " * 9 = "+(num * 9));
		
		System.out.println("-------------------------");
		// 구구단 4단을 먼저 출력해 주세요.
		
		num = 4;
		System.out.println(num + " * 1 = "+(num * 1));
		System.out.println(num + " * 2 = "+(num * 2));
		System.out.println(num + " * 3 = "+(num * 3));
		System.out.println(num + " * 5 = "+(num * 5));
		System.out.println(num + " * 6 = "+(num * 6));
		System.out.println(num + " * 7 = "+(num * 7));
		System.out.println(num + " * 8 = "+(num * 8));
		System.out.println(num + " * 9 = "+(num * 9));
		
		System.out.println("-------------------------");
		// 구구단 5단을 먼저 출력해 주세요.
		
		num = 5;
		System.out.println(num + " * 1 = "+(num * 1));
		System.out.println(num + " * 2 = "+(num * 2));
		System.out.println(num + " * 3 = "+(num * 3));
		System.out.println(num + " * 5 = "+(num * 5));
		System.out.println(num + " * 6 = "+(num * 6));
		System.out.println(num + " * 7 = "+(num * 7));
		System.out.println(num + " * 8 = "+(num * 8));
		System.out.println(num + " * 9 = "+(num * 9));
		
		System.out.println("-------------------------");
		// 구구단 6단을 먼저 출력해 주세요.
		
		num = 6;
		System.out.println(num + " * 1 = "+(num * 1));
		System.out.println(num + " * 2 = "+(num * 2));
		System.out.println(num + " * 3 = "+(num * 3));
		System.out.println(num + " * 5 = "+(num * 5));
		System.out.println(num + " * 6 = "+(num * 6));
		System.out.println(num + " * 7 = "+(num * 7));
		System.out.println(num + " * 8 = "+(num * 8));
		System.out.println(num + " * 9 = "+(num * 9));
		
		System.out.println("-------------------------");
		// 구구단 7단을 먼저 출력해 주세요.
		num=7;
		for(int i = 1; i <= 9; i++) {
			System.out.println(num + " * " + i + " = "+(num * i));
		}
		
		System.out.println("-------------------------");
		// 구구단 8단을 먼저 출력해 주세요.
		num = 8;
		for(int i = 1; i <=9; i++) {
			System.out.println(num + " * "+ i +" = "+(num * i));
		}
		System.out.println("-------------------------");
		// 구구단 9단을 먼저 출력해 주세요.
		num = 9;
		for(int i = 1; i <=9; i++) {
			System.out.println(num + " * "+ i +" = "+(num * i));
		}

	}//end of main

}//end of class

 이중 for문 : 2~9단까지 출력

package ch05;

public class ForMainTest3 {
	//main function_start of code
	public static void main(String[] args) {
		
		//1부터 9까지 반복
//		for(int i = 1; i <= 9; i++) {
//			
//			for(int j = 1; j <= 9; j++) {
//
//				System.out.println(num + " * "+ i +" = "+(num * i));
//			}
//		}
		//이중 for문으로 구구단 2~9 까지 출력해 주세요.
		int num = 0;
		for(num = 2; num <=9; num++ ) {
			//2 ~ 9까지 반복한다.
			
			for(int i = 1; i <= 9; i++) {

				System.out.println(num + " * "+ i +" = "+(num * i));
				
			}
			System.out.println();
		}

while문 : 1~10까지 더하기

package ch05;

public class WhileMainTest {
	//main function_start of code
	public static void main(String[] args) {
		
		// 1~10까지 덧셈 연산

		int num = 1;
		int sum = 0;
		while(num <= 10) {
			System.out.println("현재값 : " + num);
			sum += num;
			num++; 
			
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//Thread.sleep(1000); //->surround with 선택
		}//end of while
		
		System.out.println("연산의 결과값은 : " + sum + "입니다.");
		
		
	}//end of main

}//end of class

while문 : 양수를 입력 받아서 1부터 덧셈 연산한 결과값 구하기

package ch05;

import java.util.Scanner;

public class WhileMainTest2 {

	public static void main(String[] args) {
		
		//상수에 담는 값을 스캐너를 이용해서 코드를 수정해 주세요
		System.out.println("1부터 x까지 더할");
		System.out.println("x값을 입력해 주세요\n x = ");
		Scanner scanner = new Scanner(System.in);
		
		final int LIMIT_VALUE = scanner.nextInt();
	
		//final int LIMIT_VALUE = 1000;
		int num = 1;
		int sum = 0;
		
		while(num <= LIMIT_VALUE) {
			
			sum = sum + num;
			num++;
		}
		System.out.println("결과값 : " + sum);
		
	}//end of main

}//end of class

do while문 : 10~1까지 더하기

package ch05;

public class WhileMainTest3 {
	//main f start of cd
	public static void main(String[] args) {
		
		//do ~ while문
		int input = 10;
		int sum = 0;
		
		do {
			System.out.println("현재값 : " + input);
			sum += input;
			//식을 만들어 봅시다.
			input--;
		}while(input != 0);
		
		System.out.println("덧셈결과 : " + sum );
		

	}//end of m

}//end of c

 do while문 연습

1. do while문 입력받아 덧셈 연산 2. do while문 0 입력 종료 3. for문 입력받은 수 3개 덧셈 연산

package ch05;

import java.util.Scanner;

public class WhileMainTest4 {
	// main f start of cd
	public static void main(String[] args) {
		//1.
		//스캐너를 사용해서 사용자에 입력값을 받아서
		//덧셈 연산을 해주세요
		//연산의 결과를 화면에 출력하는 프로그램을 만들어 주세요
//		System.out.println("덧셈 값을 입력해 주세요");
//		Scanner scanner = new Scanner(System.in);
//		int num = scanner.nextInt();
//				
//		int sum = 0;
//		do {
//			sum += num;
//			num--;
//		}while(num != 0 );
//				
//		System.out.println("연산의 결과는" + sum + "입니다.");		
		
//----------------------------------------------------------------
		
		Scanner scanner = new Scanner(System.in);
		
		int num;
		int sum = 0;
		
		//2.
		//사용자가 0을 입력하면 프로그램을 종료시켜주세요
		//사용자가 입력한 값을 계속 덧셈하는 프로그램으로 
		//변경시켜주세요
		
		do {
			System.out.println("값을 입력해 주세요");
			num = scanner.nextInt();
			sum += num;
			
		}while(num != 0 );
		
			System.out.println("연산의 결과는 " + sum + "입니다.");
		//3.
		//for문으로 입력을 3번받아 입력 받은 수들을 덧셈 연산 해주세요
			
//		for(int i = 0; i < 3; i++) {
//			System.out.println("값을 입력해 주세요");
//			num = scanner.nextInt();
//			sum += num;
//		}
//			
//			System.out.println("연산의 결과는 " + sum + "입니다.");
	
	}//end of m
}
// end of c

 


break

package ch05;

public class BreakTest {

	public static void main(String[] args) {
		// 예약어 break;
		// 중간에 멈추는 break
		
		for(int i = 1; i < 11; i++) {
			
			System.out.println(i);
			//1 ~ 10 까지 화면에 출력 나머지 연산자 % <-- 7 == 0
			if ((i % 7) == 0) {
				break;
			}
			
		}//end of for

	}//end of m

}//end of c

continue : MAX 값을 입력 받아 배수의 개수 구하기

package ch05;

import java.util.Scanner;

public class ContinueTest {
	//main function start code
	public static void main(String[] args) {
		
		//예약어 continue
		//무시하고 진행하는 continue
		//scanner 이용해서 MAX값,
		// MULTIPLE값 받아서 프로그램을 완성해주세요.
		
		Scanner sc = new Scanner(System.in);
		System.out.println("MAX 값 입력 : ");
		final int MAX = sc.nextInt();
		System.out.println("배수 값 입력 : ");
		final int MULTIPLE = sc.nextInt();
		final int MIN = 1;
		
		//final int MAX = 10000;
		//final int MULTIPLE = 15;
		
		int num;
		int count = 0;
		
		for(num = MIN; num <= MAX; num++) {
			
			//00의 배수이면 출력하지 마시오
			if(num % MULTIPLE == 0) {
				count++;
				continue;
			}//end of if
			
		}//end of for
		//System.out.println("출력값 : " + num);
		System.out.println(MULTIPLE + "의 배수의 개수 " + count);
	}//end of m

}//end of c

 

수업내용

[출처] https://blog.naver.com/devnote1 작성자 devnote1