Number Type Casting(数字类型强转):
4.5 Number Type Casting(数字类型强转)
隐式 casting(from small to big)
byte a = 111;
int b = a;
显式 casting(from big to small)
int a = 1010;
byte b = (byte)a;
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
注意: 从大到小必须强转!
一道著名的公司面试题如下,以下程序有何问题?
public class Test {
public static void main(String[] args) {
short s1 = 1;
s1 = s1 + 1;
System.out.println(s1);
}
}
上面这个程序,因为1是int,s1是short,所以s1+1就往大的隐形转,就自动变成int,所以这个式子s1 = s1 + 1;左边是short,右边是int, 当把大的变成小的时,需要强转。正确的程序见下:
public class Test {
public static void main(String[] args) {
short s1 = 1;
s1 =(short) (s1 + 1);
System.out.println(s1);
}
}
输出结果:
2
4.6 转义符
换行 \n
水平制表符 \t
退格符 \b
回车符 \r
使用转义字符‘\’来将其后的字符转变为其它的含义,例如,如果需要在java中使用一个绝对路径:c:\hua\java,如果直接在程序中写String path = “c:\hua\java”,则不会得到你期望的结果,因为
n是 字母, \n死规定就是换行,
\是 转义的作用, \\死规定就是路径。
所以,这时候应该这样来写:
String path = “c:\\hua\\java”;
public class Test {
public static void main(String[] args) {
String path = "c:\\hua\\java";
System.out.println("path " + path);
/*下面一句话直接报错 @马克-to-win*/
// String path = "c:\hua\java";
}
}
输出:
path c:\hua\java