1) Random 클래스
- 사용법:
Random rand= new Random(); int num=rand.nextInt(100); //0~99중 무작위 숫자가 변수에 저장된다
- 숫자 맞추기 알고리즘
Scanner sc=new Scanner(System.in); Random rand= new Random(); int ans=rand.nextInt(100)+1;//정답은 랜덤으로 설정 int L=1;//낮은 숫자를 저장할 변수 int H=100;//높은 숫자를 저장할 변수 int cnt=0; while(true) { // [수행횟수] 불분명하여 while문 사용! System.out.print(L+"~"+H+"중에서 숫자하나 선택하세요. "); int num=sc.nextInt(); if(num<L||H<num) { System.out.println("잘못된 숫자를 입력하셨습니다. 다시 입력하세요."); continue; } cnt++; if(num<ans) { System.out.println(num+"보다 큽니다."); L=num+1; } else if(ans<num) { System.out.println(num+"보다 작습니다."); H=num-1; } else { System.out.println(num+"! 정답입니다!!! 총 "+cnt+"번만에 맞추셨습니다."); break; // 무한루프는 반드시 종료조건을 필요로함! } } /*결과:1~100중에서 숫자하나 선택하세요. 50 50보다 작습니다. or 50보다 큽니다. 1~49중에서 숫자하나 선택하세요. 51 잘못된 숫자를 입력하셨습니다. 다시 입력하세요. 1~49중에서 숫자하나 선택하세요. -100 잘못된 숫자를 입력하셨습니다. 다시 입력하세요. 1~49중에서 숫자하나 선택하세요. 44 44! 정답입니다!!! 총 2번만에 맞추셨습니다.*/
2. 형변환
- 자동형변환: 코더가 별다른 손을 쓰지 않아도 알아서 자료형에 맞춰 값을 저장
- 명시적 형변환: 코더가 값에 자료형을 직접 대입하여 저장 ex)int a
int a = (int)3.14; //명시적 형변환 (데이터 손실이 일어날 수 있다) ->3
double b=3;//자동 형변환 -> 3.0
int n1 = 10;
int n2 =11;
double avg=(n1+n2)*1.0/2; //자동형변환
//정수/정수=정수 정수/실수=실수 실수/정수=실수
//나누기를 할 때 실수로 저장하기 위해서 1.0을 곱해주는 것이 좋다.
System.out.println("n1과 n2의 평균은 "+avg+"입니다.");
- 아스키코드: 컴퓨터는 0과 1 숫자 밖에 모르기 때문에 문자도 숫자로 기억한다. 이때, 어떤 숫자와 어떤 문자를 대응시키기 위해 통상 아스키 코드를 사용한다. ex)A: 65... a:97... 따라서 문자는 연산이 가능하다
int i = 65;
char c=(char)i;//아스키코드
System.out.println(c);
System.out.println(i);
//65->97
c+=32;
System.out.println(c);
for (char j = 'a'; j < 'z'; j++) {
System.out.print(j+" ");
}
//결과
//A
//65
//a
//a b c d e f g h i j k l m n o p q r s t u v w x y
3. final
final double PI=3.14;
//final: 변수를 상수화 시켜 재정의를 방지한다
'JAVA' 카테고리의 다른 글
day03)배열 (0) | 2021.12.24 |
---|---|
day03) 문자열 내장 메소드 (0) | 2021.12.23 |
day02)제어문 관련 알고리즘 (0) | 2021.12.23 |
day02) 제어문(반복문) (0) | 2021.12.22 |
day01) 제어문(조건문) (0) | 2021.12.21 |
댓글