반응형
✨변수란 ?
값을 저장하기 위한 메모리 공간
✨ 변수 선언 & 변수 초기화
변수 선언: 변수에 저장할 데이터 타입과 변수의 이름을 정하는 것
변수 초기화: 변수에 최초로 값을 저장하는 것(이때 최초로 저장된 값 = 초기값)
변수에 초기값으로 100을 설정하고, 다시 200을 대입하여 값을 변경함.
그리고나서 변수를 출력해보면 200이라고 뜸.
package basic;
public class VariableApp {
public static void main(String[] args) {
int su;//정수값(을 저장하기 위한 변수 선언 => 메모리에 변수 생성
//대입연산자(=)를 이용하여 변수에 값을 저장 - 대입연산자 왼쪽에 변수를 위치하여 값을 제공받아 저장
//자바에서 '='기호는 우리가 흔히 알고 있는 '같다'의 의미가 아니라 오른쪽의 값을 왼쪽의 변수에 '대입한다'라는 의미
su=100;//변수 su에 100을 저장하는 명령(변수 초기화)
// int su;// => 동일한 이름의 변수를 재선언할 경우 에러 발생
su=200;//변수에는 기본값 대신 새로운 값 저장
System.out.print("변경값 = " + su); //변경값 = 200 이라고 출력 됌
System.out.println("==================================================");
✨ 변수 사용 범위(feat. 지역 변수)
자바에서 모든 변수는 중괄호 { } 블록 내에서 선언되고 사용 된다.
메소드 블록 내에서 선언된 변수를 지역변수(=로컬 변수)라고 부름.
지역변수는 선언된 블럭이 종료되면 자동 소멸되므로 선언된 블럭 내부에서만 사용 가능.
package basic;
public class LocalVariableApp {
public static void main(String[] args) {
int num1=100;
//임의블럭
{
int num2=200;
System.out.println("=================임의 블럭 내부 ======+=========");
System.out.println("num1 = "+num1);
System.out.println("num2 = "+num2);
}
System.out.println("=================임의 블럭 외부 ======+=========");
System.out.println("num1 = "+num1);
//System.out.println("num2 = "+num2);
//num2를 선언한 블록 밖에서 사용하려하니 에러 발생
}
}
✨데이터 타입
⬛기본형(원시형)(PrimitiveType) : 기본값을 표현하거나 변수를 선언하기 위한 자료형(키워드)
=>숫자형(정수형, 실수형, 문자형), 논리형 이 있음. 아래 표에 있는 8개임.
=>실제 값을 저장
**아래 표는 메모리 사용 크기별로 기본타입을 구분 해놓은 것 (혼공자 교재 참조)
구분 | 1Byte | 2Byte | 4Byte | 8Byte |
정수 타입 | byte | char short |
int | long |
실수 타입 | float | double | ||
논리 타입 | boolean |
⬛ 참조형(Reference type)
=>기본형 8개를 제외한 나머지(String, System, 배열, 인터페이스, 열거형 등)
=> 메모리 주소를 저장
+ Char Type vs String Type
작은따옴표(')로 감싼 문자 => char 타입 사용(유니코드로 저장)
큰따옴표(")로 감싼 문자들(=문자열) => String 타입 사용(유니코드 변환 X)
🖥️각 데이터 타입을 사용해보며 익히기
package basic;
public class DataTypeApp {
public static void main(String[] args) {
//정수형(IntegerType) 리터럴 - 소수점이 없는 숫자값
//정수값을 표현하기 위한 자료형(키워드) - byte, short, int, long
byte a1=-128;//=128~127
short a2=32767;//-32768~32767
int a3=2147483647;//-21억~21억
long a4=2147483648L;
System.out.println("a1 = "+a1);
System.out.println("a2 = "+a2);
System.out.println("a3 = "+a3);
System.out.println("a4 = "+a4);
long a5=100;
System.out.println("a5 ="+a5);
System.out.println("==================================================");
System.out.println("<<실수형(DoubleType)>>");
System.out.println("실수값(4Byte) = "+40.6F);//실수값F => 4Byte 실수형 리터럴(Float)
//println() 메소드는 실수값이 아주 작거나 큰 경우 지수형태로 변환하여 출력
System.out.println("실수값(8Byte) = "+0.00000000023);//실수값 => 8Byte 실수형 리터럴(Double)
//실수값을 지수형태로 표현하여 사용 가능
System.out.println("실수값(8Byte) = "+1.23E+10);
//실수값을 표현하기 위한 자료형 - float, double
float b1=1.23456789F;//가수부로 표현한 크기(정밀도) : 소숫점 7자리
double b2=1.23456789;//가수부로 표현한 크기(정밀도) : 소숫점 15자리
System.out.println("b1 ="+b1);
System.out.println("b2 ="+b2);
System.out.println("==================================================");
System.out.println("<<문자형(CharacterType)>>");
//'A' : 65, 'a':97, '0' : 48, ' ' : 32, '\n' : 13
System.out.println("문자값 = "+'A');
System.out.println("\"개발자\"가 되고 싶어요!");//이스케이프 문자 사용
System.out.println("ㅎ ㅎ \n재밌다");//이스케이프 문자 사용
//문자값을 표현하기 위한 자료형 - char(2Byte)
char c1='A';
char c2=65;
char c3='a' -32;
System.out.println("c1 ="+c1); //c1, c2, c3 모두 A로 출력 된다.
System.out.println("c2 ="+c2);
System.out.println("c3 ="+c3);
System.out.println("==================================================");
//논리형(BooleanType) 리터럴 - false(거짓), true(참) => 연산 불가능
// => Java프로그램에 문자형 리터럴은 기본적으로 1Byte 표현
System.out.println("<<논리형(BooleanType)>>");
System.out.println("논리값(1Byte) = "+false);
System.out.println("논리값(1Byte) = "+true);
//관계연산자(비교연산자)를 이용한 연산식의 결과값으로 논리값이 발생되어 제공
System.out.println("논리값(1Byte) = "+(20 < 10));
System.out.println("논리값(1Byte) = "+(20 > 10));
boolean d1=false;
boolean d2=20>10;
System.out.println("d1 = "+d1);
System.out.println("d2 = "+d2);
System.out.println("==================================================");
//문자열(StringType) 리터럴 : " " 안에 0개 이상의 문자들을 사용하여 표현되는 값
// => 문자열은 기본형(원시형)이 아닌 String 클래스(참조형)를 사용하여 표현
System.out.println("<<문자열(StringType)>>");
System.out.println("문자열 = "+"홍길동");
System.out.println("문자열 = "+"유관순 열사가 \"대한독립만세\"를 외쳤습니다.");
//문자열을 표현하기 위한 자료형:String Class
String name="임꺽정";
System.out.println("이름 = "+name);
}
}
반응형
'Backend > Java' 카테고리의 다른 글
[Java]제어문 - If~else문 & Switch문 (0) | 2023.11.28 |
---|---|
[Java]연산자(단항 연산자 / 이항 연산자 / 삼항 연산자) (1) | 2023.11.25 |
[Java]형변환(Type Casting) (1) | 2023.11.23 |
[Java]Hello World 출력하기 (1) | 2023.11.22 |
[Java 환경 구축] JDK 17 및 이클립스(Eclipse) 설치 / 환경변수 설정 (0) | 2023.11.05 |