작성 : 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 |