Java/조건문 & 반복문
-
Scanner를 통해 사용자로부터 입력받은 수만큼 별 찍기를 반복하기, 자바스크립트로 별 찍기Java/조건문 & 반복문 2020. 11. 4. 19:32
예를들어서 * *** ***** ******* ********* 위와같은 모양처럼 별을 찍고 싶을 때, 어떻게하면 될까? 1. 우선 총 5번이 반복되고, 별이 1개가 찍히고, 다음줄에서 3개, 5개, 7개, 9개가 찍히고 있다. 2. 별이 찍히는 규칙을 살펴보면 2개씩 증가하는 것을 알 수 있다. 3. 그리고 별 앞에는 공백이 찍히는데, 그 공백이 총 반복횟수 5에서 1씩 줄어드는 것을 확인할 수 있다. 우선 이러한 규칙을 찾았고, 별을 찍어보면 아래와 같은 코드를 작성하면 된다. 위의 코드를 출력하면, 아래와 같이 결과가 잘 출력된다. 사용자로부터 입력받은 숫자만큼, 반복하고 싶어서 스캐너를 사용하여 입력받아보면 아래와 같이 작성할 수 있다. 11이라는 숫자를 입력받아서 11번 반복한다. 그리고 더이상..
-
조건문과 반복문 연습문제Java/조건문 & 반복문 2020. 11. 3. 23:20
자바의 정석 챕터 4의 연습문제를 풀어보고, 틀린 문제는 다시 한번 생각해볼 것이다. 풀어서 맞춘답 표시 풀어서 틀린답 표시 및 코드로 직접 실습해보기 1. 다음의 문장들을 조건식으로 표현하라. 1) int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 10 < x && x < 20 2) char형 변수 ch가 공백이나 탭이 아닐 때 true인 조건식 !( ch == ' ' || ch =='\t' ) or ch != ' ' && ch != '\t' 3) char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식 ch == 'x' || ch == 'X' 4) char형 변수 ch가 숫자('0' ~ '9')일 때 true인 조건식 '0'
-
중첩 반복문 앞에와 break, continue문에 이름을 지정하여 하나 이상의 반복문을 벗어나거나 반복을 건너 띄기Java/조건문 & 반복문 2020. 10. 30. 13:58
break문은 근접한 단 하나의 반복문만 벗어날 수 있다. 여러 개의 반복문이 중첩된 경우에는 break문으로 중첩 반복문을 완전히 벗어날 수 없다. 이때에는 중첩 반복문 앞에 이름을 붙이고, break문과 continue문에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복문을 건너뛸 수 있다. 아래의 구구단을 출력하는 예제를 실습해볼 것이다. 제일 바깥쪽에 있는 for문에 Loop1이라는 이름을 붙이고, j가 7일 때 break문을 수행하도록 했다. 반복문 이름이 지정되지 않은 break문은 자신이 속한 하나의 반복문만 벗어날 수 있다. 하지만 위의 코드처럼 반복문에 이름을 붙여주고 break문에 반복문 이름을 지정해주면 하나 이상의 반복문도 벗어날 수 있다. j가 7일 대 반복문 Loop..
-
break문과 continue문Java/조건문 & 반복문 2020. 10. 30. 11:18
break문과 continue문을 이용하여 메뉴를 보여주고 선태하는 예제를 실습해보겠다. 메뉴를 잘못선택한 경우, continue문으로 다시 메뉴를 보여주고, 종료 ( 0 )를 선택한 경우 break문으로 반복을 벗어나 프로그램을 종료되도록 한다. [참고 도서 Java의 정석_기초편] http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994492049&orderClick=LEa&Kc=
-
continue문Java/조건문 & 반복문 2020. 10. 30. 10:59
continue문은 반복문 내에서만 사용할 수 있다. 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복문으로 넘어가게 된다. for문의 경우 증감식으로 이동하고, while / do-while문은 조건식으로 이동하게 된다. continue문은 반복문 전체를 벗어나지 않고, 다음 반복을 계속 수행한다는 점이 break문과 다르다. 주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다. 전체 반복문 중에서 특정조건을 만족하는 경우를 제외하고자 할 때 유용하게 사용한다. 1 ~ 40 사이의 숫자를 출력하는 예제이다. 그 중 3의 배수인 수는 제외하고 출력하도록 하였다. i의 값이..
-
break 문Java/조건문 & 반복문 2020. 10. 30. 10:29
switch문에서 break문에 대해서 나왔던 것을 기억할 수 있다. 반복문에서도 break문을 사용할 수 있는데, switch문에서 그랬던 것과같이 break문은 자신이 포함된 가장 가까운 반복문을 벗어나게 된다. 주로 if문과 함께 사용되어 특정한 조건을 만족하게 되면 반복문을 끝내게 된다. 숫자를 1부터 계속 더해서 몇까지 더하면 합이 100을 넘는지 알아내는 실습코드, x의 값을 1부터 1씩 증가시켜가며 더해서 sum에 저장한다. sum의 값이 100을 넘으면 if문의 조건식이 참이므로 break문이 수행되고, 자기자신이 속한 반복문을 즉시 벗어나게 된다. 이처럼 무한 반복문에는 조건문과 break문이 항상 같이 사용된다. 그렇지 않으면 무한히 반복되기 때문에 프로그램이 종료되지 않는다. 위의 코..
-
do-while문Java/조건문 & 반복문 2020. 10. 30. 10:15
do-while문은 while문의 변형으로 기본적인 구조는 while문과 같다. 다른점은 조건식과 { } 블럭의 순서를 바꿔놓았다는 점이다. 그래서 do-while문은 while문과는 반대로 { } 블럭을 먼저 실행한 뒤, 조건식을 따지게 된다. while문은 조건식의 결과에 따라 블럭 { }이 한 번도 수행되지 않을 수 있지만, do-while문은 최소한 한 번은 수행되는것을 보장한다. do { //조건식의 연산결과가 참일 때 수행될 문장들을 정의한다. (처음에 한 번은 무조건 실행된다.) } while ( 조건식 ); 아래의 코드는 반복적으로 사용자의 입력을 받아서 처리할 때 유용하게 쓰이는 코드이다. 1 ~ 20 까지의 정수를 입력받은 값과 Math.random( )을 이용해서 1~20 사이의 임의..
-
While문 예제Java/조건문 & 반복문 2020. 10. 29. 23:13
변수 i의 값만큼 while문 안의 { } 블럭을 반복하는 예제 코드를 구현해 볼 것이다. i의 값을 7로 주고, while문 안의 조건식에서 i의 값을 후위 감소연산자를 통해 1씩 감소하게해서 7번 반복하고 6, 5, 4, 3, 2, 1, 0이 출력될 것이다. while 문의 조건식 'i-- != 0'는 i의 값이 0의 값이 0이 아닌동안만 참이 되고, i의 값이 매 반복마다 1씩 감소하다 0이 되면 조건식이 거짓이 되어 while문을 벗어나게 된다. while ( i-- != 0 ) { System.out.println( i ); } 위의 코드에서 i는 후위형이므로 조건식이 평가된 후에 i의 값이 감소된다. i의 값이 1일 때는 조건식이 참으로 평가된 후에 i의 값이 1 감소되어 0이 된다. 그래서 ..
-
while 문Java/조건문 & 반복문 2020. 10. 23. 17:25
while문은 for문에 비해서 구조가 간단하다. if문처럼 조건식과 블럭 { }만으로 이루어져있는데 if문과는 다르게 while문은 조건식이 '참(true)'일 때만 블럭 { } 내의 문장을 반복한다. while ( 조건식 ) { //조건식의 연산결과가 참(true)인 동안만 이 안에서 문장이 반복되고, 반복될 문장들을 정의해야된다. } while문의 동작원리를 살펴보면, 먼저 조건식을 평가해서 조건식이 거짓이면 문장 전체를 벗어나고, 참이면 블럭 { } 안의 문장을 수행하고, 다시 조건식으로 돌아간다. 조건식이 거짓이 될 때 까지 이 과정이 계속 반복된다. while ( 1) 조건식 1 ) { 2) 수행될 문장 } 1) 조건식이 참(true)이면 블럭 { } 안으로 들어가고, 거짓(false)이면 w..
-
중첩 for문, 다양한 별 찍기, 삼각형 찍기Java/조건문 & 반복문 2020. 10. 23. 15:57
중첩 for문이란, for문 안에 또 다른 for문을 포함시키는 것이 가능하고, 중첩 횟수에는 제한이 없다. 보통 for문을 이해하기 위해서 별찍기가 예로 들어지기 때문에, 별찍기를 통해서 for문을 이해해보도록 할 것이다. 8행 15열의 별 '★'을 어떻게 해야될까? ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★ 가장 간단하게 별을 찍는 방법은 System.out.println("★★★★★★★★★★★★★★★"); 이 문장을 아래와 같이 15번 반복해서 실행하면 별을 찍을 수 있다. 하지만, for문을 이용하면 동일하게 반복..