자바(439)
-
자동형 변환-프로모션/디모션-CastEx03
자동형 변환-프로모션/디모션 소스코드 public class CastEx03 { public static void main(String[] args){ System.out.println(""); System.out.println("=========프로모션========="); /*프로모션: 더 큰 자료형으로 승격이 일어나는 형태 정보의 손실이 전혀 없으며 자동적으로 발생*/ byte b1 = 127; byte b2 = 127; // byte b3 = b1 + b2; //Error: cannot convert from int to byte int i1 = b1 + b2; /*32bit(4byte)미만 byte형 데이터 연산시 32bit int형으로 승격됩니다. 데이터 타입이 다르므로 즉, int형은 byt..
-
자료형 변환(표현방법의 변환을 의미)-CastEx02
자료형 변환-표현방법의 변환을 의미 소스코드 public class CastEx02 { public static void main(String[] args) { short num1=10; short num2=20; short result=(short)(num1 + num2); //short to int -> 연산 -> int to short (내부적으로 자동으로 일어남) System.out.println(result); } 출력결과
-
자동형 변환을 통해 문자의 유니코드 값 출력-CastEx01
자동형 변환을 통해 문자의 유니코드 값 출력 소스코드 public class CastEx01 { public static void main(String[] args) { char ch1='A'; char ch2='Z'; int num1=ch1; int num2=(int)ch2; System.out.println("문자 A의 유니코드 값: "+num1); System.out.println("문자 Z의 유니코드 값: "+num2); } } 출력결과
-
접미사를 사용한 상수표현방식 변경- ConstEx03
접미사를 사용한 상수표현방식 변경 소스코드 public class ConstEx03 { public static void main(String[] args) { double e1=3.14159; //3.14기본이 double형 자료형을 가집니다. float e2=3.14159F; //e2가 float형 자료형이기 때문에 F를 붙여 명시적으로 float형으로 표현해야 줘야 합니다. long n1=10000000000L; //10000000000은 int형으로 표현 불가능한 long형 자료형이지만 //L을 붙이지 않으면 int형으로 인식하므로 long자료형으로 명시적으로 저장해 줘야 합니다. //명시적으로 접미사L을 붙여 long형 상수 표현을 의미하도록 해줍니다. long n2=150; System.out..
-
자료형으로 표현되는 상수- ConstEx02
자료형으로 표현되는 상수 소스코드 public class ConstEx02 { public static void main(String[] args) { // int num1=10000000000; //num1에 저장불가 (컴파일 에러:The literal 10000000000 of type int is out of range ) //10000000000을 int형에 저장하려고 할 때 int형 저장공간보다 크므로 에러가 발생 // long num2=10000000000; //컴파일 에러(The literal 10000000000 of type int is out of range) //충분히 담을 수 있는 long형 자료형 변수를 선언한 후 저장 시도 //10000000000 자체가 int형으로 표현 불가능..
-
상수-ConstEx01
상수 내부적으로 메모리 할당 후 연산 과정 소스코드 public class ConstEx01 { public static void main(String[] args) { int num = 6 + 10; //num : 변수 (메모리공간에 저장) //6, 10 : 상수 (메모리공간에 저장) System.out.println(10 + 3.14159); //4byte와 8byte가 메모리에 할당되어 지고 연산이 되어 진 후 출력 } } 출력결과