데이터 타입은 자료형 또는 데이터형 이라고함.
System.out.println(숫자 - 연산자 - 숫자); 형식으로 산술연산 가능
작은 따음표(' ')로 한 문자를 감싸야 함
System.out.println('황');
큰 따음표(" ")로 문자열을 감싸야 함.
System.out.println("효상");
문자열은 + 연산자를 사용하여 문자열 연산이 가능
System.out.println("황" + "효상");
하지만 문자열을 작은따음표로 감싸면 에러발생, 하지만 한 문자를 큰 따음표로 감싸는것은 문제없음(한 문자도 문자열로 처리가능)
이스케이프는 출력 내에 따음표를 넣고싶을 때 사용하는 방법으로
만약 출력을
황효상은 "공부"한다
라고 하고싶을 때,
System.out.println("황효상은 "공부"한다");
라고 작성하면
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The left-hand side of an assignment must be a variable
Syntax error on token "공부", invalid AssignmentOperator
at org.opentutorials.java_start.eclipse.Helloworld.main(Helloworld.java:7)
와 같은 에러가 발생한다.
그 이유는 println에서 큰 따음표를 출력내에 포함하고 싶으면
\" 와 같은 방식으로 해야하기 때문이다.
ex) System.out.println("황효상은 \"공부\"한다");
라고 작성을 하면
황효상은 "공부"한다
가 출력된다.
하나의 println(" ~~ "); 내에 여러줄을 출력하고 싶다면
'\n'을 사용하면 된다.
만약
공부
밥
공부
라는 출력을 println 한줄로 하고싶다면
System.out.println("공부\n밥\n공부");
라고 작성하면 된다.
주석(comment)은 로직에 대한 설명이나 코드를 비활성화 할 때 사용하는 방법.
한줄에 걸쳐 작성한 코드나 프로그램의 내용을 서술하고 싶을 때 사용하는 방법입니다.
public static void main(String[] args) {
// 한줄 주석입니다.
String hyo, sang;
}
여러줄에 걸쳐 작성한 코드나 프로그램의 내용을 서술하고 싶을 때 사용하는 방법입니다.
public static void main(String[] args) {
/* 한줄 주석입니다.
두줄 주석인가?
세줄 주석이다! */
String hyo, sang;
}
/**로 시작하는 주석은 JavaDoc 주석이라고 해서 자바의 문서를 만들 때 사용합니다. 아래 예제는 다음 URL의 문서를 생성하는 방법입니다.
/**
Prints an integer and then terminate the line. This method behaves as
though it invokes {@link #print(int)}
and then
{@link #println()}
.
@param x The int
to be printed.
/
public void println(int x) {
synchronized (this) {
print(x);
newLine();
}
}
세미콜론은 문장의 끝을 의미하는 기호로, 자바에서 문장의 끝에 세미콜론을 사용하지 않으면 컴파일 에러 발생.
public static void main(String[] args) {
/* 세미콜론은 문장의 끝을 의미하기 때문에 밑의 변수선언처럼
여러줄의 문장을 한줄에 표현할 수도 있습니다, */
String hyo; char sang;
}
8 bit (비트) 1 byte
1024 byte (바이트) 1 kilobyte
1024 kilobyte (킬로바이트) 1 megabyte
1024 megabyte (메가바이트) 1 gigabyte
1024 gigabyte (기가바이트) 1 terabyte
1024 terabyte (테라바이트) 1 petabyte
1024 petabyte (페타바이트) 1 exabyte
1024 exabyte (엑사바이트) 1 zettabyte
중요한 점 - 한 bit는 2진수로 표현할 수 있으며 8bit 는 2^8개의 숫자를 표현가능 0 <= 8bit <= 2^8-1 까지.
byte 1 byte -128 ~ 127
short 2 byte -32,768 ~ 32,767
int 4 byte -2,147,483,648~2,147,483,647
long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
불필요한 메모리 낭비를 줄일 수 있다.
만약 변수에 숫자 1을 담으려고한다면 어떤 데이터 타입의 변수에 입력해야할까?
단순히 숫자 1을 담으려고한다면 byte에 담는것이 맞다.
만약 long 타입에 숫자 1을 담는다면 byte 타입보다 8배의 메모리를 사용하기 때문이다.
만약 byte의 범위를 벗어나는 128을 byte에 입력하려고하면
error: possible loss of precision
에러가 발생한다.
float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
double 8byte
±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d)
char 2byte 모든 유니코드 문자
Java에서는 문자 와 문자열 이 다르다.
char 데이터 타입은 2byte를 사용하며 글자 하나는 담아내는데 사용하는것에 비해
String은 12Byte의 공간을 가지고 문자열을 담아낸다.
정수
실수
etc
byte와 short -> 둘다 int형 입력가능
정수는 -> default 타입이 int
실수는 -> default 타입이 double
byte, short = int 타입 입력이 허용됌.