[명품 JAVA Programming] CH2

이정은·2022년 2월 19일
0
post-custom-banner

java 프로그래밍 수업을 들어놓고
그 뒤로 안 쓰다가 지금 쓰려니 기억이 안나서
하루 날 잡아서 빠르게 훝어보려고 한다.
이미 모두 아는 내용을 빠르게 훝어보는 거기에 프로그래밍의 아주 기초적인 책 내용까지는 적지 않을 것이다

2.1 기본 구조

Hello.java


public class Hello{
	public static int sum(int n, int m){
    	return n+m;
    }
    
    public static void main(String[] args){
    	int i = 20;
        int s;
        char a;
        
        s = sum(i,10);
        System.out.println(a);
    }
}

main 메소드에서 실행 시작

2.2 식별자

  • 클래스 이름 : 첫번째 문자는 대문자로 시작
  • 변수, 메소드 이름 : 첫단어는 소문자로 시작, 각 단어의 첫번째는 대문자로 표기
    ex) myAge, myName
  • 상수 이름: 전체 대문자로 표기

2.3 데이터 타입

  • 기본 타입 :
    - boolean
    - char
    - byte
    - short
    - int
    - long
    - float
    - double
    (문자열은 기본 타입 X , 자바 라이브러리에서 제공하는 String class 이용)
  • 레퍼런스 타입
    => c/c++의 포인터와 비슷한 개념이지만 실제 주소 값을 가지지는 않는다.
int n = null ; //불가능 => null은 객체 레퍼런스에만 사용 가능
String str = null; // 정상

// var keyword
// var의 사용은 지역 변수에만 한정된다.

var price = 200 ;
var name = "kitae";
var pi = 3.14;
var point = new Point();

// 상수 선언
final double PI = 3.141592

// 강제 타입 변환 ( casting )
int n = 300;
byte b = n ; //compile error

// b에는 44 로 저장됨 300 % 256 = 44 byte(1byte) , int(4byte)
byte b = (byte)n ; // n을 byte 타입으로 강제 변환

2.4 키 입력

  • System.in
    키보드 장치를 직접 제어하고 키 입력을 받는 표준 입력 스트림 객체
    => 단순한 바이트 정보로 응용프로그램에 전달 => 잘 사용 안함
  • Scanner class 이용
import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
String name = scanner.next();
int age = scanner.nextInt();
double weight = scanner.nextDouble();
String line = scanner.nextLine(); // '\n'까지 읽고  '\n'을 제외한 너머지 문자열 저장

//scanner 객체 close
scanner.close();

=> Scanner 객체를 이용하여 키보드로부터 바이트 정보를 받고, 이를 원하는 타입으로 변환하여 제공
=> 공백문자를 기준으로 분리하여 토큰 단위로 읽는다.

2.5 연산

  • 연산자는 모든 프로그래밍 기본과 동일 하기에 작성하지 않겠다.
    우선순위만 한번 확인하자

    2.6 조건문

    - if 문

    if (n % 2 == 0) {
    	System.out.println(n + "is Even.");
    }
    else if(조건문){
    }
    else(조건문){
    }

#### - switch 문
 
 ``` java
//switch 문

switch (score/10){
	case 10: 
    case 9:
    	grade = 'A';
        break;
    case 8: 
    	grade = 'B';
        break;
   	default:
    	grade = 'F';
}
profile
성장하는 개발자_💻
post-custom-banner

0개의 댓글