if(x==0) System.out.println("x==0");
if(x!=0) System.out.println("x!=0"); // !0 = 1
if(!(x==0)) System.out.println("!(x==0)"); //!(TRUE) = FALSE
if(!(x!=0)) System.out.println("!(x!=0)"); //!(FALSE) = TRUE(1)
System.out.println();
x = 1;
System.out.printf("x=%d 일 때 참인 것은%n", x);
if(x==0) System.out.println("x==0");
if(x!=0) System.out.println("x!=0");
if(!(x==0)) System.out.println("!(x==0)");
if(!(x!=0)) System.out.println("!(x!=0)");
}
}
// 4_2 FlowEx2.java
// if문 - 조건 처리
// Integer.parseInt(문자열) : 문자열>integer
import java.util.Scanner;
public class FlowEx2 {
public static void main(String[] args) {
int input;
System.out.println("숫자를 하나 입력하세요.>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine(); // 화면으로 입력받은 내용 tmp에 저장
input = Integer.parseInt(tmp); // 입력받은 문자열 int로 변환
if(input==0) {
System.out.println("입력하신 숫자는 0입니다");
}
if(input!=0)
System.out.println("입력하신 숫자는 0이 아닙니다");
System.out.printf("입력하신 숫자는 %d입니다", input); // if 문에 포함 안됨
}
}
// 4_3 FlowEx3.java
// if문 - 조건 판별
import java.util.Scanner;
public class FlowEx3 {
public static void main(String[] args) {
int input;
System.out.println("숫자를 하나 입력하세요.>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
input = Integer.parseInt(tmp);
if(input==0) {
System.out.println("입력하신 숫자는 0입니다.");
} else {
System.out.println("입력하신 숫자는 0이 아닙니다.");
}
}
}
// 4_4 FlowEx4.java
// 성적에 따른 학점 출력
import java.util.Scanner;
public class FlowEx4 {
public static void main(String[] args) {
int score = 0; // 점수를 저장하기 위한 변수
char grade = ' '; // 학점을 저장하기 위한 변수. 공백 초기화.
System.out.print("점수를 입력하세요.>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
score = Integer.parseInt(tmp);
if(score >= 90) {
grade = 'A';
} else if(score >= 80) {
grade = 'B';
} else if(score >= 70) {
grade = 'C';
} else {
grade = 'D';
}
System.out.println("당신의 학점은 " + grade + " 입니다.");
}
}
// 4_5 FlowEx5.java
// 중첩 if문 - 성적에 따른 학점 출력 (+,-포함)
import java.util.Scanner;
public class FlowEx5 {
public static void main(String[] args) {
int score = 0;
char grade = ' ';
char opt = '0';
System.out.print("점수를 입력해주세요>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
score = Integer.parseInt(tmp);
System.out.printf("당신의 점수는 %d 입니다.%n", score);
if(score>=90) {
grade = 'A';
if(score>=98) {
opt = '+';
} else if (score<94) {
opt = '-';
}
} else if(score>=80){
grade = 'B';
if(score>=88) {
opt = '+';
} else if (score<84) {
opt = '-';
}
} else {
grade = 'C';
}
System.out.printf("나머지 학점은 %c%c입니다.%n", grade, opt);
}
}
// 2_6 FlowEx6.java
// switch문 - 월에 따라 계절 파악하기
import java.util.Scanner;
public class FlowEx6 {
public static void main(String[] args) {
int month = 0;
System.out.print("현재 월을 입력하세요.>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
month = Integer.parseInt(tmp);
switch(month) {
case 12:case 1:case 2:
System.out.println("현재 계절은 겨울 입니다");
break;
case 3:
case 4:
case 5:
System.out.println("현재 계절은 봄 입니다.");
break;
case 6:case 7:case 8:
System.out.println("현재 계절은 여름 입니다.");
break;
case 9:case 10:case 11:
System.out.println("현재 계절은 가을 입니다");
break;
default:
System.out.println("잘못 입력하셨습니다.");
}
}
}
4_7 FlowEx7.java
// switch문 - 가위 바위 보 (random 함수 이용)
// (int)(Math.random()*개수) + 시작하는 수
import java.util.Scanner;
public class FlowEx7 {
public static void main(String[] args) {
int user, com;
System.out.print("가위(1), 바위(2), 보(3) 중 하나를 입력하세요.>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine(); // 화면을 통해 입력받은 내용을 tmp에 저장
user = Integer.parseInt(tmp);
com = (int)(Math.random()*3) + 1; //1 부터 "3"개의 숫자를 랜덤으로
System.out.println("당신은 " + user + "입니다.");
System.out.println("컴은 " + com + "입니다.");
switch(user - com) { // user - com을 하므로써 case를 5가지로 줄일 수 있다.
case 2:case -1:
System.out.println("당신이 졌습니다");
break;
case 1:case -2:
System.out.println("당신이 이겼습니다.");
break;
case 0:
System.out.println("비겼습니다.");
break;
}
}
}
4_8 FlowEx8.java
// switch문 - 주민등록번호를 입력받아서 성별 출력
// .charAt(배열번호) 입력받은 문자열[번호]의 문자를 떼올때.
import java.util.Scanner;
public class FlowEx8 {
public static void main(String[] args) {
char gender;
String regNo = "";
System.out.print("당신의 주민번호를 입력하세요.(011231-1111222)>");
Scanner scanner = new Scanner(System.in);
regNo = scanner.nextLine();
gender = regNo.charAt(7); // 입력받은 번호의 8번째 문자를 gender에 저장.
switch(gender) {
case '1' :
case '3' :
System.out.println("당신은 남자 입니다.");
break;
case '2':case '4':
System.out.println("당신은 여자 입니다.");
break;
default:
System.out.println("유효하지 않은 주민등록번호입니다.");
}
}
}
// 4_9 FlowEx9.java
// 성적에 따른 학점 출력
import java.util.Scanner;
public class FlowEx9 {
public static void main(String[] args) {
int score = 0;
char grade = ' ';
System.out.print("당신의 점수를 입력하세요(1~100)>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
score = Integer.parseInt(tmp);
switch(score) {
case 100:case 99:case 98:case 97:case 96:
case 95:case 94:case 93:case 92:case 91:
case 90:
grade = 'A';
break;
case 89:case 88:case 87:case 86:case 85:
case 84:case 83:case 82:case 81:case 80:
grade = 'B';
break;
case 79:case 78:case 77:case 76:case 75:
case 74:case 73:case 72:case 71:case 70:
grade = 'C';
break;
default:
grade = 'F';
}
System.out.println("당신의 학점은 " + grade + " 입니다.");
}
}
// 4_10.java
// 성적에 따른 학점 출력
// 나누기 연산을 이용해서 조금 더 간편하게 함
import java.util.Scanner;
public class FlowEx10 {
public static void main(String[] args) {
int score = 0;
char grade = ' ';
System.out.print("당신의 점수를 입력하세요. (1~100)>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
score = Integer.parseInt(tmp);
switch(score/10) {
case 10:case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
default:
grade = 'F';
}
System.out.println("당신의 학점은 "+grade+" 입니다.");
}
}
// 4_11 FlowEx11.java
// 중첩 switch문 - 주민등록번호를 입력받아서 성별 출력
import java.util.InputMismatchException;
import java.util.Scanner;
public class FlowEx11 {
public static void main(String[] args) {
char gender;
String regNo = "";
System.out.print("당신의 주민등록번호를 입력하세요.(011231-1111222)>");
Scanner scanner = new Scanner(System.in);
regNo = scanner.nextLine();
gender = regNo.charAt(7); // 입력받은 문자 regNo에서 8번째문자를 gender에 저장
switch(gender) {
case '1':
case '3':
switch(gender) {
case '1':
System.out.println("당신은 2000년 이전에 출생한 남자 입니다");
break;
case '3':
System.out.println("당신은 2000년 이후에 출생한 남자 입니다");
// break; 안써줘도 문제 없음.
}
break; // 그러나 여기에 break문을 안써주면 빠져나오지 않는다.
case '2':
case '4':
switch(gender) {
case '2':
System.out.println("당신은 2000년 이전에 출생한 여자 입니다");
break;
case '4':
System.out.println("당신은 2000sus 이후에 출생한 여자 입니다");
break;
}
break;
default:
System.out.println("유효하지 않은 주민등록번호입니다");
}
}
}
// 4_12 FlowEx12.java
// for문 - 가로, 세로 출력하기
public class FlowEx12 {
public static void main(String[] args) {
for(int i=1;i<=5;i++)
System.out.println(i); // 개행 함
for(int i=1;i<=5;i++)
System.out.print(i); // 개행 안함
System.out.println();
}
}
// 4_13 FlowEx13.java
// for문 - 누적 합
public class FlowEx13 {
public static void main(String[] args) {
int sum=0;
for(int i=0;i<=10;i++) {
sum += i;
System.out.printf("1부터 %2d 까지의 합: %2d%n", i, sum);
}
}
}
// 4_14 FlowEx14.java
// for문 - 역순 출력
public class FlowEx14 {
public static void main(String[] args) {
for(int i=0, j=10; i<=10;i++,j--)
System.out.printf("%d \t %d%n", i, j);
}
}
// 4_15 FlowEx15.java
// 짝수 홀수 제곱 역수 순환 반복
public class FlowEx15 {
public static void main(String[] args) {
System.out.println("i \t 2*i \t2*i-1 \t i*i \t 11-i \t i%3 \ti/3");
System.out.println("-----------------------------------------------");
for(int i=1;i<=10;i++)
System.out.printf("%2d \t %2d \t %2d \t %3d \t %2d \t %d \t\t %d%n", i, 2*i, 2*i-1, i*i, 11-i, i%3, i/3);
}
}
// 4_16 FlowEx16.java
// 5X10 별찍기
public class FlowEx16 {
public static void main(String[] args) {
for(int i=1;i<=5;i++) {
for(int j=1;j<10;j++)
System.out.print("*");
System.out.println();
}
}
}
// 4_17 FlowEx17.java
// 점점 늘어나는 별찍기
import java.util.Scanner;
public class FlowEx17 {
public static void main(String[] args) {
int num=0;
System.out.print("*을 출력할 라인의 수를 입력하세요.> ");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
num = Integer.parseInt(tmp);
for(int i=1;i<=num;i++) {
for(int j=1; j<=i;j++)
System.out.print("*");
System.out.println();
}
}
}
// 4_18 FlowEx18
// 구구단
public class FlowEx18 {
public static void main(String[] args) {
for(int i=2;i<=9;i++) {
for(int j=1;j<=9;j++) {
System.out.printf("%d X %d = %d%n", i, j, i*j);
}
}
}
}
// 4_19 FlowEx.java
// 반복문 한눈에 보기
public class FlowEx19 {
public static void main(String[] args) {
for(int i=1;i<=3;i++)
for(int j=1;j<=3;j++)
for(int k=1;k<=3;k++)
System.out.println(""+i+j+k); //세글자씩 출력하려면 string처럼 출력해야하므로 빈문자열 ""를 추가해야한다.
}
}
// 4_20 FlowEx20.java
// 좌표 찍기
public class FlowEx20 {
public static void main(String[] args) {
for(int i=0;i<=5;i++) {
for(int j=1;j<=5;j++) {
System.out.printf("[%d,%d]", i, j);
}
System.out.println();
}
}
}
// 4_21 FlowEx21.java
// 대각선 좌표 찍기
public class FlowEx21 {
public static void main(String[] args) {
for(int i=1;i<=5;i++) {
for (int j = 1; j <= 5; j++) {
if (i == j) {
System.out.printf("[%d,%d]", i, j);
} else {
System.out.printf("%5c", ' ');
}
}
System.out.println();
}
}
}
// 4_22 FlowEx22.java
// 점수와 합
// arr의 길이를 구할때는 arr.length
public class FlowEx22 {
public static void main(String[] args) {
int [] arr = {10, 20, 30, 40, 50};
int sum = 0;
for(int i=0;i<arr.length;i++) { //arr의 길이를 arr.length로 받아 올 수 있음
System.out.printf("%d ", arr[i]);
}
System.out.println();
for(int tmp: arr) { // JDK 1.5부터 새로운 문법 적용 가능..
System.out.printf("%d ", tmp);
sum += tmp;
}
System.out.println();
System.out.println("sum="+sum);
}
}
// 4_23 FlowEx23.java
// 반복 출력
public class FlowEx23 {
public static void main(String[] args) {
int i=5;
while(i--!=0) {
System.out.println(i+ " - I can do it.");
}
}
}
// 4_24 FlowEx24.java
// 카운트 다운
public class FlowEx24 {
public static void main(String[] args) {
int i=11;
System.out.println("자, 이제 카운트 다운을 시작합니다.");
while(i--!=0) { //while(i--)만 하면 오류남..
System.out.println(i);
for(int j=0;j<2_000_000_000;j++);
}
System.out.println("GAME OVER");
}
}
// 4_25 FlowEx25.java
// 누적 합
import java.util.Scanner;
public class FlowEx25 {
public static void main(String[] args) {
int num = 0;
int sum = 0;
System.out.print("숫자를 입력하세요.(예:12345)>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
num = Integer.parseInt(tmp);
while(num!=0) {
// num을 10으로 나눈 나머지를 sum에 더함
sum += num%10;
System.out.printf("sum=%3d num=%d%n", sum, num);
num /= 10;
}
System.out.println("각 자리수의 합:" + sum);
}
}
// 4_26 FlowEx26.java
// 누적 합
public class FlowEx26 {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while((sum += ++i) <= 100) {
System.out.printf("i=%d sum=%d%n", i, sum);
}
}
}
// 4_27 FlowEx27.java
// 입력값의 합 출력
import java.util.Scanner;
public class FlowEx27 {
public static void main(String[] args) {
int num;
int sum = 0;
boolean flag = true; //while문의 조건식으로 사용될 변수
System.out.println("합계를 구할 숫자를 입력하세요.(끝내려면 0을 입력)");
while(flag) {
System.out.print(">>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
num = Integer.parseInt(tmp);
if(num!=0) {
sum += num; // num이 0이 아니면, sum에 더한다
} else {
flag = false; // num이 0이 아니면 flag의 값을 false로 변경
}
}
System.out.println("합계: " + sum);
}
}
// 4_28 FlowEx28.java
// do-while문을 이용해서 소주 병뚜껑 숫자 맞추기
import java.util.Scanner;
public class FlowEx28 {
public static void main(String[] args) {
int input = 0;
int answer = 0;
answer = (int)(Math.random() * 100) + 1;
Scanner scanner = new Scanner(System.in);
// 특정 조건일 때까지 입력을 받기 위해서는 do~while문을 잘 쓴다.
do {
System.out.print("1과 100사이의 정수를 입력하세요.>");
String tmp = scanner.nextLine();
input = Integer.parseInt(tmp);
if(input>answer) {
System.out.println("더 작은 수로 다시 시도해보세요.");
} else if(input < answer) {
System.out.println("더 큰 수로 다시 시도해보세요.");
}
} while(input!=answer);
System.out.println("정답입니다.");
}
}
//4_29 FlowEx29.java
// 삼육구
public class FlowEx29 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
System.out.printf("i=%d", i);
int tmp = i;
do {
if (tmp % 10 % 3 == 0) //예제와 조건 확인해보기
System.out.printf(" 짝");
} while ((tmp /= 10) != 0);
System.out.println();
}
}
}
// 4_30 FlowEx30.java
// break문
public class FlowEx30 {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while(true) {
if(sum>100) break; // 합계가 100넘는 순간 break
++i;
sum += i;
}
System.out.println("i=" + i);
System.out.println("sum=" + sum);
}
}
// 4_31 FlowEx31.java
// continue문
public class FlowEx31 {
public static void main(String[] args) {
for(int i=0;i<=10;i++) {
if(i%3==0)
continue; // for문 끝으로 이동한다. (끝나지 않음)
System.out.println(i);
}
}
// 4_32 FlowEx32.java
// menu FlowEx32.java : break문, continue문 (메뉴).... 성적처리 메뉴함수를 고쳐봐야겠다.
import java.util.Scanner;
public class FlowEx32 {
public static void main(String[] args) {
int menu = 0;
int num = 0;
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("(1) square");
System.out.println("(2) square root");
System.out.println("(2) log");
System.out.print("원하는 메뉴(1~3)를 선택하세요. (종료:0)>");
String tmp = scanner.nextLine();
menu = Integer.parseInt(tmp);
if(menu==0) {
System.out.println("프로그램을 종료합니다.");
break;
} else if (!(1 <= menu && menu <= 3)) {
System.out.println("메뉴를 잘못 선택하셨습니다.(종료는 0)");
continue;
}
System.out.println("선택하신 메뉴는 " + menu +"번입니다.");
}
}
}
// 4_33 FlowEx33.java
// 이름 붙은 반복문
public class FlowEx33 {
public static void main(String[] args) {
// for문에 Loop1이라는 이름을 붙여줌.
Loop1 : for(int i=2;i<=9;i++) {
for(int j=1;j<=9;j++) {
if(j==5)
break Loop1;
//break;
//continue Loop1;
//continue;
System.out.println(i+"*"+j+"="+i*j);
}
System.out.println();
}
}
}
// 4_34 FlowEx34.java
// 이름붙은 반복문을 이용한 메뉴
import java.util.Scanner;
public class FlowEx34 {
public static void main(String[] args) {
int menu = 0;
int num = 0;
Scanner scanner = new Scanner(System.in);
outer:
while(true) {
System.out.println("(1) square");
System.out.println("(2) square root");
System.out.println("(3) log");
System.out.print("원하는 메뉴(1~3)를 선택하세요.(종료:0)>");
String tmp = scanner.nextLine();
menu = Integer.parseInt(tmp);
if(menu==0) {
System.out.println("프로그램을 종료합니다.");
break;
} else if(!(1<=menu && menu<=3)) {
System.out.println("메뉴를 잘못 선택하셨습니다.(종료는 0)");
continue;
}
for(;;) {
System.out.print("계산할 값을 입력하세요.(계산 종료:0, 전체 종료:99)>");
tmp = scanner.nextLine();
num = Integer.parseInt(tmp);
if(num==0) break;
if(num==99) break outer;
switch(menu) {
case 1:
System.out.println("result="+num*num);
break;
case 2:
System.out.println("result="+Math.sqrt(num));
break;
case 3:
System.out.println("result="+Math.log(num));
break;
}
}
}
}
}
'it공부 > Java' 카테고리의 다른 글
JAVA 수업개념 요점 정리( 1 ) (0) | 2020.07.05 |
---|---|
Thread 와 Array 를 이용한 예제 (0) | 2020.07.05 |
RMI 이클립스 플러그인 설치 및 활용 (0) | 2020.07.05 |
자주 발생하는 에러와 해결방법 JAVA (0) | 2020.07.05 |
Scanner 숫자 입력 받기 (0) | 2020.07.05 |