작성 :  2024. 4. 2. 

  • switch문

등가연산( ==, != ), 범위비교를 할 수 없음 실수 사용은 불가

switch(비교값) {
case 값1 : 실행문;
break;
}

		int select = 4;

		switch (select) {
		case 1:
			System.out.println("1번 선택");
			break;
		case 2:
			System.out.println("2번 선택");
			break;
		case 3:
			System.out.println("3번 선택");
			break;
			default : System.out.println("번호를 잘못 선택함");
		}
		
		
		
		
		
->  계산기 만들기
// 피연산자(문자), 연산자(숫자)
		
		Scanner sc = new Scanner(System.in);
		// 스캐너를 넘길 때 버퍼에 담아놓고 데이터를 보내줌, 버퍼에서 엔터값을 가지고 와 넘겨줌, 단위테스트를 꼭 해보기

		System.out.print("정수 하나 입력 : ");
		int num1 = sc.nextInt();

		sc.nextLine(); // 엔터값을 가지고 옴. 이렇게 해줌으로서 버퍼가 대기.

		System.out.print("연산자 입력 ( + , - , x , / ) : ");
		String op = sc.nextLine();

		System.out.print("정수 하나 입력 : ");
		int num2 = sc.nextInt();

		switch (op) {
		case "+":
			System.out.println(num1 + num2);
			break;
		case "-":
			System.out.println(num1 - num2);
			break;
		case "x":
			System.out.println(num1 * num2);
			break;
		case "/":
			System.out.println(num1 / num2);
			break;
		default:
			System.out.println("연산자가 잘못 선택됨");
		}

 

  • 반복문

만들어 놓은 실행문은 여러 번 출력하고 싶을 때 for, while, do-while

형태 :

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

반복할 실행문

}

for (int i = 0; i < 10; i++) {
		System.out.println( i + ". hello" );
	}
	
	
	결과 : 
	
0. hello
1. hello
2. hello
3. hello
4. hello
5. hello
6. hello
7. hello
8. hello
9. hello





int i;  // i를 for문 밖에서 선언하면 더 넓은 범위로 사용할 수 있음. 
           하지만 보통은 for문 내부에서 사용! i는 (지역변수)

	for (i = 0; i < 10; i++) {
		System.out.println( i + ". hello" );
	}
	
	
	
	-------------------------------------------------------------------------
	
	
	-> 감소하는 형태의 for문
	
	
	for (int i = 10; i >= 1; i--) {
			System.out.println( i + ". hello" );
		}
		
		결과:
		
10. hello
9. hello
8. hello
7. hello
6. hello
5. hello
4. hello
3. hello
2. hello
1. hello
		
		------------------------------------------------------------------------
		
		
		-> 증감식을 바꿔보자
		
		
		for (int i = 1; i <= 10; i+=2) {   // i = i + 2 증감식에 따라 반복회수 변경 가능.
			System.out.println( i + ". hello");
		}
		
		결과:
		
1. hello
3. hello
5. hello
7. hello
9. hello



  // 초깃값을 두 개 선언해서 활용할 수도 있음
		
		for(int i = 1, j = 10; i <= 10; i++, j--) {
			System.out.println("i: " + i + ". " + "j: " + j);
	}
	
	
	
	
	// for문 중첩반복문
		
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= 3; j++) {
				System.out.println(i + "hello");
			}
		}
		
		
		
		
		// 반복문을 사용한 연산
		// 1 ~ 10 까지 정수를 모두 더해라
		// 규칙성이 있는 연산은 반복문을 사용할 수 있다. 
		
		int sum = 0;   // 값을 담는 곳, 기억하는 공간이라고 생각하면 됨
		
		for(int i = 1; i <= 10; i++) {
			sum = sum + i; 
		}
		
		System.out.println(sum);
		
		
		

-> 5! 를 계산하는 for문을 만들어라! (완.)
		
		int fac = 1;   // 0은 뭘 곱해도 0이므로 1부터 시작
		
		for (int i = 1; i <= 5; i++) {
			fac *= i;  //fac = fac * i;
		}
		
		System.out.println(fac);

 

  • while문

형태 :

초기값

while(조건식) {

실행문

증감식

}

int i = 1;
	while (i <= 10) {
		System.out.println(i + ". hello");
		i++;
	}
	
	
	
	 중첩 while문 

		int i = 1;
		while (i <= 5) { // 5
			int j = 1;  // 위치 중요, while문 밖에 있으면 j가 돌아가지 않음.
			while (j <= 3) { // 3
				System.out.println("hello");
				j++;
			}

			i++;
		}
		
		
		
		--------------------------------------------------------------------
		
		// do - while문  -> 조건을 비교하기 전에 무조건 한 번 돌아감.
		
		형태 :
		
		do {
			실행문
		}while (조건식);
		
		
		예) 
		
		int i = 1;
		
		do {
			System.out.println("hello");
			i++;
		} while (i <= 10);

 

 

이해했다고 착각하지 말 것.

수업 끝난 후 시간을 활용할 것.

하다보면 쌓여서 잘 되는 것.

 

// 별찍기
	
	for (int i = 1; i <= 5; i++) {   // 세로
		for (int j = 1; j <= 10; j++) {    // 가로
			System.out.print("*");
		}
		System.out.println();
	}
	
	
	
	결과 :
	
**********
**********
**********
**********
**********


// while 문으로 바꾸기

		int i = 1;

		while (i <= 5) {
			int j = 1;
			while (j <= 10) {
				System.out.print("*");
				j++;
			}
			System.out.println();
			i++;
		}
		
		
		
		결과 :
		
**********
**********
**********
**********
**********


// 별찍기 예)


for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= 5; j++) {
				if (i > j) {
					System.out.print(" ");
				} else {
					System.out.print("*");
				}
			}
			
			System.out.println();
		}
		
	
	결과 :
	
*****
 ****
  ***
   **
    *
    
    
    
    
    
    
    
    마름모 윗부분 문제풀이) (완.)
    
    
    for (int i = 1; i <= 5; i++) {
			for (int j = 0; j < (5 - i); j++) {
				System.out.print(" ");
			}
			for (int k = 1; k < (i * 2); k++) {
				System.out.print("*");
			}
			System.out.println();

		}
		
		
		결과 :
		
    *
   ***
  *****
 *******
*********
		
		
		
		// 강사님 풀이
		
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= 5 + i - 1; j++) {
				if (i + j < 6) {
					System.out.print(" ");
				} else {
					System.out.print("*");
				}
			}
			System.out.println();
		}

어쩔 땐 풀고 어떨 땐 못 푸는 걸 보니 이해를 못한듯..;;

→ 맥북으로 수업을 들으니 앞으로 설치할 프로그램들을 미리 알려주시길 부탁했는데 그냥 학원 컴퓨터로 하라고;;

맥북으로는 수업을 못듣는걸까..

'2024_UIUX 국비 TIL' 카테고리의 다른 글

UIUX _국비과정 0405  (0) 2024.05.29
UIUX _국비과정 0404  (0) 2024.05.29
UIUX _국비과정 0403  (0) 2024.05.29
UIUX _국비과정 0401  (0) 2024.05.28
UIUX _국비과정 0329 첫 날!  (0) 2024.05.28

+ Recent posts