❗break; |
* 탈출문 break; : break문을 만나는 순간 "가장 가까운 반복문"을 빠져나간다. * 해당 break문이 속해 있는 반복문 딱 "한 겹"만 빠져나감!!!!!!!!!!!!!!! * 주의할 점 : switch문 안에 break;와 다른 개념 * switch문 내부에 존재하는 break는 해당 switch문을 빠져나가는 용도일 뿐이다@! |
public void method1() { // 메소드1
// 매번 반복적으로 새롭게 발생되는 랜덤값 출력 (1~100) => 무한하게
// 그 랜덤 값이 홀수일 경우 반복문을 빠져나가게 할 것!!
// 1. for(;;) >> 무한하게 돌아갈 때 초기식 조건식 증감식 안 씀
// 2. while(true) >> true일 때 무한하게 돌아감
for(;;) {
int random = (int)(Math.random() * 100) + 1;
if(random % 2 == 1) {
System.out.println("반복문 탈출!");
break;
} else {
System.out.println(random);
}
}// for문 끝 >> break; 여기로 옴
}// 메소드1 끝
public void method2() { // 메소드2시작
// 사용자에게 문자열을 입력 받은 후
// 해당 문자열의 길이를 출력하자
// 단, 사용자가 "exit"을 입력할 경우 반복문을 빠져나가게 함
Scanner sc = new Scanner(System.in); // 반복문 바깥에 있는게 좋음
while(true) { //무한반복
System.out.println("문자열을 입력해주세요.");
String str = sc.nextLine();
// 문자열은 참조자료형, 동등비교 불가!!
if(str.equals("exit")) {//if 시작
System.out.println("프로그램이 종료됩니다.");
break;
}//if 끝
System.out.println(str.length()); // 문자의 길이(int)를 반환하는 메소드
}//while끝
} //메소드 끝
/*
* 연산자와 정수 두 개를 입력받아 입력된 연산자에 따라 알맞은 결과를 출력하세요.
* 단. 해당 프로그램은 연산자 입력에 "exit"이라는 값이 들어올 때까지 무한 반복하며
* "exit"이 들어오면 "프로그램을 종료합니다"라고 출력하고 종료합니다.
*
* 또한, 연산자가 나누기이면서 두 번째 정수가 0으로 들어오면
* "0으로는 나눌 수 없습니다. 다시 입력해주세요"를 출력하고,
* 없는 연산자를 입력 시 "없는 연산자입니다. 다시 입력해주세요." 라고 출력하고
* 두 경우 모두 처음으로 돌아가 사용자가 다시 정수부터 입력하도록 하세요.
*/
public void method4() {//method4 시작
Scanner sc = new Scanner(System.in);
while(true) {//while시작
System.out.println("연산자를 입력해주세요 \n종료를 원하면 \"exit\"를 입력해주세요");
String op = sc.next();
if(op.equals("exit")) {
System.out.println("프로그램을 종료합니다.");
return;
}
System.out.println("\n정수1 : ");
int num1 = sc.nextInt();
System.out.println("정수2 : ");
int num2 = sc.nextInt();
int result = 0;
boolean flag = true;
switch(op) {
case "+" : result = num1 + num2;
break;
case "-" : result = num1 - num2;
break;
case "*" : result = num1 * num2;
break;
case "/" :
if(num2 == 0) {
System.out.println("0으로는 나눌 수 없습니다.");
flag = false;
} else {
result = num1 / num2;
}
break;
case "%" : result = num1 % num2;
break;
default : System.out.println("없는 연산자입니다. 다시 입력해주세요.");
flag = false;
} //switch 끝
if(flag) {
System.out.printf("%d %s %d = %d\n", num1, op, num2, result);
}
}//while끝
} //method4끝

❗continue : 반복문 안에서 쓰이는 구문! |
* continue를 만나면 그 뒤에 어떤 구문이 있든간에 실행하지 않고 pass * 가장 가까운 반복문으로 올라가는 것을 의미함 |
public void method3(){ //메소드3
// 5칸짜리 정수 배열을 만들고 숫자 입력받기
// int[] arr = new int[5];
// 1~100까지 숫자만 입력받기
// 만약, 범위를 넘어선 숫자를 입력받는다면 "다시 입력하세요!!" 출력 후 다시 입력받자
//
int[] arr = new int[5]; // arr=식별자, int형 배열
Scanner sc = new Scanner(System.in);
for(int i = 0; i < arr.length; i++) {//for 시작
System.out.println("숫자 입력(1~100)");
int temp = sc.nextInt();
if(!(1 <= temp && temp <= 100)) {
System.out.println("다시 입력해주세요");
i--; // 감소하고
continue; // for문으로 돌아가 다시 증가
}
arr[i] = temp;
}//for 끝
System.out.println(Arrays.toString(arr));
} //메소드3끝

'국비 > Java' 카테고리의 다른 글
[07-1] Java - 배열, 배열복사 (0) | 2022.04.15 |
---|---|
[06-2] Java - 배열(Array) (0) | 2022.04.14 |
[05-2] 과제 (0) | 2022.04.13 |
[05-1] Java - 반복문 (for, while, do-while) (0) | 2022.04.13 |
[04-2] 과제 (0) | 2022.04.12 |