자바 코드 질문

자바 코드 질문

작성일 2024.05.13댓글 3건
    게시물 수정 , 삭제는 로그인 필요

public static void main(String[] args)

{

byte var1 = 10;

}


컴파일러는 정수 리터럴을 int타입 값으로 간주하는데

왜 byte var1 =(byte)10; 으로 강제 타입 변환하지 않아도 되나요?


#자바 코드 #자바 코드 실행 사이트 #자바 코드 컨벤션 #자바 코드 해석 사이트 #자바 코드 정리 #자바 코드 정렬 #자바 코드 실행 시간 측정 #자바 코드 분석 #자바 코드 예시 #자바 코드 분석 사이트

profile_image 익명 작성일 -

안녕하세요.

변수에 리터럴을 직접 저장할 때만 해당되는 규칙인데

byte 또는 short 타입에 저장 가능한 범위의 정수값은 별도의 형변환없이 그대로 표현 가능합니다.

다만, byte 또는 short 타입을 초과하는 값들은 말씀하신대로 int 값으로 간주됩니다.

즉, byte 타입 변수에는 -128 ~ 127 사이의 리터럴을 변환없이 저장 가능하며

short 타입 변수에는 -32768 ~ 32767 사이의 리터럴을 변환없이 저장 가능합니다.

그 외의 값들을 저장할 경우 형변환이 반드시 필요합니다.

이상 아이티윌 부산교육센터였습니다.

감사합니다.

profile_image 익명 작성일 -

변수 선언 시에는

값의 볌위가 타입에 맞으면

자동으로 형변환됩니다.

profile_image 익명 작성일 -

안녕하세요.

알고계신대로 정수 리터럴은 int타입으로 기본 지정 되어있지요~

int타입보다 작은 타입인 byte, short, char 타입등은 별도의 리터럴이 존재하지 않고, int타입 리터럴을 함께 사용합니다.

다만 해당 타입별 범위가 벗어나는지 체크만 하게 됩니다.

byte var1 =(byte)10;

이 경우에는 그냥 byte var1 = 10; 이렇게 사용하시면 됩니다. 10이 byte 표현 범위만 벗어나지 않으면 됩니다.

추가로

var1 = var1 + 10; 이렇게 사용을 하면 오류가 발생합니다.

byte + int 타입의 연산은 int + int 타입으로 형변환되어 진행되고, 결과가 int가 되기 때문에

var1 = (byte)(var1 + 10);

이런식으로 최종결과의 타입에 따라 형변환을 진행해줘야 하고,

var1 += 10;

이 경우에는 형변환없이 그대로 사용이 가능합니다.

위 하고 동일한 연산이지만 축약형 연산자의 경우 byte타입으로 사용된다는것만 이해하시면 됩니다.

자바 코드 질문이요

... getUserName()) 자바 코드가 이렇게 있으면요 = 오른쪽에 있는 코드들이 User의 생성자로 들어가는건가요? 자바 초보라서 질문드립니다.. 안녕하세요....

자바스크립트 코드 질문

-알라딘 eBook <자료구조와 알고리즘 with 자바스크립트> (온개발팀) 중에서 1. 빨간 네모 속 코드 자체가 아예 이해가 되지 않아요.. ㅠ 왜 current = current.next 했는데...

자바 코드 질문이요!!

여기서 출력값에 “”붙이는 이유좀 설명해주세요ㅠㅠㅠㅠㅠ i와 j는 int형입니다. 둘을 더하면 당연히 더한 값이 나오게 됩니다. 저렇게 한 이유는 i+""을...

마인크래프트 자바 에디션 코드 입력

마인크래프트 자바를 하려고 하는데 결제까지 했더니만 코드를 입력하래여 그래서... 구입을 어디서 했는지를 적어서, 추가질문질문 남겨주세요. 답변1위가 도와...

자바 코드 질문 드립니다.

classA{ public void fn(){ System.out.println("A"); } } class B extends A{ public void fn(){ System.out.println("B"); } } public class AB{ public static void main(String args[]){ A a...

자바 코드 해석

자바 코드 clone Collections.reverse Arrays.sort 등 등 잘 모르겠어요 코드 해석 좀... 진행되는 것이지요. 참고하시고, 궁금하신 부분 있으시면 추가질문 주세요.

자바 코드 질문입니다.

... 아래의 로직에 맞게 코드를 작성하시오 1.1 가진 돈과 물건의 가격을... 자바에서 배열은 객체로 다루어집니다. 질문에서 cart나 tmp 나 1차원 배열을 참조하는...

자바 코드 질문

... ppp(); } } 작성한 코드 중에서 클래스 ttt에 있는... 있어 질문드립니다. ttt클래스를 메인에서... 그때 자바의 메모리구조가 궁금합니다.. 힙영역에...