对于转义字符,发现换页符与退格符在myeclipse中完全是废的,没任何作用。
对于浮点数据类型的学习,有很大的收获
书上说表示浮点数的e或E前面必须有数,后面必须有整数
那么我就想:是不是e前面的数可以是十六进制或者八进制呢
测试如下
public class test1 {
static double f = 0x11e30;
public static void main(String[] args) {
System.out.println("double "+f);
}
}
发现打印出来了double 73264.0
原因:0x11e30中0x代表16进制数后边11e30就是16进制数的具体值
所以0x11e30 = 1 * 16^4 + 1* 16^3 + 14 * 16^2 + 3*16^1 + 0 * 16^0 = 73264
在16进制中 0-9就表示0-9, a 表示10, b表是11, c表示12, d表示13, e表示14, f表示15
这里的e不是表示10的几次方的意思,因为e代表10的几次的说法是在10进制数情况下才有效果的,其他进制数是没有这个方法的,前边的0x代表16进制数,所以这里的e代表的就是14而不是10的多少多少次方了
想用指数形式的16进制表示:
需要用2的幂的形式,符号不是e而是p或P.
0x11p30;
相当于10进制:17*2^30.
public class test2 {
static double f = 011e3;
public static void main(String[] args) {
System.out.println("double "+f);
}
}
发现打印出来了double 11000.0
原因:
java 语言规范(jls)规定:
表示浮点类型数的字面量,只有10进制表示和16进制表示。(没有其他进制表示)。
在本例中,将011看作是10进制数了。