카테고리 없음

19-03-16_TIL

Doohwancho 2019. 3. 16. 22:26
package Java_book;
public class Casting {
public static void main(String[] args) {
//double type을 int type으로 변환
double d = 85.4;
int score = (int)d;
System.out.println(score);
System.out.println(d);
//형변환시 큰타입에서 작은타입으로 변환하는 경우(ex. int->byte) 메모리 공간만큼 잘려나가 값이 바뀔 수도 있다.
int i = 300;
byte b = (byte)i;
System.out.println(i);
System.out.println(b);
}
}
85
85.4
300
44
package Java_book;
import java.util.*;
public class Switch {
/*
* switch문은, 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고 표현도 간결하여 알아보기 쉽다.
* 만약 if-else문으로 같은걸 구현하려고 하면, else-if를 계속 추가해야 하기때문에 번거롭다.
* 주의점: 만약 switch문 안 break가 없을 경우, 해당 switch 밑에 case들을 모두 실행한다.
* switch문의 제약조건
* 1. switch문의 조건식의 결과는 정수 또는 문자열이어야 한다.
* 2. case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.
*/
public static void main(String[] args) {
final int ONE = 1;
int num = 2;
System.out.println("현재 월을 입력하세요.>"); //>를 왜 붙이지?
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt(); //화면을 통해 입력받은 숫자를 month에 저장
switch(month) {
case 3:
System.out.println("현재 계절은 봄입니다.");
//만약 break가 안걸려있다면, break가 나올때까지 다음 case도 실행한다.
//break;
case 4:
System.out.println("현재 계절은 봄입니다.");
//break;
case 5:
System.out.println("현재 계절은 봄입니다.");
//break;
case 6:
System.out.println("현재 계절은 여름입니다.");
break;
case 7:
System.out.println("현재 계절은 여름입니다.");
break;
case 8:
System.out.println("현재 계절은 여름입니다.");
break;
case 9:
System.out.println("현재 계절은 가을입니다.");
break;
case 10:
System.out.println("현재 계절은 가을입니다.");
break;
/*
* switch문의 제약조건
* 1. switch문의 조건식의 결과는 정수 또는 문자열이어야 한다.
* 2. case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.
*/
case '1': System.out.println("문자 상수 OK(정수 상수 49와 동일)");
case ONE: System.out.println("정수 상수 OK");
//case "YES": System.out.println("문자열 상수 OK"); JDK 1.7부터만 허용
//case num: System.out.println("에러. 변수는 불가.");
//case 1.0: System.out.println("에러. 실수는 불가");
default:
//case들을 한줄에 붙여 써도 상관 없다.
//case 11: case 12: case 2:
System.out.println("현재 계절은 겨울입니다.");
}
}
}
현재 월을 입력하세요.>
2
현재 계절은 겨울입니다.
package Java_book;
import java.util.*;
public class RockPaperScissors {
public static void main(String[] args) {
System.out.println("가위(1), 바위(2), 보(3) 중 하나를 입력하세요.");
Scanner scanner = new Scanner(System.in);
int user = scanner.nextInt(); // 화면을 통해 입력받은 숫자를 user에 int타입으로 저장
int com = (int)(Math.random() * 3 + 1);// 1,2,3 중 하나가 com에 저장됨
/*
* 왜 Math.random() * 3 + 1 가 1~3일까?
*
* 0.0 < Math.random() < 1.0인데, 이는 1을 포함하지 않는다.
* 여기서 각 변에 3을 곱하면
* 0.0 < Math.random() < 3.0이 되고, 여기서 1을 더하면
* 1< Math.random() < 4.0이 되는데, (int)를하면 소숫점 이하는 버리므로, 1~3이 된다.
*
*/
System.out.println("당신은 "+ user + "입니다.");
System.out.println("컴은 "+ com +"입니다.");
switch(user-com) {
case 2: case -1:
System.out.println("당신이 졌습니다.");
break;
case 1: case -2:
System.out.println("당신이 이겼습니다.");
break;
case 0:
System.out.println("비겼습니다.");
break;
}
}
}
가위(1), 바위(2), 보(3) 중 하나를 입력하세요.
1
당신은 1입니다.
컴은 2입니다.
당신이 졌습니다.
package Java_book;
import java.util.*;
//RockerPaperScissors는 숫자를 입력받는다.
//근데 우린 사람이니까, 진짜 가위바위보처럼 말로 바꿔줘야 되겠지?
public class RockPaperScissors_ver2 {
public static String toString(int x) {
switch(x) {
case 1:
return "가위";
case 2:
return "바위";
case 3:
return "보";
}
return null;
}
public static int toNum(String y) {
switch(y) {
case "가위":
return 1;
case "바위":
return 2;
case "보":
return 3;
}
return 0;
}
public static void main(String[] args) {
System.out.println("가위, 바위, 보 중 하나를 입력하세요.");
Scanner scanner = new Scanner(System.in);
String user = scanner.nextLine();
int userNum = toNum(user);
int com = (int)(Math.random() * 3 + 1);// 1,2,3 중 하나가 com에 저장됨
String comStr = toString(com);
System.out.println("당신은 "+ user + "입니다.");
System.out.println("컴은 "+ comStr +"입니다.");
switch(userNum-com) {
case 2: case -1:
System.out.println("당신이 졌습니다.");
break;
case 1: case -2:
System.out.println("당신이 이겼습니다.");
break;
case 0:
System.out.println("비겼습니다.");
break;
}
}
}
가위, 바위, 보 중 하나를 입력하세요.
당신은 보입니다.
컴은 보입니다.
비겼습니다.
package Java_book;
public class ForLoop1 {
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);
}
}
}
0 10
1 9
2 8
3 7
4 6
5 5
6 4
7 3
8 2
9 1
10 0
package Java_book;
import java.util.*;
public class ForLoopStar {
public static void StarDrawer(int x) {
for(int i = 1;i <= x;i++) {
for(int j = 1;j <= i; j++) {
System.out.print('*');
}
System.out.println();
}
}
public static void main(String[] args) {
System.out.println("*을 출력할 갯수를 입력하시오.");
Scanner scanner = new Scanner(System.in); //값을 콘솔창에서 입력
String tmp = scanner.nextLine(); //콘솔창에서 입력한 값을 String 타입으로 저장
int num = Integer.parseInt(tmp); //String type으로 저장한 값을 int type인 num이라는 변수에 저장
StarDrawer(num);
}
}
*을 출력할 갯수를 입력하시오.
3
*
**
***
package Java_book;
public class ForLoopTimesTable {
public static void main(String[] args) {
for(int i = 2;i <= 9; i++) {
System.out.println();
System.out.printf("%d단", i);
System.out.println();
for(int j = 1; j <= 9; j++) {
System.out.printf("%d x %d = %d", i, j, i*j);
System.out.println();
}
}
}
}
2단
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
3단
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
...