while문
- 정해진 횟수를 모르거나 어떤 조건에 의해서 반복해야 할 때
- 변수를 밖에 만들어서 반복을 종료할 수 있도록 해야한다.
테스트
- while 문을 이용하여 구구단 2단을 출력,
- while문을 이용하여 구구단 2~9단을 출력하는 코드를 작성학.
public class Test01_While {
public static void main(String[] args) {
int i=1;
while (i<=9) {
System.out.println("2 x " + i + " = " + (2*i));
i++;
}
int j=2;
while (j<=9) {
int k = 1;
while (k<=9) {
System.out.println(j + " x " + k + " = " + (j*k));
k++;
}
j++;
}
}
}
테스트
- 구구단 2~9단을 출력하는데 for문 1개, While문 1개를 써서 출력
public class Test02_WhileFor {
public static void main(String[] args) {
for (int i=2; i<=9; i++) {
int j=1;
while (j<=9) {
System.out.println(i + " x " + j + " = " + (i*j));
j++;
}
}
}
}
break문의 활용
- 제어문을 종료시키는 역할
- if 내부에 넣어 특정 조건에 반복문을 종료하도록 할 수 있다.
- break 뒤에 숫자를 넣으면 상위 제어문을 몇 개를 멈출지 지정할 수 있다.
public class Ex01_Break {
public static void main(String[] args) {
int i=0;
while (true) {
System.out.println("브레이크로 제어문 중지");
break;
}
while(true) {
System.out.println("while 실행중"+i);
if (i==999) {
break;
}
i++;
}
}
}
scanner의 사용
- scanner : 콘솔(IO)
- Input : 사용자가 입력한 값을 콘솔을 통해 에디터(java)로 가져옴
- Output : 콘솔창으로 데이터를 출력(syso)
- 스캐너의 특징 : blockState. 입력을 대기한다. 프로그램은 위에서 아래로 흐른다.
- nextLine은 입력 값을 String으로 받아온다.
import java.util.Scanner;
public class Ex02_Break {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String inputData = scan.nextLine();
System.out.println("입력 값 : " + inputData);
System.out.println("아이디를 입력해주세요");
String userId = scan.nextLine();
System.out.println("비밀번호를 입력해주세요");
String userPw = scan.nextLine();
System.out.println("입력 된 정보 " + userId + " " + userPw);
}
}
Continue
- 뒤의 코드를 무시하고 반복문을 다시 시작한다.
- 비트 연산자 i&j
- 첫 비트들의 연산을 한다.
public class Ex03_Continue {
public static void main(String[] args) {
int oddSum = 0;
for (int i=1;i<=10;i++) {
if((i&1)!=1) {
continue;
}
oddSum+=i;
}
System.out.println(oddSum);
}
}
테스트
- 스캐너를 통해서 입력을 받는다. 입력 된 데이터는 변수에 저장
- 스캐너를 통해 입력 받은 값에 +10한 결과를 출력
- 단 입력은 반드시 숫자 값만 한다.
import java.util.Scanner;
public class Ex01_HighLowGame {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
int num = Integer.parseInt(str);
System.out.println(num+10);
}
}
랜덤 함수의 이용
- Random random = new Random();
- int num = random.nextInt(100);
- 0~99까지의 수를 랜덤으로 뽑는다.
- high-low 게임 만들기
import java.util.Random;
import java.util.Scanner;
public class Ex01_HighLowGame {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Random random = new Random();
int ranNum = random.nextInt(1000) + 1;
int count = 10;
System.out.println("1~1000 사이의 정수를 맞추세요!");
while (true) {
String str = scan.nextLine();
int num = Integer.parseInt(str);
count--;
if (num < ranNum) {
System.out.println("High " + count + "회 남았습니다.");
} else if (num > ranNum) {
System.out.println("Low " + count + "회 남았습니다.");
} else if (num == ranNum) {
System.out.println("정답! 축하드립니다.");
System.out.println("정답까지" + (10 - count) + "회");
break;
} else if (num == -1) {
System.out.println("프로그램을 종료합니다.");
break;
}
if (count == 0) {
System.out.println("패배하셨습니다.");
break;
}
}
}
}
'공부일지' 카테고리의 다른 글
230922 (Java) (0) | 2023.09.22 |
---|---|
230922 (HTML) (0) | 2023.09.22 |
230921 (HTML) (0) | 2023.09.21 |
230920 (Java) (0) | 2023.09.20 |
230920 (HTML) (0) | 2023.09.20 |