1. 변수 variable 란?
👩🏻💻 단 하나의 값을 저장할 수 있는 메모리 공간
ex. int age = 25 ▶️ 변수 age를 선언하고 25로 초기화 한다.
변수 명명 규칙
a. 예약어 사용 x
b. 숫자로 시작 x
c. 특수문자는 '_'와 '$'만 가능
d. 클래스 이름 첫 글자는 항상 대문자, 변수와 메서드의 첫 글자는 항상 소문자
e. 여러단어로 이루어진 경우 첫 글자만 대문자
f. 상수의 이름은 모두 대문자
정수형 변수 타입 | 범위 | 크기 |
byte | -128~127 | 1 byte, 8bit |
short | -32,768 ~ 32,767 | 2 byte, 16bit |
int | 2,147,483,648 ~ 2,147,483,6647 | 4 byte, 32bit |
long | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 8 byte, 64bit |
💡 float : 소수점 7자리
💡 double : 소수점 15자리
2. 변수 기본형 Primitive type
(1) 논리형 ; boolean - true, false 값만 가짐 (1byte)
public class BooleanExample {
public static void main(String[] args) {
// boolean 형은 두가지 값만 존재 : true, false
boolean stop = false;
if(stop) {
System.out.println("중지합니다.");
} else {
System.out.println("시작합니다.");
}
}
}
// 출력결과 : 시작합니다.
(2) 문자형 'char' (2byte)
📁 char은 단 하나의 문자만 저장, 여러 문자를 저장 할려면 String 사용
📁 char은 ''(작은 따옴표)로만 묶임
📁 String 은 클래스, ""(큰 따옴표)로만 묶어야 함
public class Etc0201 {
public static void main(String[] args) {
// 문자를 숫자로
char ch = 'A'; // char ch = '\u0041';로 바꿔 써도 같다.
int code = (int)ch; // ch에 저장된 값을 int형으로 변환하여 저장한다.
System.out.println(ch); // A
System.out.println(code); // 65
}
}
(3) 정수형 byte / short / int / long
- long 접미사 ; l or L
(4) 실수형 float / double
- float 접미사 ; f ( 기본 타입이 double 이기 때문에 안 붙이면 에러남)
※ 아스키코드
미국정보교환표준부호, 또는 줄여서 ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비
를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다. (출처 ; 위키백과)
※ 유니코드
전 세계의 거의 모든 문자에 고유 숫자를 부여한 문자 집합
💡 데이터 단위 (출처; 삼성반도체 사이트)
3. 상수 constant 와 리터럴 literal
(1) 상수
형식 : final 데이터 타입 상수명 = 값;
· 변수와 달리 한 번 값을 저장하면 다른 값으로 변경할 수 없다. 대문자로 선언
· 변수 타입 앞에 'final' 붙이면 된다.
public class Exam003 {
public static void main(String[] args) {
int a =3;
System.out.println(a); // 3
a = 4;
System.out.println(a); // 4
final double PI = 3.14;
// PI = 3.15; // 에러발생
System.out.println(PI); // 3.14 이 문장만 봐도 PI가 상수인걸 할 수 있도록 대문자로 작성.
}
}
(2) 리터럴
· 문자 리터럴 : 작은따옴표로 문자 하나를 표현한 것 ▶️ ''안에 하나의 문자가 있어야 함
· 문자열 리터럴 : 큰 따옴표로 감싼 두 문자 이상 ▶️ "" 안에 아무런 문자도 넣지 않는 것 ok
· 덧셈 연산자는 피연산자 중 어느 한 쪽이 String이면 나머지 한 쪽을 먼저 String으로 변환한 다음 두 String을 결합한다.
* 왼쪽에서 오른쪽 방향으로 연산을 수행
char sample = '\'' = ''';
public class MyVar_06 {
public static void main(String[] args) {
/* 문자열 표현 */
char single = '\'';
String db1Quote = "\"Hello\""; // 겹따옴표를 출력하려면 이렇게 한다.
String root = "c:\\";
System.out.println(single); // '
System.out.println(db1Quote); // "Hello"
System.out.println(root); // c:\
char single2 = '"';
String single3 = "'";
String db1Quote2 = "'Hello'";
//String db1Quote3 = 'Hello'; // 에러
System.out.println(single2); // "
System.out.println(single3); // '
System.out.println(db1Quote2); // 'Hello'
}
}
4. 문자열 연산
'+' 연산자의 두 가지 기능
1) 피연산자가 숫자일 경우에는 덧셈 연산
2) 피연산자 중 하나라도 문자열이면 나머지 피연산자도 문자열로 자동 변환되어서 문자열 결합 연산을 수행
public class MyVar_07 {
public static void main(String[] args) {
// 숫자 결합 연산
int value = 10 + 2 + 8;
System.out.println("value : " + value); // 20
// 문자 결합 연산
String str1 = 10 + 2 + "8";
System.out.println("str1 : " + str1); // 128 :
// 연산자는 왼쪽에서 오른쪽으로 순서대로 실행이 되기 때문에
// 12 + "8" 이 됨
String str2 = 10 + "2" + 8;
System.out.println("str2 : " + str2); // str2 : 1028
String str3 = "10" + 2 + 8;
System.out.println("str3 : " + str3); // str3 : 1028
String str4 = "10" + (2 + 8);
System.out.println("str4 : " + str4); // str4 : 1010
}
}
문자열 연산 예제
public class MyVar_08 {
public static void main(String[] args) {
String a = 7 + " ";
String b = " " + 7;
String c = 7 + "";
String d = "" + 7;
String e = "" + "";
String f = 7 + 7 + "";
String g = "" + 7 + 7;
System.out.println(a); // 7
System.out.println(b); // 7
System.out.println(c); // 7
System.out.println(d); // 7
System.out.println(e);
System.out.println(f); // 14
System.out.println(g); // 77
}
}
[내용 출처 : 자바의정석 및 학원강의]
'Programming Language > JAVA' 카테고리의 다른 글
[Java] while 문 · break문 · continue 문 (0) | 2024.08.09 |
---|---|
[Java] Switch문 · for문 (0) | 2024.05.22 |
[Java] 비트 연산자 · if 문 (0) | 2024.05.21 |
[JAVA] 연산자 [단항/복합/대입/비교/논리/삼항] 및 우선순위 (0) | 2024.04.05 |
[JAVA] 형변환 casting & 연산자 operator (0) | 2024.04.01 |