JAVA/조건문(if, switch)과 반복문(for, while) 11

[JAVA] break문, continue문, 이름 붙은 반복문 **

1. break문 자신이 포함된 하나의 반복문 또는 switch문을 빠져 나온다. 주로 if문과 함께 사용해서 특정 조건을 만족하면 반복문을 벗어나게 한다. 예30) //숫자 1부터 계속 더해서 몇까지 더하면 합이 100을 넘는지 알아보기 public class FloweX30 { public static void main(String[] args) { int i = 0; int sum = 0; while (true) { // 무한반복문 if (sum > 100) break; i++; //break문이 실행되면 이 부분은 실행되지 않고 while문을 벗어난다. sum += i; //break문이 실행되면 이 부분은 실행되지 않고 while문을 벗어난다. } System.out.println("i=" + ..

[JAVA] while문

1. while문 조건식과 수행할 블럭{} 또는 문장으로 구성 while문은 먼저 조건식을 평가해서 조건식이 거짓이면 문장 전체를 벗어나고, 참이면 블럭{}내의 문장을 수행하고 다시 조건식으로 돌아간다. 조건식이 거짓이 될 때까지 이 과정을 반복한다. for문과 while문의 비교 1부터 10까지 정수를 출력 for문과 while문은 항상 서로 변환 가능하다. 만일 초기화나 증감식이 필요하지 않은 경우라면 while문이 더 적합하다. while문의 조건식은 생략 불가 while문의 조건식이 항상 참이 되게 하려면 true를 반드시 넣어야한다. 다음의 두 반복문은 블럭{} 내의 문장을 무한반복. //무한반복 예23) public class FlowEx23 { public static void main(St..

[JAVA] 향상된 for 문

향상된 for문 JDK1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방식으로 처리할 수 있도록 for문 문법이 추가되었다. 타입은 배열 또는 컬렉션의 요소의 타입이어야한다. 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽혀서 변수에 저장된다. 그리고 반복문의 괄호 {}내에서는 이 변수를 사용해서 코드를 작성한다. 배열 arr을 이렇게 선언했을 때, 이 배열의 모든 요소를 출력하는 for문은 다음과 같다. 예22) public class FlowEx22 { public static void main(String[] args) { int[] arr = {10,20,30,40,50}; int sum = 0; for(int i=0; i

[JAVA] for문

0. 반복문 문장 또는 문장들을 반복해서 수행할 때 사용한다. 종류로는 for문, while문, do-while문이 있다. 조건식과 수행할 블럭{} 또는 문장으로 구성 반복회수가 중요한 경우에 for문을 그 외에는 while문을 사용한다. for문과 while문은 서로 변경가능하다. for문이나 while문에 속한 문장은 조건에 따라 한번도 수행되지 않을 수도 있다. 그러나 do-while문은 while문의 변형으로 블럭{}이 최소한 한번은 수행될 것을 보장한다. 1. for문 for문은 반복횟수를 알고 있을 때 사용한다. 변수 i에 1을 저장한 다음, 매 반복마다 i의 값을 1씩 증가시킨다. 그러다 i 의 값이 5를 넘으면 조건식이 거짓이 되어 반복을 마친다. for문의 구조와 수행순서 '초기화', '..

[JAVA] switch문 예제(계절 /가위바위보(난수)/주민등록번호/점수에 따른 학점 출력)

#예6) //계절 출력 break 꼭잊지말고 해주기!!! import java.util.*; public class FlowEx6 { public static void main(String[] args) { System.out.println("현재 월을 입력하세요"); Scanner sc = new Scanner(System.in); int month = sc.nextInt(); switch (month) { case 12: case 1: case 2: System.out.println("겨울"); break; case 3: case 4: case 5: System.out.println("봄"); break; case 6: case 7: case 8: System.out.println("여름"); bre..

[JAVA] switch문

1. switch문 처리해야하는 경우의 수가 많을 때 사용한다. if는 true 나 false 둘 중 하나밖에 결과값이 없다. 그리고 여러 조건식을 계속 계산해야한다. 그러나 switch문으로는 하나의 조건식으로 여러 가지 경우를 계산할 수 있다. 다만 switch문은 제약조건이 있어서 어쩔 수 없이 if문을 사용해야되는 경우가 있다. 작동 순서 1. 조건식을 계산한다. 2. 조건식의 결과와 일치하는 case문으로 이동 3. 이후의 문장들을 수행 4. break 문이나 switch문의 끝을 만나면 switch 문 전체를 빠져나간다. 조건식의 결과와 일치하는 case문이 하나도 없으면 default문으로 이동한다. default 는 생략 가능하다. 만일 break문을 안쓰면 계속 이후 case로 쭉 내려가..

[JAVA] 중첩 if문

중첩 if문 if 문의 블럭 내에 또 다른 if문을 포함시키는 것이 가능하다. 중첩 횟수에는 제한이 없다. 내부 if문은 안쪽 들여쓰기를 해서 명확히 구분하자. 중첩 if문에서는 괄호{}의 생략에 조심해야한다. else블럭이 바깥 if문에 속한 것처럼 보이지만 괄호가 생략되었을 때 가까운if문으로 속한 것으로 간주되기 때문에 실제로는 오른쪽처럼 안쪽 if문의 else블럭이 되어버린다. 예5) 중첩 if문 - 성적에 따른 학점 출력 (+,-포함) import java.util.*; public class FlowEx5 { public static void main(String[] args) { int score = '0'; // 성적 초기화 char grade = ' ', opt = '0'; // 학점 +..

[JAVA] if-else문 / if-else if문

1. if-else문 둘 중의 하나- 조건식이 참일 때와 거짓일 때로 나눠서 처리한다. 조건식의 결과가 거짓일 때 else문으로 수행된다. if-else문 역시 블럭 내의 문장이 하나면 {}을 생략할 수 있다. 예2) import java.util.Scanner; public class FlowEx3 { public static void main(String[] args) { System.out.println("숫자를 하나 입력하세요"); Scanner scan = new Scanner(System.in); int input = scan.nextInt(); if (input == 0) { System.out.println("입력하신 숫자는 0입니다"); } else { System.out.println(..