[Java]시작하기
프로그래밍 관련 용어
- project: 하나의 프로그램
- class: 기능
- package: class를 모아둔 단위. 패키지는 2~3단계 정도의 이름을 지정하는 것이 좋음.
(1)sample.(2)test.(3)com
- 프로그램: 컴퓨터를 작동시키기 위한 순차적으로 작성된 명령어 모음
- 프로그래밍: 컴퓨터에게 일을 하도록 명령어를 만드는 것
- 프로세스: 실행 중인 프로그램
- 컴파일: 프로그램 언어를 컴퓨터가 알 수 있는 언어로 바꿔주는 일
- 컴파일러: 기계어로 번역해주는 프로그램 자바를 설치하면 자바 컴파일러도 설치됨
JAVA의 특징
- 플랫폼(운영체제)에 독립적
- 객체지향언어
- 멀티 스레드 지원
- garbage collection 지원(사용하지 않는 데이터 쓰레기통에 모아줌. 메모리 관리 자동)
이름 표기 규칙
- 패키지명 sample.test.com
: 전부 소문자
- class명 JavaTest
: 자바에서는 파스칼 표기법을 따른다. 단어의 첫글자 대문자.
: 공백x, 숫자로 시작x, 키워드(예약어)사용x, 특수기호는 _와 $만 가능
- 변수명 binaryNumber
: 카멜표기법을 사용 소문자로 시작, 두 개의 단어가 합쳐지면 두 번째 단어의 첫글자는 대문자.
- 상수이름 JAVATEST
: 모든 글자를 대문자로, 합치는 경우 _ 사용.
변수선언 ※ =: 값을 오른쪽에서 왼쪽으로 저장/대입함을 뜻함
타입 이름; //해당 타입의 데이터를 저장할 공간 생성 이름 = 값; //공간에 값을 저장 |
타입 이름 = 값; //변수 선언과 동시에 초기화 |
데이터 타입
1. 기본형 데이터 타입 : 값을 바로 저장 int a = 10; - boolean(1): true/false값 저장. 둘 중 하나의 상태를 가져야 하는 경우 사용. 기본값= false 숫자 1,0은 2진수이기 때문에 입력할 수 없음 - char(2): 문자. 기본값= \u0000 아스키 코드표에 따라 숫자로 바꿔서 저장(인코딩) 꺼내올 때는 다시 원본 글자로(디코딩) - byte(1), short(2), int(4), long(8): 정수 기본값= 0 리터럴=int. int의 범위를 벗어나면 L/l을 붙여서 long타입의 데이터임을 명시한다. long i2 = 12334567890123L; - float(4), double(8): 실수 기본값= 0.0 리터럴=double. float타입을 사용하려면 F/f를 붙여서 float타입의 데이터임을 명시한다. float f = 3.14F; ※ 숫자를 저장하는 타입끼리는 형 변환이 가능 - 작은타입 → 큰 타입 : 문제X = 명시하지 않아도 자동으로 변환 double d = 100 + 100.0; int+double → double+double 크기가 작은 int가 보다 큰 double으로 변환 - 큰 타입 → 작은 타입 : 정보의 손실 발생해 변환X. 단, 변환 할 타입 명시하면 가능(+손실) int i = 3.14; // error // 3.14는 double형! int i = (int) 3.14; // int에 3 저장 // 소수점을 빼고 정수만 필요할 때 사용 ▶강제타입변환시 손실을 막기 위해 최댓값(MAX_VALUE)/최솟값(MIN_VALUE) 벗어나는지 검사 후 벗어나면 변환하지 않아야한다. +) 정수→실수타입 변환시 정밀도 손실 발생 int값을 실수타입으로 안전하게 변환시키기 위해 double타입을 사용한다. - float: 부호(1) + 지수(8) + 가수(23) = 23비트로 표현할 수 있는 값만 손실없이 변환 가능 - double: 부호(1) + 지수(11) + 가수(52) = int는 32비트이기 때문에 안전하게 변환/복원 가능 ※ char타입의 경우 int타입으로 자동 변환되면 유니코드 값이 int타입에 저장된다. char charValue = 'A'; int intValue = charValue; //65가 저장됨 ※ int타입은 char타입으로 자동변환되지 않기 때문에 강제 타입변환을 사용해야 한다. int intValue = 'A'; char charValue = (char)intValue; //유니코드에 해당하는 문자 출력 |
2. 참조형 데이터 타입 : 메모리에 객체를 생성 후 주소값을 저장 기본값= null - 배열타입 - 열거타입 - 클래스 - 인터페이스 String s = "문자열 표현"; //연산이 필요 없는 경우 사용 String str = "ABC"; // String의 변수 str에는 "ABC"가 저장된 주소값이 저장됨. 주소값이 저장된객체를 참조. ※String은 주소값이 저장되기 때문에 형변환이 불가능함. String ss = (String)100; // error ※int에 빈 문자열 ""을 더하면 String으로 변환이 가능하다.(+연산자는 문자열 우선순위, 즉, String으로 바꿔 계산) String c = 7 + ""; //int + String => "7" + "" => "7" String d = "" + 7; //String + int => "" + "7" => "7" |
값 처리의 원칙
: 같은 종류끼리만 대입, 계산이 가능. 계산의 결과도 같은 종류의 값이 나와야함
원칙이 지켜지지 않는 경우라면 형(타입)변환 뒤 처리
단축키
- Run: ctrl + F11
마우스 우클릭 → Run as → java application
- 여러 줄 주석처리: shift + ctrl + / (주석풀기\)
- 줄 맞춤: shift + ctrl +F