아우 피곤해...월요일...
:특정 문자들을 반복해서 수행하도록 함.
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(초기값; 조건식; 증감식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);
}
int num1 = 10;
for(;;) {
num1++;
System.out.println(num1);
if(num1 == 20)
break; // 반복문 사용할 때 멈추고 싶은 조건에서 반드시 사용!
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은 무승부
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을 넣으면 정지