230213 네 번째 수업_Java

mary·2023년 2월 13일
0

국비 수업

목록 보기
4/72

아우 피곤해...월요일...

1. 반복문 for/while/do while

:특정 문자들을 반복해서 수행하도록 함.

  1. for문: 몇 번 반복할 건지 정해졌을 때 사용

    for(초기식; 조건식; 증감식){수행문}

for(int i = 1; i<=5; i++) {
//for문도 수행문이 한 줄이면 중괄호 안 써도 됨. 
// i++, ++i 연산하는게 아니어서 앞에 오든 뒤에 오든 상관ㄴㄴ
System.out.println("안녕하세요 KH정보교육원 입니다.");
}

for(int i=1; i<=5; i++)
System.out.println(i + ".하이하이");
=> 
1.하이하이
2.하이하이
3.하이하이
4.하이하이
5.하이하이

1.안녕하세요
3.안녕하세요
5.안녕하세요
.
.
.
이렇게 출력문을 만드려면?

for(int i=1; i<=100; i+=2)
System.out.println(i + ".안녕하세요");

또는

int num = 1;
for(int i=1; i<=100; i++) {
System.out.println(num + ".안녕하세요");
num += 2;
}

* ctrl+shift+'O'
Scanner 썼을 때 import 시켜주는 단축키.
자동으로 넣어줄 수 있도록 설정하려면
Window -> Preferences -> Java -> Editor -> Save Actions -> "perform the selected actions on save



거꾸로 출력하고 싶다면?

for(int i=50; i>=1; i--)
System.out.println(i+".안녕");
=>
50.안녕
49.안녕
48.안녕
.
.
.

*연습문제*
// 1~100까지 누적 합계를 구하시오
//사용자에게 이름을 입력받아 5번 반복하시오
//사용자로부터 두 숫자와 각 연사자를 입력받아 연산한 결과를 출력(3번 반복)
// 1~100까지 홀수의 합, 짝수의 합을 if구문과 함께 구현하시오.
//사용자로부터 몇 단을 입력받아서 구구단을 구현하시오.



  • 중첩 for문 : 안쪽에 있는 for문이 더 많이 반복함.
for(초기값; 조건식; 증감식1) {
			수행문1 
   	}for(초기값2; 조건식2; 증감식2) {
     		수행문2 
     }
   	수행문3
  }
  
  가령,
 for(int i=1; i<=3; i++) {
	for(int j=9; j>=5; j--) {
		System.out.println("i=" + i + ", j=" + j);
	}
}

*연습문제*
//중첩 for문으로 2~9단까지 나타내시오
//'*'이 입력한 갯수대로 늘어나게 구현하시오


주의! 변수가 여러개일 때 조건식은 변수 중에 택1로, 항상 하나만 씀!

for(int i=1, j=10; i<=10; i++, j--) {			
		System.out.println("i=" + i + ", j=" + j);
	}


  • 무한반복 for문
int num1 = 10;
for(;;) {
	num1++;
	System.out.println(num1);
	if(num1 == 20)
		break;		 // 반복문 사용할 때 멈추고 싶은 조건에서 반드시 사용!

  • Random 함수
double random = Math.random(); 		
//난수 발생 : random() / 0.0 ~ 0.9999999999999999을 가짐. 그래서 double형.
System.out.println(random);

1) 정수로 1~10 출력

random2 = (int)(Math.random()*10)+1;
System.out.println(random2);

2) 정수로 0~2 출력

random2 = (int)(Math.random()*3); 		
// 0.999999999 에 3 곱하면 2.7니까
System.out.println(random2);

*연습문제*
//주사위 숫자 맞추기 게임, 사용자에게는 3번의 기회가 있고 랜덤으로 1~6까지의 숫자를 추출하여 사용자가 3회 전까지 숫자 맞추기
hint! 1. 랜덤 추출 2. for 3. 사용자로부터 숫자 입력받기 4. 맞으면 for문 나오기 5. 틀리면 for문 계속
//가위(1),바위(2),보(3) / 1,-2 =유저 승 -1,2= 컴퓨터 승 0은 무승부


  1. while문 : 몇 번 반복할 건지 정해지지 않았을 때 사용.
    조건식이 false가 될 때까지 반복하고 false되면 종료.
while(조건식) { 수행문, 증감식 또는 분기문; }

가령,
for(int i=1; i<=10; i++) {
	System.out.println(i);
}
System.out.println("===========");
		
int i =1;
while(i<=10) {
	System.out.println(i);
	i++;
}

*연습문제*
//사용자로부터 점수를 입력받아 A~F학점 출력, 사용자가 점수(1~100)를 넣으면 while을 이용하여 계속, -1을 넣으면 정지

profile
내 인생을 망치러 온 나의 구원, 개발

0개의 댓글