if문
- if (조건식1) {…} else if (조건식2) {…} else {…}
switch문
- 변수가 어떤 값을 갖느냐에 따라 실행문이 선택됨

- 괄호 안의 변수 값과 같은 값인 case로 가서 실행문 실행하고, 동일한 case 값이 없으면 default로 가서 실행문 실행
- default는 생략 가능
- break는 다음 case를 실행하지 않고 switch문을 빠져나감. break가 없으면 다음 case가 연달아 실행됨
// 대소문자 구분없이 동일하게 처리
char grade = 'A';
switch(grade) {
case 'A':
case 'a':
System.out.println("우수 회원");
break;
case 'B':
case 'b':
System.out.println("일반 회원");
break;
default:
System.out.println("게스트");
}
for문
- 초기화 식이 필요없는 경우에는 생략 가능
int i = 1; for (;i<=100;i++) {...}
- 초기화 식이 여러 개일 경우도 가능
for (int i=0, j=100;i<=50 && j>=50;i++, j--) {...}
- 초기화 식의 루프 카운터 변수(i)는 부동소수점을 쓰는 float타입을 사용하면 안됨💡
for-each문
- 배열의 원소를 for문에 더 쉽게 적용
- 배열 원소 type 명시해야함
- for문은 원소 개수만큼 반복되므로 배열 객체가 null값으로 채워져있어도 수행됨
- null값은 객체가 존재하지 않는데 for문의 바디에서 메서드를 호출하는 결과를 가져와 오류 발생하므로 꽉 채워진 배열일때만 사용
for(타입 변수 : 배열) {
실행문;
}
- for문이 처음 실행될때 배열에서 가져올 첫번째 값이 있는지 평가
- 가져올 값이 있으면 해당 값을 변수에 저장
- 실행문 실행
- 블록 내부의 실행문이 모두 실행되면 배열에서 가져올 다음 값이 있는지 평가
- 다음 값이 있으면 루프 반복, 없으면 반복 종료
String[] oldArr = {"a", "b", "c"};
String[] newArr = new String[7];
System.arraycopy(oldArr, 0, newArr, 0, 3);
for(int i=0;i<newArr.length;i++) {
System.out.println(newArr[i]);
}
System.out.println();
for(String i : newArr) {
System.out.println(i);
}
do-while문
- 블록 내부의 실행문을 우선 실행하고 실행결과에 따라서 반복 실행을 계속할지 결정함

- do-while문 처음 실행시 do 블록의 실행문 먼저 실행
- while의 조건식이 true면 do 실행문 반복 실행
- while의 조건식이 false면 do-while문 종료
break문
- break문은 가장 가까운 반복문 하나만 종료함
- 바깥 반복문까지 종료시키려면 바깥 반복문에 Label을 붙이고 break Label; 사용하면됨
package sec03.exam01; public class Repeat { public static void main(String[] args) { Outter: for(char upper='A';upper<='Z';upper++) { for(char lower='a';lower<='z';lower++) { System.out.println(upper + "-" + lower); if(lower=='g') break Outter; } } System.out.println("프로그램 실행 종료"); } }
'Java' 카테고리의 다른 글
Java 기초 문법(7) (1) | 2023.12.20 |
---|---|
Java 기초 문법(6) (0) | 2023.12.20 |
Java 기초 문법(4) (0) | 2023.12.20 |
Java 기초 문법(3) (0) | 2023.12.20 |
Java 기초 문법(2) (0) | 2023.12.20 |