코드 그라데이션
후발대 4일차 본문
주제 : 조건문과 반복문
수업내용
(부연설명 지금부터 다 적어두었음 => 옆에 주석)
반복문
- for 문
- for - each 문
- while 문
- do-while 문
package study;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Day04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num=0;
while (num != 3) {
System.out.println("다음 중 프로그래밍 언어가 아닌것은?");
System.out.println("1. Javascript\n2. Java\n3. 망둥어\n4. HTML");
int num = sc.nextInt();
if (num == 3) {
System.out.println("정답입니다.");
} else if (num == 1 || num == 2 || num == 4) {
System.out.println("오답입니다.");
} else {
System.out.println("잘못 입력 하셨습니다. ");
}
===
while(true){
System.out.println("다음 중 프로그래밍 언어가 아닌것은?");
System.out.println("1. Javascript\n2. Java\n3.스파르타\n4. HTML\n0. 나가기");
num=sc.nextInt();
if(num==3){
System.out.println("정답입니다.");
} else if(num==1||num==2||num==4){
System.out.println("오답입니다.");
} else if(num==0){
System.out.println("안녕히 가세요.");
break;
} else {
System.out.println("잘못 입력 하셨습니다. ");
}
}
---
// 반복문
// while VS for
// while: 반복횟수가 불확실할때, 무한히
// for: 명확할때, 배열과 함께
// 코드의 간략화,간소화
// 코드의 재사용성 증가 << 비용 절감
// for문 문법
// for(시작조건(초기식); 반복을 계속할조건(종결식); 더하기(증감식)) {실행문}
// for문 원격 강의자료 복습
List<String> fruits = new ArrayList<>();
fruits.add("감");
fruits.add("사과");
fruits.add("메론");
fruits.add("배");
fruits.add("딸기");
fruits.add("딸기");
fruits.add("감");
fruits.add("배");
fruits.add("메론");
fruits.add("수박");
fruits.add("체리");
fruits.add("사과");
System.out.println(fruits.get(0));
System.out.println(fruits.get(1));
System.out.println(fruits.get(2));
System.out.println(fruits.get(3));
System.out.println(fruits.get(4));
System.out.println(fruits.get(5));
System.out.println(fruits.get(6));
System.out.println(fruits.get(7));
System.out.println(fruits.get(8));
System.out.println(fruits.get(9));
System.out.println(fruits.get(10));
System.out.println(fruits.get(11));
// 위의 인덱스에서 값을 꺼내오는 방식을 반복문을 통해 코드가 간결해 짐.
for (int i = 0; i < 12; i++) {
System.out.println(fruits.get(i));
}
------------------------------------------
// for문 원격 강의자료 복습,
// 1~10까지 더하는 예제
int sum = 0;
for (int i = 0; i < 10; i++) { // 0부터 시작할것이므로 <10
sum += (i+1);
// 연산과정이 계속 찍힘 => 여기다 쓰면 더하는 과정이 전부 보인다!
// System.out.println(sum);
}
// 최종 합계만 결과만 출력하려면 실행문 밖에서 출력
System.out.println(sum);
}
}
-----------
// for-each문(3항연산자와 생김새 구분 할것)
String[] seasons = {"봄", "여름", "가을", "겨울"};
for(String season: seasons){
System.out.println(season);
// (참고)아래의 주석코드로 찍으면 줄바꿈없이 하나의 값 출력하고 띄어쓰기 하는 형태로 값을 가져 옴.
// System.out.print(season+ " ");
}
* for-each문
//- 담을 변수명과 자료형을 하나씩 선언해주고, 위의 변수를 찍어주면 이 변수에 담긴 값을 돌면서 하나씩 출력해준다.
//- for-each문은 삼항연산자와 생긴 게 꽤 비슷하다.
//- 삼항연산자는 자료형과 변수명을 사용하고, 조건식을 쓰고, 콜론을 기준으로 참일 때 실행코드, 거짓일 때 실행코드를 사용했다면,
//- for-each문은 내가 담을 변수를 자료형과 함께 선언해주고, 기존에 있던 변수에서 하나씩 꺼내오는 형태로 쓰게 된다.
-------------------------------------------
// while문,
//10까지 더하는 프로그램
int i = 0;
int sum1 = 0;
// 조건이 하나만 온다
while (i < 10) { // 저 괄호 안에 범위가 아니라 조건식이 들어가게 되는게 for문과의 차이점이지.
sum1 += (i + 1);
// 만약 i++을 안쓰면 무한 루프에 빠지게 된다. 막대한 자원의 손실. 따라서 조심해야한다.
i++;
}
System.out.println(sum1);
}
}
------------
do while 문
int i =0;
int sum = 0;
do {
sum += (i+1);
i++;
}while (i<10);
System.out.println(sum);
-----------
// 퀴즈 01. 정수를 입력받아 홀수의 개수를 구하는 프로그램
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("정수를 입력해주세요: ");
int num = sc.nextInt();
int i = 1; //i는 양의정수이므로.
int total = 0; // 전체 개수 구하는 변수
while (i<=num) {
//홀수이면 값 증가하게
if(i%2 == 1) {
total++;
}
i++;
}
System.out.println(num+ "까지의 홀수의 개수는 " + total + " 개 입니다.");
}
------------
// 퀴즈 02. 자연수 n을 입력받아 n까지 짝수의 합을 구하는 프로그램을 구현하세요.
Scanner sc = new Scanner(System.in);
System.out.println("자연수n 을 입력하세요: ");
int n = sc.nextInt();
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) {
sum = sum + i;
}
}
System.out.println(sum);
-----------
// 퀴즈 03. 숫자 10개를 입력받아 짝수와 홀수의 개수를 구하는 프로그램
System.out.println("숫자를 10개 입력해 주세요: ");
int even = 0;
int odd = 0;
for (int i = 0; i < 10; i++) {
System.out.println((i + 1) + "번째 숫자: ");
int n = sc.nextInt();
if (n % 2 == 0) {
even++;
} else {
odd++;
}
}
System.out.println("짝수의 개수: " + even + " 홀수의 개수: " + odd);
----------
// 퀴즈 04. 구구단 (2~9단) 까지 출력
for(int i=2;i< 10;i++){
for(int j=1;j< 10;j++){
System.out.println(i+" * "+j+" = "+(i*j));
// 아래는 가로로 단을 출력하는 코드
// System.out.print(i+" * "+j+" = "+(i*j)+ "\t");
}
System.out.println();
}
}
}
728x90
Comments