반응형

1. 기본 문법 및 구조

  • 클래스와 메소드:
    • 자바에서 클래스의 끝에는 세미콜론이 없다. 클래스 정의 시에는 {}로 블록을 묶는다.
    • main 함수는 자바 애플리케이션의 시작점으로, 다음 형식으로 작성해야 한다: 
      • 이 함수는 프로그램이 시작될 때 자동으로 호출되며, String[] args는 실행 시 전달되는 인자(arguments)이다.
    • public static void main(String[] args) { }
  • 접근 지정자: 모든 메소드는 접근 지정자를 명시해야 하며, 일반적으로 public, private, protected 중 하나를 사용한다.
  • 파일 형식: 자바 소스 파일은 반드시 .java 확장자를 가져야 하며, 클래스 이름과 파일 이름이 동일해야 한다.
  • 메소드 호출: 메소드는 클래스 내부에 정의된 함수로, 호출 시 항상 클래스이름.메소드이름() 형태로 사용된다.

2. 데이터 타입 및 형 변환

  • 기본 데이터 타입:
    • 정수 타입:
      • byte: 1바이트 (범위: -128 ~ 127)
      • short: 2바이트 (범위: -32,768 ~ 32,767)
      • int: 4바이트 (범위: -2,147,483,648 ~ 2,147,483,647)
      • long: 8바이트 (범위: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)
    • 논리 타입:
      • boolean: 1비트 (실제로 1바이트를 차지함) (true 또는 false 값만 가질 수 있다)
    • 실수 타입:
      • float: 소수점 이하 7자리까지 정확도를 가진 4바이트 실수
      • double: 소수점 이하 15자리까지 정확도를 가진 8바이트 실수
  • 자동 타입 변환:
    • 작은 데이터 타입에서 큰 데이터 타입으로는 자동으로 변환된다.
      double d = 3.14 * 10; // 10은 자동으로 10.0으로 변환됨
  • 강제 타입 변환:
    • 큰 데이터 타입에서 작은 데이터 타입으로 변환할 때는 강제 형 변환을 사용해야 한다.
      int n = (int) 3.14; // n은 3으로 변환됨
       
  • 문자와 문자열:
    • 자바에서 문자열은 String 클래스의 인스턴스이다. 문자열과 다른 타입의 피연산자가 결합될 때, 다른 타입은 문자열로 변환된다.
    • 문자열의 특정 문자를 얻기 위해서는 charAt 메소드를 사용한다.
String s = "Hello"; char c = s.charAt(0); // c는 'H'가 됨

3. 연산자 및 흐름 제어

  • 후위 연산자:
    • 후위 연산자 x--의 경우, 다음과 같은 과정을 거친다:
       
      tmp = x; // 현재 x 값을 tmp에 저장 x--; // x 값을 1 감소
      • 따라서 x == x--의 결과는 true가 된다. 이는 tmp와 원래의 x 값을 비교하기 때문이다.
  • 논리 연산자:
    • || (OR) 연산자는 왼쪽 표현식이 true일 경우 오른쪽 표현식을 평가하지 않는다.
    • && (AND) 연산자는 왼쪽 표현식이 false일 경우 오른쪽 표현식을 평가하지 않는다.
  • 삼항 연산자:
    • 삼항 연산자는 조건부 표현식을 간결하게 작성할 수 있게 해준다.
       
      String result = (a < 0) ? "음수" : (a == 0 ? "0" : "양수");
  • 스위치 문:
    • switch 문에서는 break 키워드를 사용하지 않으면 다음 case로 넘어가므로 주의해야 한다.
       
      switch (value) { case 1: // some code break; // 필수 case 2: // some code break; // 필수 default: // some code }

4. 입력 처리

  • Scanner 클래스:
    • Scanner 클래스를 사용하여 콘솔에서 입력을 받을 수 있다. 다음은 입력 처리 예시이다:
      Scanner scanner = new Scanner(System.in); 
      String name = scanner.next(); // 문자열 입력 
      int age = scanner.nextInt(); // 정수 입력 
      double weight = scanner.nextDouble(); // 실수 입력 
      boolean single = scanner.nextBoolean(); // 불리언 입력
       
  • 입력 시 공백 처리:
    • nextLine() 메소드를 사용하면 입력에서 줄바꿈 문자를 포함한 빈 문자열을 받을 수 있다. 이를 고려하여 입력 처리 시 주의해야 한다.
  • 문자 입력:
    • 문자를 입력받기 위해 문자열을 사용하여 특정 인덱스의 문자를 추출한다.
       
      String s = scanner.next(); // 문자열 입력 char c = s.charAt(0); // 첫 번째 문자를 추출

5. 출력 처리

  • 문자열 결합:
    • System.out.print와 System.out.println을 사용하여 출력을 처리할 수 있다.
       
      System.out.print("독신여부는 " + single + "입니다."); // single 값이 true일 경우 "독신여부는 true입니다."로 출력됨
  • 형식 지정 출력:
    • printf를 사용하여 특정 형식으로 출력을 할 수 있다. 예를 들어 16진수 형식으로 출력할 수 있다.
       
      System.out.printf("%04x\n", (short)(a & b)); // 4자리 16진수 형식으로 출력

이 내용을 바탕으로 Java 프로그래밍 2장에 대한 이해를 돕고 도움이 되기를 바랍니다!

반응형

+ Recent posts