혜니니의 공부방

혼자 공부하는 자바 chap 01 변수 본문

공부 기록/자바 프로그래밍 기초

혼자 공부하는 자바 chap 01 변수

니니혜 2020. 12. 3. 22:48

주석

라인 주석  // 

범위 주석 /* ~ */

도큐먼트 주석 /** ~ */ :주로 javadoc 명령어로 API도큐먼트를 생성하는데 사용.

 

자바 클래스 생성 ( in Intelli J)
New project 생성 > src (오른쪽 마우스버튼) > Java class

실행 

코드 작성 > build > ctrl + shif+ f10 : RUN 

 

변수 Camel Case

자바의 모든 변수는 중괄호{} 블록 내에서 선언되고 사용

로컬변수 : 메소드 블록 내에서 선언된 변수, 메소드 블록 내부에서만 사용되고 실행이 끝나면 메모리에서 자동 삭제

정수 타입 byte, char, short, int, long
실수 타입 float, double
논리 타입 boolean

* short, int, long 타입의 사용 유형 파악

 

크기 byte < short< int < long < float < double 

 

지정한 변수 값 허용 범위가 넘어버리면 자동 타입 변환이 일어난다.

큰 허용 범위 타입은 작은 허용 범위 타입으로 자동 타입 변환 될 수 없다.

하지만 큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장하면 강제 타입 변환(casting)을  할 수 있다

 

* 자동 타입 변환은 생활 코딩 강좌 찾아보기. 

타입 변화는 많으면 좋지 않다. 변화가 적고 줄을수록 실행 성능이 향상된다.

char 타입: '작은따옴표'로 감싼 것을 문자 리터럴이라고 함, 문자 리터럴은 유니코드로 변환되어 저장, 큰따옴표"는 사용할 수 없음

 

문자열을 사용하기 위해서는 String을 써야함

문자열 내부 역슬래시 "\" = 이스케이프 문자로 문자열 내에 큰 따옴표로 표시된다. \n은 줄내림이다.

 

이스케이프 문자 출력 용도
\t 탭만큼 띄움
\n 줄 바꿈(라인 피드)
\r 캐리지 리턴
\" "출력
\' ' 출력
\u16진수 16진수 유니코드에 해당하는 문자 출력
\\ 역슬래쉬 출력

 

 

float + double = double 

byte + byte = int + int

int+ long = long+long

문자열 +숫자 = 문자열+문자열

문자열이 숫자가 아닌 알파벳, 특수문자, 한글 등을 포함하고 있을 경우 숫자 타입으로 변환을 시도하면

숫자 형식 예외(NumberFormatException)이 발생한다.

 

 

기본 타입의 값을 문자열로 바꿀 때는 String.valueOf() 메소드를 이용하면 간단하게 할 수 있다.

Integer.parseInt = 문자열을 정수 int 타입으로 변환

Doble.parseDouble = 문자열을 실수 double 로 변환

 

println 괄호 안의 내용 출력, 줄바꿈
print 괄호 안의 내용만 출력
printf("문자열", 값1,2,3) 괄호 안의 첫번째 문자열 형식대로 내용을 출력
> 개발자가 원하는 형식화 된 문자열을 출력 
ex) 출력 자릿 수, 소수 자릿수 제한

형식 문자열에서 %s 문자열  %d 정수 %f 실수 입력 가능!! 

 

입력

 

키코드로 입력받기.

(변수 유형) (변수명) = System.in.read(); 

> 알파벳이나 숫자를 입력하면 키코드로 입력되어 계산되서 나온다. 단점은 키코드는 하나씩 읽기 때문에 2개 이상의 키가 조합된 한글을 읽을 수 없고 입력된 내용을 문자로 읽지 못한다. 이러한 단점을 자바는 Scanner  class를 제공하고 있다.

 

 

키코드에 대해서는 중요한가 ,, ? 

 

생활코딩 강의 듣고 요기에 또 요약하고 예제 연습하기.

'공부 기록 > 자바 프로그래밍 기초' 카테고리의 다른 글

교내 자바특강 day4  (0) 2021.01.15
교내 자바 특강 day3  (0) 2021.01.15
교내 자바특강 day2  (0) 2021.01.12
교내 JAVA특강 day1  (0) 2021.01.11
Intelli J 설치  (0) 2020.12.01
Comments