[ITWILL : JAVA]리터럴(literal), byte + byte가 왜 에러날까, int VS Integer, void와 int차이

ITWILL학원 : 6강 JAVA BY 윤미영강사

1. 리터럴(literal)

실제 값.
변수의 값이 변하지 않는 데이터(메모리 위치안의 값)이다.

참고링크 : 상수와 리터럴차이

2. byte + byte가 왜 에러날까

b1과 b2는 연산결과는 잘 나오지만 b3의 연산결과는 에러가 난다.

1
2
3
4
5
6
7

byte b1 = 10;
byte b2 = 20;
System.out.println(b1+b2); //30

byte b3 = b1+b2;
System.out.println(b3); //Type mismatch: cannot convert from int to byte

산술연산자는 기본적으로 int형이다. 그래서 type mismatch가 나타난다
int형으로 산술하면 잘~출력된다

1
2
3
4
int i1 = 100;
int i2 = 200;
int i3 = i1+i2;
System.out.println(i3); //300

3. int VS Integer

아래 데이터형의 차이점이 뭘까?

  • int a; 기본데이터형
  • Integer i; 참조데이터형
    • 라이브러리
    • 매서드사용가능
1
2
3
4
5
6
int a1 = 100;
Integer a2 = 100;

System.out.println(a2.toString()); //100
System.out.println(Integer.MAX_VALUE); //2147483647
System.out.println(Integer.MIN_VALUE); //-2147483648

4. void와 int차이

void와 int 매서드의 차이를 알아보자
public static 뒤에 void가 오기도하고 int등 다른 데이터타입이 올 수 있다.

  • void의 의미 : myPrint가 가지고 있는 값이 없을때, 돌려줄값이 없을때 return이 없을때 사용.
  • int의 의미 : 반대로 가지고있는 값이 있을때, 돌려줄값이 있을때. return과 함께 사용
1
2
3
4
5
6
7
public static void 매서드이름(매개변수){ //void 매서드 정의하기
System.out.println("void 매서드")
}

public static int 매서드이름(int 변수명1, int 변수명2){ //int 매서드 정의하기
return 변수명1 + 변수명2;
}