4.1 코드 실행 흐름 제어
→ 조건문과 반복문으로 흐름을 제어한다
조건문 → if, switch
반복문 → for while do- wile
4.2 if문
if(조건식){
}
→ 실행문이 1개일때는 중괄호 생략은 가능하지만, 어지간하면 붙여라
if(조건식){
}else{
}
if(조건식1){
} else if(조건식2){
} else {
}
4.3 switch 문
break문이 없다면 case n:으로 간 다음 그밑에 그대로 전부실행
switch문의 괄호에는 정수타입(byte, char, int, short, long)과 문자열 타입(string)만 가능하다 실수형 불가능
JAVA 12 부터 → 가 생김 (실행문이 하나라면 중괄호 생략가능)
//JAVA 12이전
package chap04.sec03;
import java.util.Scanner;
public class SwitchCharExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("문자 입력");
String grade = scanner.nextLine();
switch (grade) {
case "A": // string 비교는 큰따옴표("")
case "a":
System.out.println("우수 회원 입니다.");
break;
case "B":
case "b":
System.out.println("일반 회원 입니다.");
break;
default:
System.out.println("손님 입니다.");
}
// JAVA12
switch (grade) {
case "A", "a" -> {
System.out.println("우수 회원 입니다.");
}
case "B", "b" -> {
System.out.println("일반 회원 입니다.");
}
default -> {
System.out.println("손님 입니다.");
}
}
//한줄일때는 중괄호 생략 가능
switch(grade) {
case "A", "a" -> System.out.println("우수 회원 입니다.");
case "B", "b" -> System.out.println("일반 회원 입니다.");
default -> System.out.println("손님 입니다.");
}
}
}
JAVA 13부터 스위치된 값을 변수에 바로 대입할수 있다. 중괄호 사용시 yield 사용 but default 값이 항상 있어야 한다.
package chap04.sec03;
import java.util.Scanner;
public class SwitchValueExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("성적을 입력하세요: ");
String grade = scanner.nextLine();
//JAVA 11이전
int score =0;
switch(grade) {
case "A":
score = 100;
break;
case "B":
int result = 100 - 20;
score = result;
break;
default:
score = 50;
}
System.out.println(score);
//JAVA 12 부터
int score2 = switch(grade) {
case "A" -> 100;
case "B" -> {
//여기 연산식
int result = 100 - 20;
yield result;
}
default -> 50;
};
System.out.println(score2);
}
}
4.4 for문
반복에는 for while do-while
보통 for문은 반복 횟수를 정할때
for(초기화식; 조건식; 증감식){
}
-> example
for(int i=0; i<=10; i++){
}
->주의할 점은 변수를 2개이상씩도 사용이 가능하다, 구분은 , 쉼표로 한다.
->초기화를 할때에는 부동 소수점을 쓰는 float 을 사용하지 않는다
→ 구구단 출력 (키보드로 입력받고)
package chap04.sec04;
import java.util.Scanner;
public class MultiplicationTableExampleScanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("몇단부터 출력하나요?");
for (int m = scanner.nextInt(); m < 10; m++) {
System.out.println("-----" + m + "-----");
for (int n = 1; n < 10; n++) {
System.out.println(m + "x" + n + "=" + (m * n));
}
}
}
}
4.5 while문
조건이 True일 경우에만 반복
(True를 넣어버리면 무한반복)
4.6 do while문
do{
실행문
} while (조건식);
1 실행문 모두 실행 -> 2 조건식 평가 그결과가 true이면 다시 실행문 실행, false 이면 종료
4.7 break문
for문과, if문에서 break를 만나면 그 블럭을 빠져나가라
그냥 braek이면 중첩시 해당 블럭만 종료되지만 Label을 붙이면 중첩된거 밖에꺼 까지 종료된다.
Outer: for()
for()
for()
break Outer;
이면 바로 중첩 for밖까지 종료된다.
4.8 continue
continue를 만나면 제일처음 으로 돌아간다 → 증감식으로 but continue 아래쪽에 코드는 실행하지 않는다.
'JAVA > 이것이 자바다' 카테고리의 다른 글
[Chapter 06] 클래스 (0) | 2022.12.31 |
---|---|
[Chapter 05] 참조 타입 (0) | 2022.12.31 |
[Chapter 03] 연산자 (0) | 2022.12.03 |
[Chapter 02] 변수와 타입 (0) | 2022.12.03 |
[Chapter01] 자바 시작하기 (0) | 2022.11.29 |
댓글