728x90
[ 2022년 9월 23일 금요일]
제어문 (2)
: 복잡한 세상 속 반복적인 삶
- 조건문 switch ~ case
: 다중 분기 문제를 해결할 때는 switch문을 사용
[ switch ~ case 특징 ]
if문과는 달리 조건식이 사용되지 X
값을 가지는 변수 또는 표현식이 판단조건으로 사용
연산 결과의 데이터 타입은 int, String, Enum(열거형)이 사용
case문 뒤에 사용되는 값은 변수를 사용할 수 없고, 반드시 상수를 사용
switch ~ case문에서 default는 if~else에서 else와 비슷한 효과
[ switch ~ case 's example - (1) ]
: 판단 조건으로 값이 들어간 경우
public class SwitchEx {
public static void main(String[] args) {
int a =0;
//swtich 구문의 ()예는 값이나 값에 대한 연산식이 들어갈 수 있음
switch (a) {
case -1:
case 0:
case 1:
System.out.println("1입니다");
break;
case 2:
System.out.println("2입니다");
break;
case 3:
System.out.println("3입니다");
break;
case 4:
System.out.println("4입니다");
break;
default:
System.out.println("1~4가 아닙니다~");
break;
}
}
}
[ switch ~ case 's example - (2) ]
: 판단 조건으로 연산식의 값이 들어간 경우
import java.util.Scanner;
public class SwitchEx02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score = scan.nextInt();
int result = (score/10);
switch (result) {
case 9:
if(score >=95) {
System.out.println("A+");
}else {
System.out.println("A");
}
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("F");
break;
}
}
}
- 반복문 while
초기값;
while ( 조건식 ) {
증감식; }
조건식을 검사해서 조건식이 참이면 실행문을 반복
거짓이면 while문을 빠져나옴
while문에 들어가는 조건식 반드시 boolean타입으로 결과를 반환
조건식 안에 true를 넣으면 무한루프가 발생하기 때문에 반드시 탈출구문을 넣어야 함
[ while 's example - (1) ]
public class WhileEx01 {
public static void main(String[] args) {
//
// int a = 1; //제어변수: 반복문의 횟수를 결정할 변수
//
// while(a<=10) {
// System.out.println("hello"+a);
//
// a++; //제어변수 조작을 통해 반복의 조건식이 언젠가 false가 되도록 처리
//
//}
//누적
int i =1;
int sum = 0;//누적할 변수
while (i<=10) {
sum +=i;
i++;
}
System.out.println("1~10까지의 합:" + sum);
}
}
[ while 's example - (2) ]
: while문 안에 조건문(If문) 사용 가능
public class WhileEx02 {
public static void main(String[] args) {
//100번 회전하는 반복문에서 짝수만 출력
int a=1;
while(a<=100) {
if( a % 2== 0) {
System.out.print(a + " ");
}
a++;
}
System.out.println(); // 줄바꿈
int j= 0;
while( j <= 98) {
j+=2;
System.out.print(j + " ");
}
}
}
[ while 's example - (3) ]
import java.util.Scanner;
public class WhileEx04 {
public static void main(String[] args) {
//정수를 입력 받고
//입력받은 정수까지의 합
Scanner sc = new Scanner(System.in);
System.out.print("정수>");
int num = sc.nextInt();
int sum=0;
int i = 1;
while(i<=num) {
System.out.println(i);
//id의 합
sum +=i;
i++;
}
System.out.println(num +"까지 합:" + sum);
}
}
[ while 's example - (4) ]
public class WhileEx06 {
public static void main(String[] args) {
// 배열과 반복문
// 시작은 0~길이미만
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum =0;
int i =0;
//i <= arr.length - 1
while(i < arr.length) {
//System.out.println(i);
//System.err.println(arr[i]);
sum += arr[i];
i++;
}
System.out.println("배열 요소의 합:" + sum);
}
}
- 반복문 do ~ while : 조건식의 결과에 상관없이 루프를 반드시 한번 이상 실행시키도록 할 때 사용
while문은 조건식을 먼저 검사하고 실행문이 반복되기 때문에
처음 실행 조건이 false라면 실행문이 단 한번도 실행 X
do ~ while문은 do 이하의 구문이 먼저 한 번 실행된 뒤에 조건식을 검사하므로
결과가 true이든 false이든 무조건 한번은 실행
public class DoWhileEx {
public static void main(String[] args) {
//while문이 do~while 대체 할 수 있어서 많이 사용 x
/*int i = 1;
int sum = 0;
while(i<=10) {
sum +=i;
i++;
}
System.out.println(sum);
*/
int sum = 0;
int i = 1;
do { //do~while문은 조건이 거짓이더라도 무조건 한 번은 실행을 함
sum += i;
i++;
}while(i<=10);
System.out.println(sum);
}
}
'Java 기본 개념' 카테고리의 다른 글
자바를 잡아라 제 6장 - 끝이 어딘지 모를 땐 현재에 집중해라 (2) | 2022.10.06 |
---|---|
자바를 잡아라 제 5장 - 반복만이 살 길이다 (0) | 2022.10.04 |
자바를 잡아라 제 3장 - 느릴 순 있어도 놓치는 말자 (0) | 2022.10.03 |
자바를 잡아라 제 2장 - 길고 짧은 것은 대봐야 알 수 있는 법 (0) | 2022.10.02 |
자바를 잡아라 제 1장 - 아무 것도 아닌 것은 없다 (0) | 2022.09.22 |