자바 공부중. . . (숫자와 문자, 변수, 주석과 세미클론, 데이터 타입, 상수의 데이터 타입)

Reobivy·2023년 5월 19일
0

가야 할 방향은 정해졌으니 이제 걸어가는 일만 남았다.
언제나 그렇듯, 걸어가는 과정은 반복적이고 지루하다. 즐겁게 걸어간다면 제일 좋겠지만, 그런 사람들은 아마도 게임 로딩바를 보면서 웃을 수 있는 사람들일 것이 틀림없다.

그래, 이건 로딩바 같은 거다. 끝나면 재미있는 것들이 나오는 그런 로딩바.

자바 공부중 . . .


숫자와 문자

자바는 문자(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); //2 
a = 2;
System.out.println(a+1); //3
변수 a를 int(정수)를 담는 컨테이너로 선언하고, 1을 담았다.
double a = 1.1; 
System.out.println(a+1.1); // 2.2
a = 2.1; 
System.out.println(a+1.1); // 3.2
변수 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;
    /*
    a = "coding";
    b = "everybody";
    System.out.println(a+b);
    */
}
여러 줄 주석
/**
 * Prints an integer and then terminate the line.  This method behaves as
 * though it invokes <code>{@link #print(int)}</code> and then
 * <code>{@link #println()}</code>.
 *
 * @param x  The <code>int</code> to be printed.
 */
public void println(int x) {
    synchronized (this) {
        print(x);
        newLine();
    }
}
java doc 주석

세미클론은 문장의 끝을 의미한다. 붙이지 않으면 에러가 난다.

int a = 100; double b = 10.1;
이렇게 여러 줄의 코드를 한 줄에 표현할 수도 있다.

데이터 타입

같은 데이터 타입을 담는 변수더라도, 종류마다 담을 수 있는 데이터의 크기가 다르다.

정수형

데이터 타입메모리의 크기표현 가능 범위
byte1 byte-128 ~ 127
short2 byte-32,768 ~ 32,767
int4 byte-2,147,483,648~2,147,483,647
long8 byte-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
이를 잘 이용하면 컴퓨터 메모리를 아낄 수 있지만, 컴퓨터 성능의 상향평준화로 사실상 int만을 쓴다.

실수형

데이터 타입메모리의 크기표현 가능 범위
float4byte±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
double8byte±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d)
실수는 대부분 double을 사용한다.

문자

데이터 타입메모리의 크기표현 가능 범위
char2byte모든 유니코드 문자
문자열과 혼동하지 않을 것.

상수의 데이터 타입

변수에 저장되는 상수도 데이터 타입이 존재한다.(!)

실수의 표현

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 형을 허용하기 때문이다.
이 포스트는 <생활코딩>의 자바 강의를 요약한 포스트입니다.

0개의 댓글