반응형
public static void main(String[] args) {
//정수 연산시 형변환(int보다 작은 자료형들의 덧셈연산) ->int형으로 형변환
byte x=10;
char y=20;
short z=30;
int result1 = x+y+z; //컴파일 오류.. 덧셈연산시 모든 피연산자는 int형으로 형변환
//정수 연산시 형변환(int보다 큰자료형이 포함된 덧셈연산) ->큰자료형으로 형변환
long w=40;
long result2 = x+y+z+w; //컴파일오류 ..int보다 큰자료형 연산식에 포함되면 큰자료형으로 형변환
//실수 연산시 형변환(정수형,실수형 섞여있을때)->실수자료형으로 형변환
float v=3.14f;
double o=3.14;
double result3 = x+y+z+w+v+o;
}
}
public class C01typeChange {
public static void main(String[] args) {
//자료형변환
//특정 자료형에 의해 저장된 데이터가 다른 자료형 공간에 전달될때
//자료형을 일치시키는 작업
//자동형변환(암시적형변환) : 컴파일러에 의해 자동으로 자료형 일치
//강제형변환(명시적형변환) : 프로그래머에 의해 강제적으로 자료형 일치
//자동형변환
//byte<char<int<long<float<double
byte byteval = 10;
int intval = byteval; //자동형변환
char charval = '가';
intval = charval; // 자동형변환
long longval = intval; //자동형변환
float floatval = longval; //자동형변환
double doubleval = floatval; //자동형변환
}
}
public class C02typeChange {
public static void main(String[] args) {
//강제형변환
//넓은공간에 있는 값을 좁은공간에 대입하려고하는 경우 컴파일에러가 발생
//이러한경우게 강제적으로 형변환을 프로그래에 의한 개입으로 처리
//강제변환하는경우에는 데이터손실 가능성이 높다
int intval = 44032;
System.out.printf("%c\n", intval);
char charval = (char)intval;
System.out.printf("%c\n", charval);
long longval = 500;
intval = (int)longval;
System.out.printf("%d\n", intval);
double doubleval = 3.14;
intval = (int)doubleval;
System.out.println(intval);
int num=129; //00000000 00000000 0000000 10000001
byte byteval=(byte)num; // 10000001
System.out.println(num);
System.out.println(byteval);
}
}
public class C04ArithTypeChange {
public static void main(String[] args) {
int num = 10;
int div = 4;
double result1 = num/div;
double result2 = (double)num/div;
System.out.println("result1 : " + result1);
System.out.println("result2 : " + result2);
}
}
public class C03ArithTypeChange {
public static void main(String[] args) {
//정수 연산시 형변환(int보다 작은 자료형들의 덧셈연산) ->int형으로 형변환
byte x=10;
char y=20;
short z=30;
int result1 = x+y+z; //컴파일 오류.. 덧셈연산시 모든 피연산자는 int형으로 형변환
//정수 연산시 형변환(int보다 큰자료형이 포함된 덧셈연산) ->큰자료형으로 형변환
long w=40;
long result2 = x+y+z+w; //컴파일오류 ..int보다 큰자료형 연산식에 포함되면 큰자료형으로 형변환
//실수 연산시 형변환(정수형,실수형 섞여있을때)->실수자료형으로 형변환
float v=3.14f;
double o=3.14;
double result3 = x+y+z+w+v+o;
}
}
public class C05ArithTypeChange {
public static void main(String[] args) {
//----------------------
//문자열 + 숫자
//----------------------
// System.out.println("문자열1" + "문자열2"); //단순 연결
// System.out.println("문자열1"+','+"문자열2"); //단순 연결
// System.out.println("문자열1"+2);//숫자->문자열자동형변환,연결
// System.out.println(2+"문자열1");//숫자->문자열자동형변환,연결
// System.out.println(2+1+"문자열1");
//----------------------
//문자열->숫자로 강제 형변환
//----------------------
// System.out.println("10" + "20"); //단순 연결
//
// //문자열 -> 숫자형으로 변환(정수)
// int n1=Integer.parseInt("10"); //문자열인10을 정수형으로 형변환
// int n2=Integer.parseInt("20"); //문자열인20을 정수형으로 형변환
//
// System.out.println(n1 + n2); //30
//
// //문자열 -> 숫자형으로 변환(실수)
// double n3=Double.parseDouble("3.14");
// double n4=Double.parseDouble("4.15");
// System.out.println(n3+n4);
//----------------------
//숫자->문자열로 강제 형변환
//----------------------
int n1=10;
double n2=20.4;
System.out.println(n1+n2);
String str1=String.valueOf(n1);
String str2=String.valueOf(n2);
System.out.println(str1+str2);
System.out.println((int)Double.parseDouble("3.14"));
String str11 = 2 + 3 + "";
String str22 = 2 + "" + 3;
String str33 = "" + 2 + 3;
System.out.println(str11);
System.out.println(str22);
System.out.println(str33);
}
}
반응형
'JAVA' 카테고리의 다른 글
연산자 (0) | 2022.06.06 |
---|---|
Scanner (0) | 2022.06.06 |
양의 정수, 음수, 실수, 자료형 (0) | 2022.06.03 |
인터페이스 (0) | 2022.05.25 |
추상 (0) | 2022.05.25 |