변수(Variable)
저장하기 위한 공간(메모리에 저장)
변수 선언
타입 이름;
(변수 선언 시 저장된 값은 마지막에 지정된 값을 저장함)
1. 선언 후 값 지정
public static void main(String[] args) {
int x;
int y, z; //같은 변수는 쉼표로 선언 가능
x=1;
y=2;
z=3;
}
2. 선언과 함께 값 지정
public static void main(String[] args) {
int x=1;
int y=2;
int z=3;
}
블록
클래스 블록, 메소드 블록
(블록을 벗어나면 그 변수를 사용할 수 없음)
로컬 변수
메소드 블록 내에 선언된 변수를 로컬 변수
로컬 변수는 메소드 블록 내에서만 사용되고 메소드 실행이 끝나면 자동 삭제
더보기
//클래스 블록 시작
public class JavaVar2 {
int c = 10;
// 메인 메소드 블록 시작
public static void main(String[] args) {
int a = 10;
// 1번 블록 시작
{
int b = 7; //1번 블록 시작 전에 b라는 변수가 선언되었다면 불가능
System.out.println(a);
// 1번 블록 종료
}
int b = 5; //1번블록의 변수 b와 관계없는 변수
System.out.println(b);
// 메인 메소드 블록 종료
}
// 메소드1 블록 시작
public void method1() {
int a = 5; //메인 메소드의 변수 a와는 관계없는 변수
System.out.println(c); //클래스 변수 c
// 메소드1 블록 종료
}
//클래스 블록 종료
}
int d = 8;
{
// 사용 가능한 변수 d
int e = 10;
{
// 사용 가능한 변수 d e
int f = 12;
// 사용 가능한 변수 d e f
}
// 사용 가능한 변수 d e
}
// 사용 가능한 변수 d
변수 규칙
- 첫 번째글자는 문자거나 ' $ ', ' _ ' 이어야하고, 숫자로 시작 X
- 영어 대소문자를 구분
- 첫 문자는 소문자로 시작하되 다른 단어가 붙을 경우 첫 문자를 대문자로 함( 관례 ) > 카멜식
- 문자의 길이 제한은 없음
- 자바 예약어는 사용할 수 없음
예약어
자바 언어에서 의미를 가지고 사용되는 단어, 변수 이름으로 사용할 경우 컴파일 에러 발생
(예 : 기본 타입, 논리값, 클래스 관한것, 메소드 관한 것 등등)
기본 타입
기본타입 | 정수타입 | byte, char, short, long |
실수타입 | float, double | |
논리타입 | boolean |
정수타입
byte | 1 byte | - 128 ~ 127 |
short | 2 byte | - 32768 ~ 32767 |
(기본 정수형) int | 4 byte | - 2^31 ~ 2^31- 1 |
long | 8 byte | - 2^61 ~ 2^61- 1 |
long 타입은 데이터 끝에 L(l)을 추가
ex) long x = 0.01L
더보기
public static void main(String[] args) {
byte b1 = 127;
System.out.println("b1 = "+b1);
// byte b2 = 128; 범위 초과
short s1 = 100;
System.out.println("s1 = "+s1);
short s2 = (short)(s1 + 10); //캐스팅 필요
System.out.println("s2 = "+s2);
int i1 = 100;
System.out.println("i1 = " + i1);
int var1 = 200; //10진법
int var2 = 0203; //8진수 0-
int var3 = 0x74a; //16진수 0x-
int var4 = 0b11011; //2진수 0b-
System.out.println("var1="+var1);
System.out.println("var2="+var2);
System.out.println("var3="+var3);
System.out.println("var4="+var4);
long l1 = 10000;
System.out.println("l1="+l1);
long l2 = 100000000000L; //길이가 길면 L표시
System.out.println("l2="+l2);
long l3 = l1+1000;
System.out.println("l3="+l3);
}
문자와 문자열
문자 | char | 부호 없는 2byte 정수 | 0~65535 (아스키코드) | 한 글자 데이터로 ' ' 선언 |
문자열 | string | 복수개의 글자로 구성된 자료 (기본타입X) " " 로 묶어 선언 |
public static void main(String[] args) {
char c1 = 65;
System.out.println(c1);
char c2 = 66;
System.out.println(c2);
char c3 = '가';
System.out.println((int)c3);
char c4 = 'a';
char c5 = (char)(c4+1);
System.out.println(c5);
String s1 = "abcdef";
}
더보기
A
B
44032
b
실수타입
float | 4 byte | 부호 1bit, 지수 8bit, 가수 23bit |
(실수형 기본 타입) double | 8 byte | 부호 1bit, 지수 11bit, 가수 52bit |
float 타입은 데이터 끝에 f (F) 추가
public static void main(String[] args) {
float f1 = 3.141592f;
double d1 = 3.141592;
if(f1==d1) {
System.out.println("같은값");
}else {
System.out.println("다른값");
}
}
더보기
다른값
정확도가 다르기 때문에 (double이 더 높음) 결과값이 다르게 나온다
논리타입
true | 1byte | 조건문과 제어문의 실행 흐름을 변경하는데 사용 |
false |
public static void main(String[] args) {
boolean flag = false;
System.out.println("flag="+flag);
flag = (1<2);
System.out.println("flag="+flag);
}
더보기
flag=false
flag=true
제어문자 ( escape 문자)
\n | 개행 | \\ | 역슬래시 문자 출력 |
\r | 개행 | \" | 큰따옴표를 출력 |
\r\n | 개행 | \' | 작은따옴표를 출력 |
\t | 수평탭 |
public static void main(String[] args) {
String s2 ="강감찬";
String s3 ="이순신";
System.out.println(s2+"\t"+s3);
System.out.println(s2+"\n"+s3);
System.out.println(s2+"\r\n\\\""+s3);
System.out.println("\""+s2+"\"\t\""+s3+"\"");
}
더보기
강감찬 이순신
강감찬
이순신
강감찬
\"이순신
"강감찬" "이순신"
리터럴
2진수 8진수 10진수 16진수
'JAVA > JAVA BASIC' 카테고리의 다른 글
[JAVA] 반복문 - for문 (0) | 2024.03.11 |
---|---|
[JAVA] 조건문 (0) | 2024.03.08 |
[JAVA] 연산자 (0) | 2024.03.07 |
[JAVA] 타입 변환 & 시스템 입출력 (0) | 2024.03.06 |
[JAVA] 단축키, 기본 설정 (0) | 2024.03.04 |