1.
byte a=0,b=3;
byte c =a+b;
---------------> 错误: 不兼容的类型: 从int转换到byte可能会有损失;byte等比int小的类型执行加法时,会强制转换成int。
2.
float f = 23+23.23;
short s =23; s=s+12;
----------------> 错误: 不兼容的类型:,从double转换到float可能会有损失,从int转换到short可能会有损失.but@ short s=23; s+=12;确不会出错,执行+时会强制类型转换,结果仍是short。
3.
下面程序执行的结果是?()
public class Test()
{
public static void main(String[] args)
{
System.out.println(“”+’a’+1);
System.out.println(’a’+1);
}
}-------------->第二个结果是98,第一个是a1,第二个char自动转换int,第一个是字符串的输出。
4.
do { 语句1; 语句2; ...... } while(表达式); 这种形式的循环结构中,while()后一定要有分号,表示这个语句结束了;5.
switch(i)----------->i的类型不能是double类型,可以是B. char C. byte D. shot
6.
--栈里面的变量无需系统去垃圾回收,栈内存的变量会随着方法或者代码块的执行结束而结束------
7.
字节和字符的区别:
| |-------------->字符就是我们经常用到的符号,“1,是,%......”他与不同的编码格式有关,大小不确定。
|---------------------->字节是固定的,一个字节是8位二进制,是硬盘以及其他存储,传输的计量单位。
8.
--java在类中定义的变量会自动初始化,而在方法中定义的变量不会自动初始化,必须给他赋值初始化才能使用---
9.
--关于NaN的点滴,这是float和double里,定义的一个常量,也可以自己定义,java的Float中人为得制造出来的一个合法但是不合理的实数了。所有正无穷大数值都相等,所有负无穷大数值都相等。而NaN不与任何数值相等,甚至和NaN都不相等 (NaN相当于SQL Server中的null),java提供了一个isNaN()的方法,指是否是一个不合理的实数.
10.
--计算机以补码的形式保留所有的整数------>这个容易记错,认为保存的是原码,切记,保存的是补码,为了负数加法方便。---------
1..正数补码和原码完全相等 int 3 二进制 11 补码 11
2..负数的补码是其反码加一 ,负数在计算机底层都是以补码的形式存在
3..反码是对原码按位取反,除了最高位(符号位)保持不变