[Day2-Java] 변수와 자료형 (22.09.06)
변수
메모리에 하나의 값(data)을 저장할 수 있는 방과 같은 기억 공간(메모리 공간)이다.
변수 선언 시 변수명 작성규칙
1. 대소문자가 구분되며, 길이에 제한이 없다.
2. 예약어(Keyword)를 사용할 수 없다.
3. 숫자로 시작해서는 안 된다.
4. 특수문자는 _ 와 $ 만 허용된다.
표기법
카멜 표기법: firstName
스네이크 표기법: first_name
파스칼 표기법: FirstName
일반적인 관례
1. 클래스 이름은 대문자로 시작
2. 메소드(멤버함수)이름, 변수명은 소문자로 시작
3. 상수 변수 이름은 모두 대문자로 작성(PI, SIZE 등)
기본 자료형의 종류
자료형 | 키워드 | 크기 | 기본값 |
논리형 | boolean | 1byte | false |
문자형 | char | 2byte | '\u0000' |
정수형 | byte | 1byte | 0 |
short | 2byte | 0 | |
int | 4byte | 0 | |
long | 8byte | 0L | |
실수형 | float | 4byte | 0.0f |
double | 8byte | 0.0 or 0.0d |
서식문자 종류
서식문자 | 출력의 형태 |
%d | 10진수 정수 형태의 출력 |
%o | 8진수 정수 형태의 출력 |
%x | 16진수 정수 형태의 출력 |
%f | 실수의 출력 |
%e | e표기법 기반의 실수 출력 |
%g | 출력의 대상에 따라서 %e 또는 %f형태의 출력 |
%s | 문자열 출력 |
%c | 문자 출력 |
public class HelloWorld {
public static void main(String[] args) {
int a = 3;
int b = 5;
int c;
System.out.print("print는 줄 안바꿈 a는 " + a);
System.out.println(" println은 줄 바꿈 c는 " + (c=1) );
System.out.printf("printf는 %d <-여기에 변수 출력", b);
}
}
[출력결과]
print는 줄 안바꿈 a는 3 println은 줄 바꿈 c는 1
printf는 5 <<-여기에 변수 출력
> int :자료형을 의미하며 integer(정수)의 줄임말
> 3 (int a = 3 에서) : 3이란 값은 리터럴(변수에 저장되는 값 자체)
> int c; : 변수 선언
> int a = 3; : 변수 초기화(변수 선언과 동시에 초기값 대입 처리하는 것을 말함)
> print : print는 줄바꿈을 하지 않고 문자를 출력한다.
> println : println은 문자 출력 후 줄바꿈을 한다.
> printf : " " 안에 있는 %d 위치에 , 뒤에 오는 변수를 출력한다. / 서식문자를 사용한다. / c언어에서 주로 사용
(%d는 정수 타입을 출력한다는 의미, 예를 들어 %f는 실수 타입 d = decimal (십진수), f = float (실수) )
package exam_variable;
public class ByteExample {
public static void main(String[] args) {
byte var1 = -128;
byte var2 = -30;
byte var3 = 0;
byte var4 = 30;
byte var5 = 127;
// byte var6 = 128; // byte는 -128~ 127까지 표현이 가능하다. C언어에서는 128이 되면 그 다음 값을 표현하지만
// 자바에서는 128을 넣으면 표현할 수 없다고 경고가 뜨고 에러가 나온다.
System.out.println("var1=" + var1);
System.out.println("var2=" + var2);
System.out.println("var3=" + var3);
System.out.println("var4=" + var4);
System.out.println("var5=" + var5);
// System.out.println("var6=" + var6);
byte num6 = 20 % 6; //%는 나머지
System.out.println(num6);
// byte var7 = 63 * 4; 위와 마찬가지로 127의 숫자를 넘어서서 표현을 하지 못하므로 int로 바꾸어주면 된다.
int num8 = var3 * var4;
// System.out.println(var7);
System.out.println(num8);
}
}
[출력결과]
var1=-128
var2=-30
var3=0
var4=30
var5=127
2
0
package exam_variable;
public class CharExample {
public static void main(String[] args) {
char c1 = 'A'; //문자를 직접 저장(소문자 a는 97)
char c2 = 65; // 십진수로 저장
char c3 = '\u0041'; // 16진수로 저장
char c4 = '가'; // 문자를 직접 저장
char c5 = 44032; // 십진수로 저장
char c6 = '\uac00'; // 16진수로 저장
int uniCode = c1; //유니코드 얻기
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
System.out.println(uniCode);
}
}
[출력결과]
A
A
A
가
가
가
65
package exam_variable;
public class test1 {
public static void main(String[] args) {
int a = 3;
int b = 5;
int c;
System.out.println("교환 전 a와 b 의 값: "+ "a = " + a + " b = " + b);
c = a;
a = b;
b = c;
System.out.println("교환 후 a와 b 의 값: "+ "a = " + a + " b = " + b);
}
}
[출력결과]
교환 전 a와 b 의 값: a = 3 b = 5
교환 후 a와 b 의 값: a = 5 b = 3
저는 자료형 외울 때 12 1248 48 즉 1248 1248 이렇게 외웠어요. 뭔가 기억이 잘되는 것 같기도,, ㅋㅎㅋ
'Java' 카테고리의 다른 글
[Day5-Java] 배열(1차원) (0) | 2022.10.26 |
---|---|
[Day4-Java] 제어문 (0) | 2022.10.06 |
[Day3-Java] 변수와 자료형 2, 연산자 (0) | 2022.10.06 |
[Day1-Java] 프로그래밍 (0) | 2022.10.05 |