1.Java有2种数据类型:

  • 基本数据类型(8种):存的是数据本身
  • 引用数据类型:存的是保存数据的空间地址

2.看图找问题

3.float 型和 double 型的区别?

  • 在内存中占有的字节数不同:float单精度浮点数在机内存占4个字节,double双精度浮点数在机内存8个字节。
  • 有效数字不同:float单精度浮点数有效数字8位,double双精度浮点数有效数字16位。
  • 数值取值范围不同:float单精度浮点数取值范围时:-3.40E+38 ~ 3.40E+38;double双精度浮点数取值范围:-1.79E+308~-1.79E+308
  • 在程序中处理速度不同:一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
  • PS:如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转,float是8位有效数字,第7位数字将会四舍五入。

4.float和double的常见问题:

  • java中3*0.1==0.3将会返回什么?true还是false?(答案:false,浮点型不能完全精确的表示出来,一般会丢失精度)
  • java中float f = 3.4;是否正确?(答案:不正确,3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于向下转型会造成精度损失,因此需要强制类型转换float f = (float)3.4;或者写成 float f = 3.4f;)

5.char和string的区别?

  • 类型不一样:char时字符型,表示字符。String是字符串类型,也是一个类,具有面向对象的特征,可以调用方法。
  • 定义时不同:char表示字符,定义时用单引号,只能有一个字母或数字。而String表示字符串,定义时用双引号,可以是一个,或者多个字母或汉字等,就是所谓的字符串,String内部用来存储的结果是一个char字符数组。