변수-하나의 값을 저장할 수 있는 메모리공간(RAM의 일부)
변수 선언-TYPE NAME; -> 저장할 공간을 마련하기 위해서
변수의 초기화,저장- AGE = 25 ; -> 변수(공간)에 값을 저장하는것
기본형 - char,byte,short,int,long,float,double,boolean
상수-한번만 값을 저장 가능한 변수 -> final int max = 100;
리터럴-그 자체로 값을 의미하는것 -> 어떤 변수에 대응하는 값
L,f -> long float를 뒤에 붙여서 리터럴의 종류 표시
100L,1.4f 등등
10E3->1000 실수(DOUBLE)
ob,0,0x ->2,8,16진수의 접두사
10_000_000_L -> 1.7부터 큰수는 숫자 사이에 _ 사용해서 보기 쉽게 표현 가능
CHAR->오직 1개
STRING ->0개 이상의 문자의 조합, + 연산하면 다른타입의 변수가 문자열로 변경된다
기본형과 참조형
기본형은 실제 값을 저장, 참조형은 메모리주소 OR 객체의 주소를 저장하기 위해서다
기본형 종류와 크기
1bit = 2진수 1자리
1byte = 8bit
자바에서 데이터의 최소단위 = 1byte
논리형- boolean -> 1bit만 있어도 되지만(0,1만 사용해도 충분) 1byte사용
문자형-하나의 문자만 저장가능 -> 2byte 유니코드 사용하기 때문에
정수형-정수값 저장->2,4,8(short,int,long)
실수형-실수저장->
부동소수점을 사용해서 표현하기때문에 float라고 이름을 붙였다
double은 float에 비해서 정밀도가 2배라서 double이다 : 4,8byte(float,double)
실수형은 부호,지수,가수 부분으로 이루어져 있다
가수라는게 결국 유효자리수에 직접적으로 영향을 주는데 이때문에 정밀도와 연관되어있다
float의 가수는 23bit, double은 52bit 만큼 가수가 할당 되어 있고
10진수로변환하면 : 2^23<10^8, 2^52<10^16 -> double이 float보다 2배정도 정확하다
부호비트 0 -> +, 1-> -,S로 표현하고 사용안하는 경우도 있다(char)
println() -> 출력 형식 지정 불가
printf("% ", value)
%.2f -> 소수점 2번째 자리까지 출력
%d,o,x -> 10,8,16진수로 출력
%f -> 실수형식으로 출력
%e -> 지수형식으로 출력
지시자 앞에 #붙이면 형식도 같이 출력
문자열에서 사용하면 원하는 개수 or 공백 or 정렬 방향 조절 가능
[%20s]%n ->20자리로 출력하는데 모자라면 앞에서 부터 공백으로 채우고 시작
[%-20s]%n ->20자리로 출력하는데 모자라면 뒤에공간은 공백으로 채우기
[%.8s]%n->8자리만 출력하고 나머지는 스킵
Scanner-화면으로 부터 데이터를 입력받는 기능을 하는 클래스
import java.util.* 추가
Scanner scanner = new Scanner(System.in); 객체 생성
int num = scanner.nextInt(); -> 숫자 입력 받고 저장
위의 한줄과 아래 두줄이 동일한 역할을 한다
String num = scanner.nextLine(); -> 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); -> 문자열을 숫자로 변환
원래 화면입출력객체들은 사용하고 닫아줘야 하는데 jvm이 자동으로 관리해주기때문에 따로 신경쓰지 않아도 된다
숫자<->문자간의 변환
+'0' or -'0'
문자열로의 변환
+" " 빈문자열 더해주기
문자열을 숫자로 변환
type.pareType(" ")
문자열을 문자로 변환
" ".charAt(0)
'JAVA > 자바의 정석' 카테고리의 다른 글
자바의정석CH6 객체지향-1 (0) | 2024.01.17 |
---|---|
자바의 정석ch5 배열 (0) | 2024.01.16 |
자바의정석CH4 조건문과 반복문 (0) | 2024.01.16 |
자바의 정석 CH3 (0) | 2024.01.16 |
자바의 정석ch1 (0) | 2024.01.12 |