** While
[표현문]
while(조건식) {
실행문
}
---> 조건식의 결과값이 true이면 실행문 반복 실행
---> 조건식의 결과값이 false이면 실행문을 건너 뛴다.(while문을 벗어나게 되는 것)
예제)
1. 다섯번만 반복하는 조건문 만들기
int i = 0;
while(i < 5) {
System.out.println(i + "번째 반복문입니다.);
i++; // i 가 1씩 증가해야 4번째까지 도달할 수 있다. 안해주면 무한반복하게 됨
}
2. 정수를 입력받아 구구단 출력하기
System.out.println("정수 하나를 입력하세요: ");
int num = sc.nextInt();
int no = 1;
while(no <10) { //얼마나 반복할지 조건식을 넣어줘야 한다.
System.out.println ( num * no );
no++; //no의 크기가 증가해야 *1, *2 이런식으로 할 수 있다.
}
3. 사용자에게 비밀번호를 입력받아 비밀번호가 맞을 경우 로그인, 아닐 경우 로그인을 반복하게 한다.
단, 5회 실패시 프로그램 종료
Scanner sc = new Scanner(System.in);
String pw = "";
String realpw = "12345";
int i = 0;
while(i < 5) {
System.out.println("비밀번호를 입력해주세요 : ");
pw = sc.nextLine();
if(!realpw.equals(pw)) {
System.out.println("비밀번호를 " + (i+1) +"회 잘못입력하셨습니다.");
i++;
if(i == 5) {
System.out.println("비밀번호를 " + i + "회 잘못입력하여 프로그램을 종료합니다.");
}
} else if(realpw.equals(pw)){
System.out.println("로그인에 성공하였습니다."); break;
}
}
}
** doWhile
[표현식]
doWhile {
실행문
} while( 조건문 )
: do{}안에 있는 실행문을 먼저 1회 실행한 다음,
while의 조건문의 조건식을 판단해서 true이면 실행코드를 반복하고
false이면 반복문을 탈출한다.
** for문
[표현식]
for(초기식; 조건식; 증감식) {
실행문
}
(num은 사용자에게 입력받은 값)
ex) for(int i = 0 ; i < num ; i++){
}
---> 이 표현식을 풀어서 정리하면,
int 타입의 i 변수의 초기값을 0으로 선언하고, 이 i 는 사용자에게 입력받은 값인
num보다 적은수만큼만 반복하며, 반복문이 끝나면 i가 후위연산된다.
(여기서 num보다 적은수 만큼만 반복하는 것은 i의 초기값이 '0'이기 때문 !
** 이중 for문
---> 별찍기 문제를 풀어보면 좋음 !
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
public void quizeStar() {
// 정수를 입력받아 그만큼 삼각형 모양으로 별찍기하는 메소드
System.out.println("정수를 입력해주세요 : ");
int num = sc.nextInt();
for (int i = 1; i <= num; i++) { // 0칸이 나오는게 싫어서 이렇게 함 원래는 (int i=0; i<num; i++);
for (int j = 1; j <= i; j++) { // 0칸이 나오는게 싫어서 이렇게 함 원래는 (int j=0; j<i; j++);
System.out.print("*");
}
}
}
public void quizestar2() {
// 정수를 입력받아 그 수만큼 거꾸로 된 삼각형을 만드는 메소드
System.out.println("정수를 입력하세요 : ");
int num = sc.nextInt();
for (int i = 0; i < num; i++) {
for (int j = i; j < num; j++) {
System.out.print("*");
}
System.out.println();
}
}
public void quizestar3() {
// 정수를 입력받아 오른쪽으로 정렬되는 삼각형 만들기 메소드
System.out.println("정수를 입력해주세요 : ");
int num = sc.nextInt();
for (int i = 0; i < num; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int k = i; k < num; k++) {
System.out.print("*");
}
System.out.println("");
}
}
public void quizeStar4() {
//정수의 수만큼의 크기의 역삼각형 만들기
System.out.println("정수를 입력해주세요 :");
int num = sc.nextInt();
for (int i = 0; i < num; i++) {
for(int a = 0; a <= i; a++) {
System.out.print(" ");
}
for (int j = i; j < num-1; j++) {
System.out.print("*");
}
for (int k = i; k < num; k++) {
System.out.print("*");
}
System.out.println(" ");
}
}
|
cs |
** continue
- 이 continue를 사용하면 그 즉시 조건식(while) 또는 증감식(for)로 돌아간다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public void testContinue() {
// 1~10까지 정수들의 합계 출력하기
// 단 4의 배수는 제외하고 계산
int sum = 0;
for(int i = 1 ; i < 11 ; i++) {
if(1%4 == 0) {
continue; // 뒤로 보내지 않고 위로 올린다
}
sum += 1;
}
System.out.println("합계 : " + sum);
}
|
cs |
** break
- break문은 반복문 내에서 즉시 반복을 멈추기 위한 예약어
- 일반적으로 if문과 함께 사용해 특정 조건일 때 반복을 멈추도록 설정한다.
(switch 문과도 자주 사용된다.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public void testBreak() {
// 문자열을 입력받아 문자열의 문자수를 출력하는 메소드
// 사용자가 "end" 입력하면 반복을 종료함
// do-while
Scanner sc = new Scanner(System.in);
do {
System.out.println("문자열 입력: ");
String str = sc.nextLine();
if(str.equals("end")) {
break;
}
//String.length : 문자열의 길이를 반환하는 메서드
System.out.println("글자갯수 : " + str.length());
} while(true);
}
|
cs |
'BackEnd > Java' 카테고리의 다른 글
Java] 객체지향 - 추상화, 캡슐화 (0) | 2020.11.16 |
---|---|
JAVA] 배열(Array) - 배열 (0) | 2020.11.12 |
JAVA] 형변환 테스트 (0) | 2020.11.11 |
JAVA] 상수 테스트 / 오버플로우 테스트 (0) | 2020.11.11 |
JAVA ] 변수값 변경 테스트 (0) | 2020.11.10 |
댓글