if문

if문은 조건식의 결과에 따라 블록 실행 여부가 결정 ( true, false ), ( boolean타입 )

true면 블록 실행, false면 실행 안함

		int score = 93;
		
		if(score>=90) {
			System.out.println("점수가 90보다 큽니다.");
			System.out.println("A등급");
		}
		if (score<90) {
			System.out.println("점수가 90보다 작습니다.");
			System.out.println("B등급");
		}

 

if - else문

if문의 조건식이 true이면 if문의 블록이 실행, 조건식이 false이면 else 블록이 실행

조건식의 결과에 따라 이 2개의 블록 중 어느 한 블록의 내용만 실행하고 전체 if문을 벗어남

		int score = 90;
		
		if (score >= 93 && score <= 100) {
			System.out.println("A등급");
		}else {
			System.out.println("B등급");
		}

 

if - else else if 문

조건문이 여러 개인 if문, 처음 if문의 조건식이 false일 경우 다른 조건식의 결과에 따라 실행 블록 선택

else if문의 수는 제한이 없음, 여러 개의 조건식 중 true가 되는 블록만 실행하고 전체 if문을 벗어남

else if 블록의 마지막에는 else 블록을 추가할 수 있는데, 모든 조건식이 false일 경우 else 블록 실행 

		int score = 75;
		
		if(score>=90) {
			System.out.println("점수가 100~90 입니다.");
			System.out.println("A등급");
		} else if(score>=80) {	
			System.out.println("점수가 80~89 입니다.");
			System.out.println("B등급");
		} else if(score>=70) {
			System.out.println("점수가 70~79 입니다.");
			System.out.println("C등급");
		} else {
			System.out.println("점수가 70 입니다.");
			System.out.println("D등급");
		}

 

switch문

switch문은 if문과 마찬가지로 조건 제어문 이지만 switch문은 if문처럼 조건식이 true일 경우에

블록 내부의 실행문을 실행하는 것이 아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택

if문은 조건식 결과가 true, false 두 가지밖에 없기 때문에 경우에 수가 많아질수록 else-if문을

반복적으로 추가해야 하므로 코드가 복잡해지지만 switch문은 변수의 값에 따라서 실행문이

결정되기 때문에 같은 기능의 if문보다 코드가 간결해짐

 

 

		int dnum = (int) (Math.random() * 6) + 1;
		
		switch (dnum) {
		case 1:
			System.out.println("1번이 나옴");
			break;
		case 2:
			System.out.println("2번이 나옴");
			break;
		case 3:
			System.out.println("3번이 나옴");
			break;
		case 4:
			System.out.println("4번이 나옴");
			break;
		case 5:
			System.out.println("5번이 나옴");
			
			break;

		default: 
			System.out.println("6번이나옴");
			break;
		}

 

		Scanner scanner = new Scanner(System.in);
		String inputData;
		int score;
		
		
		System.out.print("학점>");
		inputData = scanner.nextLine();
		score = Integer.parseInt(inputData);
		int num = score / 10;
		switch (num) {
		case 10:
		case 9:
			System.out.println("a");
			break;
			
		case 8:
			System.out.println("b");
			break;
			
		case 7:
			System.out.println("c");
			break;

		default:
			break;
		}

 

반복문 for문

for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문

		//for (int i = 1; i <= 100; i++) {
			//System.out.println(i);
		//} // 1부터 100까지 구하는 for문
        
        int sum = 0;
        
        for (int i = 1; i <= 100; i++) {
        sum + i; 
        }
        System.out.println(sum) // 1부터 100까지의 합
package sec02.exam03;

public class ForSumFrom1To100Example1 {
	public static void main(String[] args) {
		int sum = 0; 
		
		int i = 0;
		for(i=1; i<=100; i++) {
			sum += i;
		}
		
		System.out.println("1~" + (i-1) + " 합 : " + sum);
		// (i-1) -> 루프 카운터 변수 ( float 사용 금지 )
	}
}

 

중첩 for문

바깥쪽 for문이 한 번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽 for문으로

돌아감 ( 구구단, 별찍기 ) 

		for ( int i = 1; i <= 4; i++) {

			for (int j = 1; j <= i; j++) {
				
				System.out.print("*");
		
	}
			System.out.println();
		}
//결과
//*
//**
//***
//****

 

		for ( int i = 1; i <= 4; i++) { 
//			내부 for문 앞에 공백 i 갯수 빼면서 역순 3, 2, 1
			for (int y = 1; y <= 4 -i; y++  ) { 
				System.out.print(" ");
			}
//			내부 for문 i에 개수 만큼 " * " 출력
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}
//			1줄 만들때 마다 줄 바꿈
			System.out.println();
	}
//결과
//   *
//  **
// ***
//****

 

실습

10 자리 이하 버리는 코드

		int value = 356;
		System.out.println(value / 100 * 100);

 

