devFancy BE Developer

자바의 기본 개념 2편

2022-11-03
devfancy

자바 프로그램의 구조

  • 클래스 만들기
public class Hello {
...
}
  • class 키워드로 클래스 이름을 선언하고 ‘{ }’ 안에 변수와 메소드(함수) 코드를 작성한다.
  • public 은 다른 클래스에서 Hello 클래스를 자유롭게 참조할 수 있다.

  • main() 메소드
public static void main(String[] args) {
...
}
  • main()은 반드시 public static void 로 선언되어야 하며, 한 클래스는 두 개 이상의 main()을 가질 수 없다.

  • 메소드

  • C/C++ 함수를 자바에서는 메소드(method)라고 부르며, 반드시 클래스 내에 작성되어야 한다.

  • 화면 출력

System.out.println("Hello"); // "Hello" 문자출력
  • 정수, 문자, 문자열 등 데이터를 화면에 출력하기 위해 System.out.println()을 이용한다.

  • 식별자(identifier): 클래수, 변수, 상수, 메소드에 붙이는 이름을 말한다.

  • 식별자 이름 규칙

    • 특수문자 ‘_’, ‘$’만 사용 가능하다.

    • 한글을 사용할 수 있다.

    • 숫자는 사용 가능하나, 첫 번째 문자로는 사용할 수 없다.

    • if, while등 자바 언어의 키워드는 사용할 수 없다.

    • true, false, null은 사용할 수 없다.

    • 대소문자를 구별한다.

    • 길이 제한이 없다.


자바의 데이터 타입

var 키워드로 타입을 생략하고 변수 선언

  • Java 10부터는 var 키워드를 사용하여 변수의 타입을 생략하고 간단히 변수를 선언할 수 있다.

  • 컴파일러는 var 키워드로 선언된 문장을 추론하여 변수의 타입을 자동으로 결정한다.

var price = 200; // price는 int 타입으로 결정
var name = "junyong"; // name은 String 타입으로 결정
var pi = 3.14; // pi는 double 타입으로 결정
var point = new Point(); // point는 Point 타입으로 결정
var v = new Vertor<Integer>(); // v는 Vector<integer> 타입으로 결정
  • var 키워드는 지역 변수에만 한정되며, 초기값이 주어지지 않으면 오류가 발생한다.

      public class Var {
      	public static void main(String[] args) {
      			var price = 200; // int 타입
      			var name = "junyong"; // String 타입
      			var pi = 3.14; // double 타입
        
      			System.out.println("price = " + (price + 1000));
      			System.out.println("name = " + name);
      			System.out.println("pi = " + pi * 10);
      	}	
      }
    
  • 결과: price = 1200 // name = junyong // pi = 31.4


자바의 키 입력

  • 키보드에서 입력된 키를 문자나, 정수, 실수, 문자열등 사용자가 원하는 타입으로 변환해주는 고수준(high-level) 스트림 클래스 Scanner를 사용할 것을 권한다.

  • Scanner는 키 입력을 위한 목적으로 자바 패키지에서 제공하는 클래스이다.

Scanner을 이용한 키 입력

  • Scanner 객체는 다음과 같이 생성한다.
Scanner scanner = new Scanner(System.in);
  • Scanner 클래스는 사용자가 입력하는 키 값을 공백으로 구분되는 토큰 단위로 읽는다.

  • Scanner를 사용하기 위해서는 프로그램의 맨 앞줄에 다음 import 문이 필요하다.

import java.util.Scanner;
  • import문은 Scanner 클래스의 결로명이 java.util.Scanner임을 알려준다.

  • Scanner 스트림 닫기 : Scanner의 사용을 종료하려면 다음과 같이 닫아 준다.

scanner.close();
  • Scanner를 이용한 키 입력 연습
import java.util.Scanner;
    
public class ScannerEx {
public static void main(String args[]) {
    System.out.println("이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요");
    		
    Scanner scanner = new Scanner(System.in);
    String name = scanner.next(); // 문자열 토큰 읽기
    System.out.println("당신의 이름은 " + name + "입니다.");
    
    String city = scanner.next(); // 문자열 토큰 읽기
    System.out.println("당신이 사는 도시는 " + city + "입니다.");
    
    int age = scanner.nextInt(); // 정수 토큰 읽기
    System.out.println("당신의 나이는 " + age + "살입니다. ");
    
    double weight = scanner.nextDouble(); // 실수 토큰 읽기
    System.out.println("당신의 체중은 " + weight + "kg입니다. ");
    
    boolean single = scanner.nextBoolean(); // 논리 토큰 읽기
    System.out.println("당신의 독신 여부는 " + single + "입니다. ");
    
    scanner.close(); // scanner 스트림 닫기
    	}
    }

Reference


Comments

Index