서노썬
sun noes sun
서노썬
전체 방문자
오늘
어제
  • 카테고리 (142)
    • Java (89)
      • Day1 (20)
      • Day2 (16)
      • Day3 (4)
      • Day4 (5)
      • Day5 (2)
      • Day6 (2)
      • Day7 (4)
      • Day8 (6)
      • Day9 (3)
      • Day10 (0)
      • Day11 (0)
      • Day12 (0)
      • Day13 (3)
      • Day14 (0)
      • Day15 (0)
      • Day16 (0)
      • Day19 (0)
      • Day20 (0)
      • Day21 (2)
      • Day22 (4)
      • Day23 (2)
      • Day24 (5)
      • Day25 (4)
      • Day27 (2)
      • Day28 (3)
      • Day29 (1)
      • Day30 (1)
      • Day31 (0)
      • Day32 (0)
      • Dat33 (0)
      • Day34 (0)
      • Day35 (0)
      • Day36 (0)
    • HTML (37)
      • Day36 (20)
      • Day37 (3)
      • Day38 (2)
      • Day39 (8)
      • Day40 (3)
    • SQL (4)
      • Day40 (4)
      • Day41 (0)
      • Day42 (0)
      • Day43 (0)
      • Day44 (0)
      • Day45 (0)
    • JSP (0)
      • Day46 (0)
      • Day75 (0)
    • PYTHON (0)
      • Day75 (0)
      • Day76 (0)
    • Photo (12)

블로그 메뉴

  • 홈
  • 방명록

인기 글

최근 글

태그

  • Java
  • 자바continue
  • java메뉴입력
  • 논리연산자
  • 자바
  • 자바break
  • java자료형
  • java데이터타입
  • 자바자료형
  • 자바연산자

티스토리

hELLO · Designed By 정상우.
서노썬

sun noes sun

Java/Day2

[Java] continue 와 break 예문 & 논리 OR연산자, 논리 AND 연산자

2021. 10. 31. 16:17

1. continue 와 break 를 사용한 예문

 

(1) break 사용 예문

 

for(i=1;true;i++) 반복문 설정하고 ' 1+2+3+ ... ' 순차적으로 더했을 때 값이 최초로 5000을 넘는 수를 break를 통해 구현하기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package ContinueAndBreak;
 
public class ContinueAndBreakTest4 {
 
    public static void main(String[] args) {
        int i=0, sum=0;
        for(i=1; true; i++) {
            sum+=i;
            if(sum>5000) {
                System.out.println(sum);
                break;
            }
        }
    }
 
}
Colored by Color Scripter
cs

 

- 출력값

5050

 

- 설명

for문의 조건을 true로 주었을 때 무한루프를 돌게 되기 때문에 이 반복문을 멈출 수 있는 방법은 오직 break. 출력문 이후 break를 사용하여 반복을 멈춰준다.

 

 

(2) continue 사용 예문

 

continue를 사용하여 1부터 20까지 2의 배수와 3의 배수를 제외하고 출력하기.

 

① 1~20까지의 숫자를 출력하는 방법

↓

② 1~20까지 2의 배수는 출력하지 않는 방법

↓

③ 1~20까지 2의 배수와 3의 배수를 출력하지 않는 방법

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package ContinueAndBreak;
 
public class ContinueAndBreakTest5 {
 
    public static void main(String[] args) {
        int i=0;
        for(i=1; i<=20; i++) {
            if(i%2==0 || i%3==0) continue;
            System.out.print(i + "  ");
        }
 
    }
 
}
Colored by Color Scripter
cs

 

- 출력값

1  5  7  11  13  17  19

 

- 설명

2의 배수는 2로 나눈 나머지 값이 0이고, 3의 배수는 3으로 나눈 나머지의 값이 0이다. 나머지 연산자를 통해서 2로 나눈 나머지가 0인 값과 3으로 나눈 나머지가 0인 값은 continue를 만나서 식을 빠져나가 다시 for 반복문의 조건과 증감이 실행된다. i의 값이 20이 될 때까지 이 과정을 반복하여 2로 나눈 나머지가 0이 아니면서 3으로 나눈 나머지도 0이 아닌 값만 출력이 된다.

 

 

* 논리 OR 연산자 ( || )

 

1
2
3
4
if(i%2==0 || i%3==0) continue;
 
if(i%2==0) continue;
if(i%3==0) continue;      
cs

 

 

위에서 사용된 if(i%2==0 || i%3==0) continue; 는 if(i%2==0) continue; 과 if(i%3==0) continue; 가 합해진 것이다.

 

가운데의 || 는 논리 OR 연산자이다.

 

2개의 수식을 하나로 합해줄 때 사용되며 조건 중 하나만 참이어도 전체의 값을 참으로 판단한다. 즉, 앞의 값이나 뒤의 값 둘 중 하나만 참이어도 전체 수식을 참 true로 판단한다.

 

위에서처럼 병렬구조의 if문은 논리 OR 연산자로 바꿀 수 있다.

 

 

(3) break 사용 예문2

 

break를 사용하여 5의 배수이자 7의 배수인 가장 작은 수를 구하기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package ContinueAndBreak;
 
public class ContinueAndBreakTest6 {
 
    public static void main(String[] args) {
        int i=0;
        for(i=1; true; i++) {
            if(i%5==0 && i%7==0) {
                System.out.println(i + "  ");
                break;
            }
        }
 
    }
 
}
Colored by Color Scripter
cs

 

- 출력값

35

 

- 설명

5의 배수는 5로 나눈 나머지 값이 0이고, 7의 배수는 7으로 나눈 나머지의 값이 0이다. 나머지 연산자를 통해서 5로 나눈 나머지가 0인 값이면서 7로 나눈 나머지도 0인 최초의 값을 출력한 후 break를 만나 식이 바로 종료되면 된다.

5와 7의 공배수 중 값이 가장 작은 수를 구해주면 된다.

 

 

* 논리 AND 연산자 ( && )

 

1
2
3
4
if(i%5==0 && i%7==0)
 
if(i%5==0)
if(i%7==0)
cs

 

위에서 사용된 if(i%5==0 && i%7==0) 는 if(i%5==0) 과 if(i%7==0) 가 합해진 것이다.

 

가운데의 && 는 논리 AND 연산자이다.

 

2개의 수식을 하나로 합해줄 때 사용되며 조건이 모두 다 참이어야 전체의 값을 참으로 판단한다. 즉, 앞의 값이나 뒤의 값 둘 다 참이어야 전체 수식을 참 true로 판단한다.

 

if문 안에 if문이 있는 경우 논리 AND 연산자로 바꿀 수 있다.

 

 

(4) continue 예문2

 

100이하의 자연수 중에 5의 배수이자 7의 배수인 정수를 전부 출력하고, 그 수를 세어보는 프로그램.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package ContinueAndBreak;
 
public class ContinueAndBreakTest7 {
 
    public static void main(String[] args) {
        int i=0, cnt=0;
        for(i=1; i<=100; i++) {
            if(i%5!=0 || i%7!=0) continue;
            cnt++;
            System.out.print(i + "  ");
        }
        System.out.println(" /  " + cnt +"개");
    }
 
}
Colored by Color Scripter
cs

 

- 출력값

35  70  /  2개

 

- 설명

1과 100사이에서 i는 1씩 증가하며 실행문이 반복된다.

 

if(i%5!=0 || i%7!=0) continue; 를 보면 i를 5로 나눈 나머지가 0이 아니거나 7로 나눈 나머지가 0이 아닌 2개의 경우는 continue를 만나 아래의 실행문이 출력되지 않고 다시 반복문으로 돌아가게 된다.

'Java > Day2' 카테고리의 다른 글

[Java] 난수  (0) 2021.10.31
[Java] 논리 NOT 연산자  (0) 2021.10.31
[Java] continue 와 break  (0) 2021.10.31
[Java] Selection sort 선택 정렬 알고리즘  (0) 2021.10.31
치환  (0) 2021.10.31
    'Java/Day2' 카테고리의 다른 글
    • [Java] 난수
    • [Java] 논리 NOT 연산자
    • [Java] continue 와 break
    • [Java] Selection sort 선택 정렬 알고리즘

    티스토리툴바