사다리꼴의 넓이 구하는 코드

		int lengthTop = 5;
		int lengthBottom = 10;
		int height = 7;
		
		double area = ((double)(lengthTop * height) / 2)+((lengthBottom * height) / 2);
		System.out.println(area); // 52.5

 

scanner 사용 실수(double) 0, 0.0 무한대

		Scanner scanner = new Scanner(System.in);
		double one;
		double two;
		double tot;
		
		
		
		System.out.print("첫번째 수:");
		one = (scanner.nextDouble());
		System.out.print("두번째 수:");
		two = (scanner.nextDouble());
		
		
		tot = one / two;  
		System.out.println("결과:" + tot);

 

반지름 double 특정 구간 변환

		int var1 = 10;
		int var2 = 3;
		int var3 = 14;
		
		
		double var4 = var1 * var1 * Double.parseDouble(var2 + "." + var3);
		
		System.out.println("원의 넓이 :" + var4);

 

로그인, 패스워드  지정값 scanner

		Scanner scanner = new Scanner(System.in);
		
		System.out.println("아이디:");
		String name = scanner.nextLine();
		
		System.out.println("패스워드:");
		String pass = scanner.nextLine();
		int password = Integer.parseInt(pass);
		
		if (name.equals("java")) {
			if (password == 12345) {
				System.out.println("로그인 성공");
			}else {
				System.out.println("로그인 실패 : 패스워드가 틀림");
			}
			
			}
		else {
			System.out.println("로그인 실패: 아이디가 존재하지 않음");
		}

 

for문 이용 1부터 100까지의 정수 3의 배수의 총합

		int sum = 0;
		
		for (int i = 0; i < 100; i+=3 ) {
			 
			sum += i;
		}
		System.out.println(sum);

 

주사위 2개 사용 합이 5가 되면 stop

		while(true) {
			int num = (int) (Math.random() * 6) + 1;
			int num2 = (int) (Math.random() * 6) + 1;
			System.out.println(("눈1:" + num + "눈2:" + num2));
			
			if ((num + num2) == 5) {
				break;
			}
			System.out.println(num + num);
			
		}

 

중첩 for문, 4x + 5y = 60의 모든 해

		for (int y= 1; y <= 10; y++) {
			for(int x = 1; x <= 10; x++) {
				if (( 4 * x + 5 * y) == 60) {
				System.out.println("x=" + x + "y=" + y);
				}
			}
		}

 

while문 scanner 사용, 은행 예금, 출금, 조회, 종료

		boolean run = true;
		int balance = 0;
		Scanner scan = new Scanner(System.in);
		String inputData, inputNum;
		int deposit = 0; // 잔고
		
		
		while (run) {
			System.out.println("--------------------------");
			System.out.println("1.예금 | 2.출금 | 3.잔고 | 4.종료");
			System.out.println("--------------------------");
			System.out.print("선택>");
			
			 inputData = scan.nextLine().toUpperCase(); // 입력값을 대문자로 변환
			  if (inputData.equals("1")) {
	                System.out.print("예금>");
	                inputNum = scan.nextLine(); // 키보드 입력
	                int tmp = Integer.parseInt(inputNum); // 정수로 변환
	                deposit += tmp; // 잔고에 누적
	                System.out.println("예금액> " + deposit); // 잔고 출력
	            } else if (inputData.equals("2")) {
	                System.out.print("출금>");
	                inputNum = scan.nextLine(); // 키보드 입력
	                int tmp = Integer.parseInt(inputNum); // 정수로 변환
	                deposit -= tmp; // 잔고에서 차감
	                if (deposit < 0) {
	                    System.out.println("출금액>");
	                    deposit += tmp; // 출금한 금액을 다시 잔고에 더해줌
	                } else {
	                    System.out.println("출금액> " + deposit); // 잔고 출력
	                }
	            } else if (inputData.equals("3")) {
	                if (deposit <= 0) {
	                    System.out.println("잔고가 없습니다.");
	                } else {
	                    System.out.println("잔고: " + deposit); // 출력
	                }
	            if (inputData.equals("4")) { // 입력값이 "Q"일 때 루프 종료
	                break;
	            }
			
		}
		 while (deposit < 0) { // 잔액이 0보다 작거나 같을 때 계속 반복
	            System.out.println("잔액이 부족합니다.");
	            break; // 반복 후 종료
	        }
		System.out.println("프로그램 종료");
		}

 

'프로젝트 기반 자바(JAVA) 응용 SW개발자 취업과정' 카테고리의 다른 글

2023-05-24 7일차  (2) 2023.05.24
2023-05-23 6일차  (0) 2023.05.23
2023-05-19 4일차  (0) 2023.05.19
2023-05-18 3일차  (0) 2023.05.18
2023-05-17 2일차  (0) 2023.05.17

+ Recent posts