java day3
Scanner 클래스 | 메모리 공간 | Math 클래스 | 제어문 | 번외 |
Scanner 클래스
- 자바에서 여러가지 데이터를 입력받을 수 있도록 도와주는 대표적인 입력 관련 클래스
- 기본적인 데이터 타입들을 메소드를 사용하여 입력
- 공백 또는 줄바꿈을 기준으로 읽기(주의)
Scanner sc = new Scanner(System.in); //참조변수
int input = sc.nextInt();
System.out.println("입력받은 숫자는 : " + input);
String str = sc.nextLine(); // 개행 전까지 입력받음
System.out.println("입력받은 문자는 : " + str);
String str1 = sc.next(); // 띄어쓰기까지 입력받음
System.out.println("입력받은 문자는 : " + str1);
메모리 공간
- 클래스를 컴파일하면 {} 혹은 new를 통해 memory공간을 할당받게됨
- 메모리는 stack({} 종료시 삭제), heep(프로그램 종료시까지 영구적으로 저장)으로 나눠짐
stack heep
{ } new
new 연산자 사용 방법
- class이름 변수 = new 생성자명();
예) Scanner sc = new Scanner(System.in);
Math 클래스
- 자바에서 사용되는 수확 관련한 기능을 담고 있는 클래스
random(); : 임의의 실수(0 ~ <1)를 출력
// 0 <= Math.random() <10 double random = Math.random(); System.out.println("랜덤한 수 : " + random); // 0.4095858388261663 // random * 10 // 4.095858388261663 int num = (int)(random * 10); // 1~10 System.out.println(num); // 랜덤한 수를 뽑아 1~45까지 랜덤한 숫자를 추출 int num1 = (int)(random * 45 + 1); System.out.println(num1);
제어문
- 프로그램의 흐름을 제어하는 문장
- 조건문 1) if문 2) switch문
- 반복문 1) for문 2) while문 3) do-while문
if문
-
if(조건식 - boolean형) { 조건식이 true인 경우 실행할 문장; ... } ✔ {} : 조건식이 만족할 경우 여러문장을 실행해야 할 때 사용
Scanner sc = new Scanner(System.in); System.out.print("나이를 입력하세요 >> "); int age = sc.nextInt(); // 20 System.out.println(age + "살입니다."); // 20살입니다. if(age>19){ System.out.println("성인입니다."); // 성인입니다. } else { System.out.println("성인이 아닙니다."); } System.out.println("프로그램을 종료합니다.");
if~ else문
-
if(조건식) { 조건식이 true인 경우 실행할 문장; ... } else { 조건식이 false인 경우 실행할 문장; ... }
Scanner sc = new Scanner(System.in); System.out.print("나이를 입력하세요 >>> "); int age = sc.nextInt(); // 20 if(age > 19){ System.out.println("성인입니다.");; // 성인입니다. }else{ System.out.println("미성인입니다."); }
if~ else if ~ else문
-
if(조건식 1) { 조건식 1이 true인 경우 실행할 문장; ... } else if(조건식 2) { 조건식 2이 true인 경우 실행할 문장; ... } else { 모든 조건식이 false인 경우 실행할 문장; ... }
Scanner sc = new Scanner(System.in); System.out.print("나이를 입력하세요 >>> "); int age = sc.nextInt(); // 8 if (age > 19) { System.out.println("성인입니다."); } else if (age > 14) { System.out.println("청소년입니다."); } else if (age > 6) { System.out.println("어린이입니다."); // 어린이입니다. } else { System.out.println("유아입니다."); }
switch문
-
if문과 비슷하지만 좀 더 정형화된 형태
-
특정 값과 일치하는 값을 찾아 실행
switch(변수){ case 값1 : 값과 변수가 같을 경우 실행할 문장; ... break; case 값2 : 값과 변수가 같을 경우 실행할 문장; ... break; case 값3 : 값과 변수가 같을 경우 실행할 문장; ... break; default : 값과 변수가 같을 경우 실행할 문장; ... }
-
예)
Scanner sc = new Scanner(System.in); System.out.print("월을 입력하세요 >>> "); int month = sc.nextInt(); // 5 switch(month){ case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : System.out.println("31일"); // 31일 break; case 2 : System.out.println("28일 또는 29일"); break; case 4 : case 6 : case 9 : case 11 : System.out.println("30일"); break; default: System.out.println("1~12까지 다시 입력하시오.");
번외 equals();
-
문자열을 비교하는 메서드, 같으면 true, 다르면 false
String str = "문자"; if(str == "문자") // false //---------------------------------------------------- String str = "문자"; if(str.equals("문자")) //true