가야 할 방향은 정해졌으니 이제 걸어가는 일만 남았다.
언제나 그렇듯, 걸어가는 과정은 반복적이고 지루하다. 즐겁게 걸어간다면 제일 좋겠지만, 그런 사람들은 아마도 게임 로딩바를 보면서 웃을 수 있는 사람들일 것이 틀림없다.
그래, 이건 로딩바 같은 거다. 끝나면 재미있는 것들이 나오는 그런 로딩바.
자바 공부중 . . .
숫자와 문자
자바는 문자(Character)와 문자열(String)을 구분한다. 문자는 한 글자를 의미하고, 문자열은 여러 개의 문자가 결합한 것을 의미한다. 자바에서 문자는 '(작은따옴표)로, 문자열은 "(큰따옴표)로 감싸야 한다.
System.out.println('생');
System.out.println("생활코딩");
문자열 안에 큰 따옴표를 넣고 싶을 때에는 \(역슬래시)를 앞에 붙이면 된다.
System.out.println("egoing said \"Welcome programming world\"");
한 줄의 문자열을 여러 줄로 만들 때에는 \n을 붙인다.
System.out.println("HTML\nCSS\nJavaScript\n");
문자열끼리 더할 수도 있다.
System.out.println("생활"+"코딩");
(문자를 따옴표 없이 더하니 아스키코드로 더해지는 현상을 확인했다.)
변수
변수는 컨테이너다.
int a;
a = 1;
System.out.println(a+1);
a = 2;
System.out.println(a+1);
변수 a를 int(정수)를 담는 컨테이너로 선언하고, 1을 담았다.
double a = 1.1;
System.out.println(a+1.1);
a = 2.1;
System.out.println(a+1.1);
변수 a를 double(실수)를 담는 컨테이너로 선언하고, 1.1을 담았다.
실수와 정수의 차이는 소수점의 여부.
변수 안에는 다양한 데이터 형이 담겨질 수 있다.
String first = "coding";
System.out.println(first+" "+"everybody");
변수 first에 문자열을 담았다.
변수는 코드의 수정을 용이하게 해 준다.
int a = 100;
System.out.println(a + 10);
System.out.println((a+ 10) / 10);
System.out.println(((a + 10) / 10) - 10);
System.out.println((((a + 10) / 10) - 10) * 10);
변수 a의 값을 바꾸면 코드 안에 있는 a의 값을 전부 바꿀 수 있다.
주석과 세미클론
주석은 코드에서 해석되지 않는다.
public static void main(String[] args) {
String a, b;
}
한 줄 주석
public static void main(String[] args) {
String a, b;
}
여러 줄 주석
public void println(int x) {
synchronized (this) {
print(x);
newLine();
}
}
java doc 주석
세미클론은 문장의 끝을 의미한다. 붙이지 않으면 에러가 난다.
int a = 100; double b = 10.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 |
이를 잘 이용하면 컴퓨터 메모리를 아낄 수 있지만, 컴퓨터 성능의 상향평준화로 사실상 int만을 쓴다.
실수형
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
---|
float | 4byte | ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) |
double | 8byte | ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) |
실수는 대부분 double을 사용한다.
문자
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
---|
char | 2byte | 모든 유니코드 문자 |
문자열과 혼동하지 않을 것.
상수의 데이터 타입
변수에 저장되는 상수도 데이터 타입이 존재한다.(!)
실수의 표현
float a = 2.2;
이는 오류를 발생시킨다. 자바에서 <실수형 상수는 기본적으로 double의 데이터 타입>이기 때문이다.
float a = 2.2F;
F를 붙여 2.2라는 상수가 float 형식임을 명시해 주면 오류가 해결된다.
정수의 표현
long a = 2147483648;
이는 오류를 발생시킨다. 자바에서 <정수형 상수는 기본적으로 int의 데이터 타입>이기 때문이다.
long a = 2147483648L;
L을 붙여 2147483648이라는 상수가 long 형식임을 명시해 주면 오류가 해결된다.
byte a = 100;
short b = 200;
특이하게도 이는 오류가 발생하지 않는데, 자바는 byte와 short 타입에 대해서는 int 형을 허용하기 때문이다.
이 포스트는 <생활코딩>의 자바 강의를 요약한 포스트입니다.