2 분 소요

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
    

태그:

카테고리:

업데이트: