변수란 ?
: 하나의 값을 저장할수 있는 메모리공간
(RAM)을 의미
하나의 연속된 저장공간
저장공간을 1byte 단위로 나눈다.
변수의 선언
1. 선언 이유 : 값을 저장할 공간 마련을 위해
2. 선언방법 : 변수타입 변수이름;
예시) int age;
변수에 값 저장
1. 변수에 값 저장 :
int age; //정수타입 변수 age 선언 // age = ㅁ
age = 99; // age 변수에 99를 저장 // age = 99
한문장으로는 이렇게 ↓
int age = 99; // 변수 선언과 함께 값을 저장
※ 변수의 초기화란 ? : 변수에 처음으로 값을 저장하는 것
예시) int x = 0;
int y = 5;
한문장으로는 이렇게 ↓
int x=0, y=5;
상수 ( constant )
: 한 번만 값을 저장 가능한 변수 ( 변경불가 )
리터럴
: 상수나 변수에 들어갈 값을 의미
리터럴의 접두사와 접미사
정수형
번호 | 타입 | 리터럴 | 접두사 | 접미사 | 예시 |
1 | byte | 정수형 | 0b : 2진수(jdk1.7↑) 0 : 8 진수 0x : 16진수 |
- | 100 |
2 | short | 정수형 | - | 100 | |
3 | int | 정수형 | - | 100 | |
4 | long | 정수형 | L | 100L |
실수형
번호 | 타입 | 리터럴 | 접두사 | 접미사 | 예시 |
1 | float | 실수형 | F | 3.14F | |
2 | double | 실수형 | D (생략가능) | 3.14 1e3 = 1000.0 ( 10^3) |
문자형
번호 | 타입 | 리터럴 | 접두사 | 접미사 | 예시 |
1 | char | 문자형 | - | 'A' |
논리형
번호 | 타입 | 리터럴 | 접두사 | 접미사 | 예시 |
1 | boolean | 논리형 | - | True or False |
개행 ( Enter 효과 ) : \n
변수와 리터럴의 타입 불일치
1. 변수 > 리터럴인 경우 = ok
( 값을 변수에 담을건데, 담는 그릇(변수)이 더 크니 괜츈)
예시)
int i = 'A'; // int > char
long l = 123; // long > int
doube d = 3.14f // double > float
2. 변수 < 리터럴인 경우 = Error
int i = 30_000_000; // int의 범위를 벗어남
long l = 3.14f // long < float
float f = 3.14(d) // float < double
3. byte, short 변수에 int 리터럴 저장가능 ( 단, 변수(그릇) 보다 작은 한도내에서 )
byte b = 100; // ok. byte( -128~127)
byte b= 128; // Error 범위를 벗어남
char타입 주의사항
char ch = 'AB' // 에러
char ch = '' // 에러
문자열결합 ( 문자열 + 모든타입 = 문자열)
String 은 자바에서 제공하는 클래스
String s1 = "A" + "B"; // "AB" 결과 (문자열결합)
String s2 = "A" + 7; // 7까지 문자열로 인식함. ( "7")
두 변수의 값을 교환
임시 변수 temp를 만들어, 옮겨담기
변수 기본형(8개) = 실제값을 저장
1. 문자 : char
2. 숫자 :
정수 : byte, short, int, long
1 , 2 , 4, 8 byte.
실수 : float, double
3. 논리 : boolean ( true or false )
변수 참조형 = 메모리주소를 저장
기본형을 제외한 나머지 ( String, System. 등... )
항상 4byte 또는 8byte
참조형변수 = 객체의 주소를저장
System.out.println() 단점 : 출력형식 지정불가
1. 실수의 자리수 조절불가
2. 10진수로만 출력됨
System.out.printf() 사용
: 지시자를 통하여 출력형식지정가능
printf()의 지시자 1
지시자 | 설명 |
%b | boolean 형식 |
%d | [정수] 10진수 형식 (decimal) |
%o | [정수] 8진수 형식 (octal) |
%x or %X | [정수] 16진수 형식 (hexa-decimal) |
%f | [실수] 부동 소수점 형식 (floating-point) |
%e or %E | [실수] 지수 표현식 형식 (exponent) |
%g | [실수] 간량한 형 |
%c | 문자 형식 (character) |
%s | 문자열 형식 (string) |
예시) \n은 개행
접두사를 붙여 출력하고 싶다면? ( #을 붙이기 )
printf 사용하여 자리수 정렬
Scanner 란?
: 화면으로 부터 데이터를 입력받는 기능을 제공하는 클래스
Scanner 사용하려면?
1. improt문 추가
2. Scanner객체의 생성
( System.in 은 화면입력을 받겠다 라는 의)
3. Scanner 를 사용
정수형의 오버플로우란?
: 표현할수 있는 범위를 넘어섰을때 발생
예시) 카운터기 9999 (max값)
최대값 + 1 하면, 최소값 이 된다. //9999 → 0000
최소값 - 1 하면, 최대값 이 된다. //0000 → 9999
10진수, 2진수
문자열 → 정수 : Intger.parseInt( " 문자 " )
정수 → 문자열 : n + " "
문자열 → 문자 : @.chatAt(인덱스위치번호)
문자 → 숫자 : 'n' + '0'
출처 : 남궁성의 정석코딩
'Java의 정석' 카테고리의 다른 글
4장. 조건문과 반복 (0) | 2023.02.03 |
---|---|
3장. 연산자 (Operator) (0) | 2023.02.03 |
1장. 이클립스(스프링) 가져오기, 내보내기 (0) | 2023.02.03 |
1장. 자바(이클립스) 설치하기 ( +환경변수JAVA_HOME 설정) (0) | 2023.02.03 |
1장. 자바 시작하기 (0) | 2023.02.03 |