[Java] Java공부 2일차(1)

HwangHyoSang·2022년 7월 3일
0

java공부

목록 보기
1/6

데이터 타입

데이터 타입은 자료형 또는 데이터형 이라고함.

1. 숫자

System.out.println(숫자 - 연산자 - 숫자); 형식으로 산술연산 가능

2. 문자열

문자(Character)

작은 따음표(' ')로 한 문자를 감싸야 함

System.out.println('황');  

문자열(String)

큰 따음표(" ")로 문자열을 감싸야 함.

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)은 로직에 대한 설명이나 코드를 비활성화 할 때 사용하는 방법.

1. //

한줄에 걸쳐 작성한 코드나 프로그램의 내용을 서술하고 싶을 때 사용하는 방법입니다.

public static void main(String[] args) {
// 한줄 주석입니다.
String hyo, sang;
}

2. /* */

여러줄에 걸쳐 작성한 코드나 프로그램의 내용을 서술하고 싶을 때 사용하는 방법입니다.

public static void main(String[] args) {
/* 한줄 주석입니다.
두줄 주석인가?
세줄 주석이다! */
String hyo, sang;
}

3. /**

/**로 시작하는 주석은 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을 담으려고한다면 어떤 데이터 타입의 변수에 입력해야할까?

    단순히 숫자 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)

  • 실수형은 float와 double이 있지만 대부분 double사용

문자 데이터 타입

char 2byte 모든 유니코드 문자

Java에서는 문자 와 문자열 이 다르다.

char 데이터 타입은 2byte를 사용하며 글자 하나는 담아내는데 사용하는것에 비해

String은 12Byte의 공간을 가지고 문자열을 담아낸다.

상수의 데이터 타입

정수

  1. int 2. long

실수

  1. float 2. double

etc

byte와 short -> 둘다 int형 입력가능


정수는 -> default 타입이 int
실수는 -> default 타입이 double
byte, short = int 타입 입력이 허용됌.

profile
하루의 기억을 정리하는 기록장

0개의 댓글