728x90
반응형
(22.7.28)
# 7 ~ 11강 제어-조건-반복문
제어문의 정의 - 프로그램의 흐름을 제어하는 문법
제어문의 종류
1. 조건문 : 정해진 조건에 따라 흐름을 제어하는 문법
조건에 따라 가각 다르게 실행하도록 만들어 놓은 제어문
- If문
package day07;
public class IF_true {
public static void main(String[] args) {
if(true) {
System.out.println("항상 참입니다");
}
}
}
package day07;
public class IF {
public static void main(String[] args) {
int a =2;
if(a>3) {
System.out.println("a는 3보다 큽니다.");
}
System.out.println("검사가 끝났습니다.");
}
}
- If-else문
package day07;
public class If_else {
public static void main(String[] args) {
int age=15;
if(age>19) {
System.out.println("성인입니다.");
System.out.println("성인요금이 적용됩니다.");
}
else {//age<=19
System.out.println("청소년입니다.");
System.out.println("청소년요금이 적용됩니다.");
}
System.out.println("결제를 진행해 주세요");
}
}
- If-else if문
package day07;
import java.util.Scanner;
public class If_else_if {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int age;
System.out.println("나이:");
age=sc.nextInt();//정수형으로 키보드 처라
if(age>19) {
System.out.println("성인입니다.");
System.out.println("성인 요금이 적용됩니다.");
}
else if(age>13) {//바로위의 조건을 부정한다 즉 19보다는 작고 13보다는 큰
System.out.println("천소년입니다.");
System.out.println("천소년 요금이 적용됩니다.");
}
else if(age>8) {
System.out.println("초등학생입니다.");
System.out.println("초등학생 요금이 적용됩니다.");
}
else {
System.out.println("유아입니다.");
System.out.println("유아 요금이 적용됩니다"
+ ".");
}
System.out.println("졀재를 진행해 주세요");
}
}
- 중첩 If문
package day07;
import java.util.Scanner;
public class If_if {
public static void main(String[] args) {
String id,password;
Scanner input = new Scanner(System.in);
System.out.print("아이디를 입력해주세요 : ");
id=input.nextLine();//띄어쓰기 까지 입력받기
if(id.equals("gnstjq2772")) {
System.out.println("아이디 일치");
System.out.println("비밀번호를 입력해주세여 : ");
password=input.nextLine();
if(password.equals("song8384!")) {
System.out.println("비밀번호 일치");
System.out.println("로그인 성공!");
}
else {
System.out.println("password 불일치");
}
}
else {
System.out.println("아이디 불일치");
}
}
}
- EX) 포켓몬 게임
package day07;
import java.util.Random;
public class Pokemon {
public static void main(String[] args) {
Random random = new Random();
System.out.println("!!포켓몬게임!!");
System.out.println("1. 피카추 : 전기");
System.out.println("2. 꺼부기 : 물");
System.out.println("3. 파이리 : 불");
int mypokemon=random.nextInt(3)+1;//0~2, 1~3 -1이기 때문에 =1해줌
System.out.println("선택된번호 : " +mypokemon);
switch(mypokemon) {
case 1:
System.out.println("피카추 전기공격");
break;
case 2:
System.out.println("꺼부기 물공격");
break;
case 3:
System.out.println("파이리 불공격");
break;
default:
}
}
}
- switch 문
package day07;
public class SwitchEX {
public static void main(String[] args) {
//일년동안 읽은 책수에 따라 멘트를 출력
int book=2;
book = book/10;
switch(book) {
case 0:
System.out.println("10권 미만이다.");
System.out.println("노력하자");
break;
case 1://10<=book<=20
System.out.println("책 읽는 것을 즐기는 구나.");
System.out.println("좀 더 노력하자");
break;
case 2:
System.out.println("책을 사랑하는구나.");
System.out.println("나도 노력할게");
break;// 브레이크가 없고 조건에 충족하는 부분부터 전부 출려되게 된다.
default:
System.out.println("당신은 다독인입니다.");
}
}
}
//
Random() : 랜덤으로 숫자를 선택해주는 기능
nextInt() : 정수값의 난수를 발생
nextInt(숫자) : 0~숫자-1 까지의 정수값의 난수를 발생
nextFloat() :0.0~1.0 까지의 실수형의 난수를 발생(0.0 1.0 미포함)
2, 반복문 : 정해진 조건에 따라 흐름을 반복하는 문법
- for
package day09;
public class For0 {
public static void main(String[] args) {
for(int i=1;i<=10;i+=2) {
// 단, 짝수 번호만 켜줘
System.out.println(i+"번 컴퓨터 켜줘");//반복 만일100 다 칠것인가??
}
}
}
package day09;
public class For2 {
public static void main(String[] args) {
int sum =0;
for(int i=0;i<=10;i++) {
System.out.printf("i=%d, sum=%d\n",i,sum+=i);
//1~10 까지의 합을 계산해서 출력 더하는 반복문을 간단하게 사용하기
//위해 이런 for문 사용
}
}
}
- while -조건이 참일 동안에 ~ 명령을 반복해라!
package day10;
public class WhlieEX {
public static void main(String[] args) {
int x=1;
while(x<=10) {
System.out.println("x : "+x);
x++;
}
}
}
package day10;
import java.util.Scanner;
public class Whie2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String answer="Y"; // while 문이 실행되도록 참 값주기
int count=0;
while(answer.equals("Y")) {
System.out.println("음악을 재생하시겠습니까?(Y)");
answer=sc.nextLine();
if(answer.equals("Y")) {
System.out.printf("음악을 %d번 재생하시겠습니까/\n",++count);
}
}
System.out.println("재생종료");
}
}
package day10;
import java.util.*;// util 패지키에 있는 모든 클래스를 가져와
import java.util.Scanner;
public class Whie3 {// 업다운 문제
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 어떤 숫자인지 입력해야겠지!
Random random = new Random(); // 내가 답을 알면안되니 랜덤
int user = -1; // 일단 실행할려면
int num=random.nextInt(100)+1;//1부터 100이다.
while(user!=num) {
System.out.print("숫자를 입력:");
user=sc.nextInt(); //값을 입역해야겠지??
//suer==num
if(user==num) {
System.out.println("정답입니다.");
}
else if(user>num) {
System.out.println("Down");
}
else {
System.out.println("Up");
}
}
}
}
- do while - 조건식이 결과값이 거짓이라면 한번은 실행하고 종료한다.
package day10;
public class Whie4 {
public static void main(String[] args) {
int i=100;
do {
System.out.println("적어도 한번은 출력되는 문장");
}while(i<10);
System.out.println("프로그램 종료");
}
}
break문 = 반복이 멈추지 않고 계속해서 실행될 때 멈춤
package day11;
import java.util.Scanner;
public class While_true {
public static void main(String[] args) {
int num;
Scanner sc=new Scanner(System.in);
while(true) {
System.out.print("숫자를 입력 : ");
num=sc.nextInt();
if(num==0) {
System.out.println("반복종료");
break;
}
System.out.println("입력값 :"+num);
}
}
}
package day11;
import java.util.Scanner;
public class Break2 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int i,sum=0;
while(true) {
System.out.println("더할 숫자를 입력해주세요 : (졸료는 0)");
i=sc.nextInt();
if(i==0) {
break;
}
sum+=i;
}
System.out.println("현재까지의 총합 = "+sum);
}
}
continue문 = 아래 명령을 무시하고, 다음 반복을 실행
package day11;
import java.util.Scanner;
public class ContinueEx2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num,i;
while(true) {
System.out.print("숫자입력 :");
num=sc.nextInt();
if(num==0) {
System.out.println("종료");
break;
}
if(num<0) {
System.out.println("아래 명령을 무시하고 다음 반복 진행");
continue;
}
System.out.println("num :"+num);
}
}
}
package day11;
import java.util.Scanner;
public class ContinueEx {
public static void main(String[] args) {
int money = 10000;
System.out.println("현재 가진 돈은 10000원 입니다.");
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("얼마를 사용?");
int i = sc.nextInt();//정수형 값 입력
if(!(0<=i &&i<=money)) {//not이 앞에있다
System.out.println("다시입력 해주세여 사용범위가 틀렸어요");
continue;
}
System.out.printf("이제 %d원이 남음\n", money-=i);
if(money==0) {
break;
}
}
}
}
반응형
'Java > Java 인강' 카테고리의 다른 글
Java 인강 필기 6 (0) | 2022.10.02 |
---|---|
Java 인강 필기 5 (0) | 2022.10.02 |
Java 인강 필기 4 (0) | 2022.10.02 |
Java 인강 필기 2 (0) | 2022.10.02 |
Java 인강 필기 1 (0) | 2022.10.01 |