注释
单行注释://
多行注释:/* */
文档注释:/** */可以对源代码进行说明性文字的体现,可以通过Java开发工具bin文件夹下的javadoc进行提取放到一个网页文档当中。
负数的进制
这个负数的正数的二进制取反加1如:-6的二进制为 0000-0000 0000-0000 0000-0000 0000-0110
0000-0110
取反 1111-1001
加1 0000-0001
1111-1010
精度丢失问题
高精度数据类型和低精度数据类型进行运算,把结果赋值给低精度变量会出现精度丢失问题,因为运算过程中低精度运算变量会自动转换为高精度变量,低精度的存储空间可能不足以存放高精度的存储空间如
class Demo{
public static void main(String args[]){
btye b=3;
b=b+4;
System.out.println("b="+b);
}
}
运行结果:
只有进行强制类型转换运算结果才可以运行
class Demo{
public static void main(String args[]){
btye b=3;
b=(btye)(b+4);
System.out.println("b="+b);
}
}
关于丢失精度的一道面试题
以下程序是否正常运行:
class Demo{
public static void main(String args[]){
byte b1=3,b2=127;
b1=b1+b2;
System.out.println("b="+b1);
}
}
运行结果
答案是不能,因为在程序语句 b1+b2中的两个整数元素不是确定的数值,有可能会超出byte类型的最大值127,所以应该使用较高精度的数据类型
自增注意
class Demo{
public static void main(String args[]){
int i=1;
i=i++;
System.out.println("i="+i);
}
}
运行结果
运算过程等价于
class Demo{
public static void main(String args[]){
int i=1;
int temp=i;
i++;
i=temp;
}
}