@Test/**
* int → char
*/publicvoidcharAndInt(){int a =65;System.out.println((char)a);}
char → int
方法一
/**
* char → int
* 方法一
*/@TestpublicvoidintAndChar(){char a ='9';if(Character.isDigit(a)){// 判断字符是否是数字int num =Integer.parseInt(String.valueOf(a));// char → String → intSystem.out.println(num);}}
方法二:
/**
* char → int
* 方法二
*/@TestpublicvoidintAndChar02(){char a ='9';if(Character.isDigit(a)){// 判断字符是否是数字int num =(int) a -(int)'0';// 用字符的数字值 - '0'的字符值System.out.println(num);}}
Double 和 Long的相互转换
@Testpublicvoidchange(){// Double > LongDouble a =12.33;Long b = a.longValue();System.out.println(b);// Long > DoubleLong d =17L;Double c = d.doubleValue();System.out.println(c);}
三目运算符、算数运算符的一些类型转换
packagecom.choice.qusetion13;importorg.junit.Test;importcom.choice.question12.Exercise13;/**
* @author wty
* @date 2022/11/22 15:22
*/publicclassExercise17{@TestpublicvoidgetExercise17(){byte b =1;char c =1;short s =1;int i =1;double d =1.0;/** 三目,一边为byte另一边为char,结果为int
* 其它情况结果为两边中范围大的。适用包装类型
*/// byte : charObject o1 =true? b : c;System.out.println(o1 instanceofInteger);// byte : byteObject o2 =true? b : b;System.out.println(o2 instanceofByte);// int : doubleObject o3 =true? i : d;System.out.println(o3 instanceofDouble);// byte : shortObject o4 =true? b : s;System.out.println(o4 instanceofShort);/** 表达式,两边为byte,short,char,结果为int型
* 其它情况结果为两边中范围大的。适用包装类型
*/// byte + charObject o5 = b + c;System.out.println(o5 instanceofInteger);// byte + shortObject o6 = b + s;System.out.println(o6 instanceofInteger);// char + shortObject o7 = c + s;System.out.println(o7 instanceofInteger);// int + doubleObject o8 = i + d;System.out.println(o8 instanceofDouble);/**
* 当 a 为基本数据类型时,a += b,相当于 a = (a) (a + b)
* 当 a 为包装类型时, a += b 就是 a = a + b
*/// (byte)byte + shortObject o9 =(b += s);System.out.println(o9 instanceofByte);// (char)char + intObject o10 =(c += i);System.out.println(o10 instanceofCharacter);/**
* 常量任君搞,long以上不能越
*/Object o11 =(char)1+(short)1+(int)1;System.out.println(o11 instanceofInteger);}}