일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 4기
- 자바스크립트
- 시스템콜
- HTML
- 큐
- Java
- 티스토리챌린지
- 크래프톤정글
- 소켓
- JavaScript
- 자바
- userprog
- Flutter
- 핀토스
- Vue.js
- defee
- 코드트리
- 오블완
- 사이드프로젝트
- 리액트
- 스택
- TiL
- CSS
- corou
- pintos
- 나만무
- 알고리즘
- 백준
- 모션비트
- 크래프톤 정글
- Today
- Total
미새문지
JAVA.Day06 swhich문 + for문 본문
공부한지 벌써 3주차가 됍니다. 이번 6일차에는 남은 제어문인 swich문과 반복문 for문에 대해 공부했는데,
생각보다 많이 헷갈려서 복습을 더 해야할 것 같습니다...
< switch문 >
switch문은 if문과 같이 조건문중에 하나로 변수가 어떤값을 갖느냐에 따라 실행문이 선택됩니다.
switch문의 기본문
switch(표현식) {
case 1:
표현식1 //값1일때 실행되는 영역
break;
case 2:
표현식2 //값2일때 실행되는 영역
break;
default:
//위에 있는 값들이 모두 아닐때 실행되는 영역;
}
switch문은 결과값이 나온 수에 맞는 case식이 출력되기 때문에 수치 작성을 잘 해야합니다.
switch문 예시)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("점수 입력 >> ");
int score = sc.nextInt();
switch(score/10) {
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
default:
System.out.println("F");
}
각 case마다 값이 써있습니다. 스코어점수를 정수로 변수값을 지정해주고 switch문에 써있는 조건으로 값이 출력되면
그 값에 해당하는 case문으로 들어가 표현식이 출력되는 구조입니다.
결과)
점수 입력 >>
88
B
/* 88점으로 입력하면 switch(88 / 10) 나머지는 출력이 되지 않기 때문에 값이 8이 나옵니다.
그럼 case 8에 있는 출력문을 실행하게 되어 "B" 가 실행됩니다. */
---------------------------------------------------------------------------------------------------------------------------------
다음은 반복문 입니다.
반복문은 for문, while문, do~while문이 있는데 오늘은 for문까지만 다루겠습니다.
반복문은 특정 코드가 반복될 때 사용하며, 출력문을 닫아놓지 않는다면 무한히 출력이 가능합니다.
< for문 >
for문은 반복할 조건식을 정해 조건이 거짓이 될때까지 반복하는 반복문입니다.
for문 기본문
for(초기식; 조건식; 증감식) {
반복할 코드;
}
- 초기식과 조건식 뒤엔 (;)세미콜론을 붙이며 증감식 뒤엔 붙이지 않아야합니다.
- for문은 처음에 초기식을 실행하고 다음으로 조건식을 판단하여 참이면 for문 안쪽의 문장을 실행합니다.
- for문 중괄호가 닫히면 증감식을 실행하고 다시 처음으로 와서 조건식이 참인지 확인합니다.
- 조건식이 더이상 참이 아니고 거짓이라면 for문으로 들어가지않고 반복종료해 for문 다음문장을 실행합니다.
for문 예시)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int i = 1; i<=10; i++) {
System.out.print(i + " ");
}
}
}
결과)
1 2 3 4 5 6 7 8 9 10
/* i = 1로 시작하여 1<=10은 참이기 때문에 출력문을 실행하여 1이 출력됩니다.
후에 증감식으로 1을 더하고 i = 2에서 조건식을 시작
i가 10일 때까지는 계속 조건식이 실행되고, i가 11부턴 조건식이 거짓이 되기 때문에 for문을 종료합니다. */
--------------------------------------------------------------------------------------------------------------------------------
복합대입 연산자
num += 값 --> num = num + 값
num -= 값 --> num = num - 값
num *= 값 --> num = num * 값
num /= 값 --> num = num / 값
num %= 값 --> num = num % 값
예시)
int num = 5;
num += 10; //num = num + 10;
증감연산자
후위형
num++ --> num += 1 --> num = num + 1
num-- --> num -= 1 --> num = num - 1
전위형
++num
--num
그리고 마지막으로 반복문에서 사용하는 특별한 문법이 있는데
break;
- 반복문 안에서 사용되면, 자신을 감싸는 가장 가까운 반복문을 즉시 종료(탈출)합니다.
예시)
switch(a) {
case 5:
System.out.println("5입니다");
break;
case 100:
System.out.println("100입니다");
break;
case 10:
System.out.println("10입니다");
break;
default:
System.out.println("그 외");
여기서 break문을 빼버리면 현재 선택된 case문에서 다음 case문까지 전부 출력이 되기 때문에 break문으로 해당 출력문만 출력되게 해야합니다.
continue;
- 반복문 안에서 사용되며, 자신을 감싸는 가장 가까운 반복의 즉시 다음반복을 실행합니다
- break문이랑 비슷하지만 조건문만 실행하지 않고 반복문을 이어서 실행합니다.
예시)
for i in range(100):
if i % 2 == 0:
continue
print(i)
여기서 if문으로 2로 나눴을 때 나머지가 0이면 짝수이고, 아래코드를 실행하지 않고 다시 조건문으로 넘어가기 때문에 짝수는 출력되지 않고 홀수만 출력이 가능합니다.
6일차는 switch문과 for문에 대해 공부해봤는데, 조건문이 여러 개가 나오기 시작하니까 난이도가 확 올라갔네요
예습보다는 무조건 복습입니다. 복습이 답입니다
'언어 학습 > 자바 연습' 카테고리의 다른 글
JAVA.Day07 반복문 (1) | 2022.04.29 |
---|---|
JAVA.Day05 선택제어문 (1) | 2022.04.24 |
JAVA. Day04 연산자 (1) | 2022.04.22 |
JAVA. Day03 변수의 선언 (1) | 2022.04.20 |
JAVA. Day02 변수 (1) | 2022.04.16 |