- 반도체
전기 신호가 있으면 1
전기 신호가 없으면 0
-> 2진수
1bit : 부호 비트 (0 - 양수, 1 - 음수)
1byte = -2^7 ~ 2^7 - 1 (-128~127)
자료형 변수명;
int 변수;
자료형 변수명 = 값;
변수에 최초로 값을 대입(저장) 하는 것
자료형 변수명 = 값; - 선언과 동시에 초기화
1) 알파벳, 숫자, 특수문자($, _)
2) 숫자는 변수명 앞에 사용 불가
3) 예약어는 사용 불가(return, throw, if ...)
4) 유의미한 단어로 변수명 구성
int 1st; - X
int _$dollor - O
int noOfStudent - O
int throw - X
noOfStudent : 카멜 표기법
class OrderInfo : 파스칼 표기법
자료형
byte : 1바이트(8비트) -2^7 ~ 2^7 -1 (-126~125)
short : 2바이트(16비트) -2^15~2^15 - 1
int : 4바이트(32비트) -2^31~2^31 - 1
long : 8바이트(64비트) -2^63~2^63 - 1
short num =1;
int num =1;
long num =1;
소수점을 가지고 있는 숫자
float : 4byte
double : 8byte
char : 2~3byte
char ch = 'A';
숫자 변수에 대입 숫자 그대로 대입
문자를 변수에 대입할 경우 '문자'
아스키코드(1byte) : 문자표
유니코드(2~3byte) : 문자표
package ex01;
public class ex03 {
public static void main(String[] args) {
char ch1 = 'A';
System.out.println(ch1); //>A
System.out.println(ch1 + 1); //>66
char ch2 = '가';
System.out.println(ch2); //>가
System.out.println(ch2+1);//>44033
}
}
참, 거짓 (true, false)
판별식 - 조건문 반복문에서 자주 사용
boolean : 1byte
자원의 주소만 가지고 있는 변수를 선언하는 자료형
초기화를 하지않고 변수만 선언할때 기본값
int = 0
double = 0.0
boolean = false
String = null
package exam01;
public class Ex01 {
static int num1;
static double num2; //
static boolean num3;
static String str;
public static void main(String[] args) {
System.out.println(num1); // > 0
System.out.println(num2); // > 0.0
System.out.println(num3); // > false
System.out.println(str); // > false
}
}
변하지 않는 수 (constant)
final : 예약어 변수명 앞에 추가 final int MAX_NUMBER = 10;int num1 = 10; // 10 - 재료가 되는 수 : 리터럴 상수
int num2 = 10;
char ch1 = 'A'; // 'A' - 재료가 되는 수 : 리터럴 상수
//long num2 = 10000000000; //오륲
long num1 = 10_000_000_000L; // L → 처음부터 8바이트 long공간할당
//float num3 = 100.123;//오류 double(8) -> float
float num4 = 100.12F;// F → 처음부터 4바이트 float공간할당
자료형간 변환
byte num1 = 100; // int → byte
int num2 = num1; // 자동형변환
long num3 = num2; // 자동형변환
long num1 = 100000000000000000L; //8byte
double num2 = num1; // 정수 → 실수 : 자동 형변환(묵시적 형변환) 8byte
float num3 = num1; // 정수 -<실수
byte → short → int → long → float → double
char
int num1 = 1000000;
// byte num2 = num1; >오류(데이터의 유실이 발생할 가능성이 있는 경우)
byte num2 = (byte)num1; //명시적 형변환
double num1 = 10.123;
//long num2 = num1; //오류 실수->정수
long num2 = (long)num1; //명시적 형변환
System.out.println(num2); // 소수점 아래숫자는 없어지고 정수만 출력