-
(4주차 26일) 제어문 실습(조건문, 반복문, 분기문)수업 내용 정리 2024. 6. 8. 12:17
Java
제어문
> 조건문: 특정 조건에 따라 코드 실행
- if문
- if문
- if - else문
- if - else if - else문
// if if(조건식) { // 실행 코드 } // if - else if(조건식) { // 실행 코드 } else { // 실행 코드 } // if - else if - else if(조건식) { // 실행 코드 } else if(조건식) { // 실행 코드 } // else if 문의 수는 제한이 없다. ... else { // 실행 코드 }
- switch문
- switch 문은 조건식의 결과값이(계산식, 변수, 리터럴) 어떤 값(정수, 문자, 문자열)을 갖느냐에 따라 실행문이 선택된다.
- if문과 달리, 코드를 실행하고 조건문을 빠져나가기 위해 break 문이 필요하다.
switch(값) { case 값1 : // 실행 코드; break; case 값2 : // 실행 코드; break; ... default : // 실행 코드; }
- 참고: 리터럴의 비교 연산
/** * 참고 * 리터럴로 작성되는 경우 비교 연산 */ // 1. 스택 영역에 str1 변수 생성, 힙 영역의 상수 풀에 "홍길동" 문자열 저장하고 주소값 배정 // -> str1에 해당 주소값을 할당함 String str1 = "홍길동"; // 2. 힙 영역에 기존에 같은 문자열이 저장되어 있으므로, 해당 주소값을 str2에 할당 String str2 = "홍길동"; // 3. new String()을 통해 힙 영역에 새로 문자열을 저장하므로 새로운 주소값을 배정받고 할당 String str3 = new String("홍길동"); // 예시 // 같은 주소값을 배정받았기 때문에 true 반환되는 경우 System.out.println(str1 == str2); System.out.println("홍길동" == "홍길동"); // 새로운 주소값을 할당받았으므로 false가 반환되는 경우 System.out.println("홍길동" == new String("홍길동")); // equals 메소드: 내부적으로 데이터를 비교하여 같으면 true, 다르면 false System.out.println("홍길동".equals("홍길동")); System.out.println("홍길동".equals(new String("홍길동"))); System.out.println("홍길동".equals(name));
> 반복문: 특정 코드를 반복적으로 실행- for문: 주어진 횟수만큼 코드를 반복 실행
- for문
- 향상된 for문
// for for(초기식; 조건식; 증감식) { // 실행 코드 } // 향상된 for for(변수 : 배열or컬렉션) { // 실행 코드 }
- while문: 조건식이 true인 경우에 코드를 반복 실행. 반복문을 빠져나가기 위한 증감식, 분기문이 필요
- while문
- do-while문
//while while(조건식) { // 실행 코드 // 증감식 or 분기문 } //do-while do { // 실행 코드 // 증감식 or 분기문 } while(조건식);
> 분기문: 반복을 멈추거나, 조건식으로 이동하는 경우 사용- break문
- break 문은 switch 문과 for 문, while 문, do-while 문의 실행을 중지하고 빠져나갈 때 사용한다.
- 반복문이 중첩되어 있는 경우 break 문이 포함되어 있는 반복문만 중지하고 빠져나간다.
while(true) { for(int i = 0; i < 10; i++ ) { if (i == 5) { break; } System.out.println("i : " + i); } }
- continue문
- continue 문은 반복문에서 이후의 문장을 실행하지 않고 증감식 또는 조건식으로 이동할 때 사용한다.
- 반복문이 중첩되어 있는 경우 continue 문이 포함되어 있는 가장 가까운 반복문의 증감식 또는 조건식으로 이동한다.
while(true) { for(int i = 0; i < 10; i++ ) { if (i == 5) { continue; } System.out.println("i : " + i); } }
'수업 내용 정리' 카테고리의 다른 글
(5주차 31일) 접근 제한자, 생성자, 메소드, 정적 멤버, final (0) 2024.06.11 (5주차 30일) 배열, 클래스, 필드 (0) 2024.06.10 (4주차 24일) Scanner 메소드, 연산자 실습 (0) 2024.06.05 (4주차 23일) Java 기초, 변수의 자료형 (1) 2024.06.04 (3주차 18일) UML, 코딩 표준 (0) 2024.05.30 - if문