不再怕面试官刁难篇——Java基础数据类型

关键词:Java; 面试;笔试;数据类型;基础数据类型

Basic

类型 比特数 最大值 最小值
byte 8bit 127 -128
short 16bit 32767 -32768
int 32bit 2147483647 -2147483648
long 64bit 9223372036854775807 -9223372036854775808
float 32bit 3.4028235E38 1.4E-45
double 64bit 1.7976931348623157E308 4.9E-324
char 16位unicode - -
boolean 没有size属性 - -

More I need to know

1. final
  • 存放位置是放在栈里面,不需要用到堆,存储比较快。
  • 不可变,包括包装类都是不可变的(全部是final)。
  • 不可变的意思是说内存里面的值一旦被设置后就不会改变,如果要改变就会另外开辟一个位置存放新的值,但旧的值还在。
int i1 = 1; 
int i2 = 1; 
i2 = 2; 

第1,2行里面,i1和i2是一样的值,他们实际是指向同一个内存空间(虽然2个变量,实际一个空间),第2行i2修改成其他值的时候,i2就指向了一个新的内存空间,里面是2。

2. double与float

java中所有浮点类型默认情况下都是double,不能将double 类型的值赋给float类型的变量,即便该double类型的值处于float类型的范围内。
例如:

double a=1.2;
System.out.println(a);

输出为:1.2

float a=1.2;
System.out.println(a);

不能正确输出
解决:

法一、强制类型转换,将double类型的值强制转换为float类型
float a=(float)1.2
System.out.println("a");
法二、
float=1.2F;
System.out.println("a");

你可能感兴趣的:(不再怕面试官刁难篇——Java基础数据类型)