八大数据类型: 1、整型 1个字节占8位 byte 1字节 -128~127 short 2字节 -32768~32767 int 4字节 政府20亿左右 long 字节 非常大
2、字符型 char 占2个字节,采用的是Unicode编码格式,支持中文
3、浮点型 float 4字节 单精度 double 8字节 双精度
4、布尔型 boolean true为真 false 为假
在前面加final,皆可以将数据类型变为常量
final int APPLE_PRICE_PER_KM = 5;//声明常量数据类型转换 自动转换,准话为精度高度 int+ float = float
强制转换 精度变小
idouble d1 = 3.5555; int i1 = (int)d1; System.out.println(i1);//输出3舍弃前面的字节码
int i2 = 257; byte b1 =(byte)i2; System.out.println(b1);//输出为1初始化: 局部变量必须进行初始化 实例变量和类变量:编译器可以自动对他们进行初始化 boolean 类型默认是false char默认类型‘\000’ byte 默认0 short 默认0 float 0.0f …… ’ String字符串 字符串常量池,示例:
String s1 = "hello";//String类型变量 String s2 = "hello";//声明另外一个String类型变量 //比较内容 System.out.println(s1.equals(s2)); //比较内存地址 System.out.println(s1==s2);结果出输出
true true如果是new出来的,String对象都是在堆内存 示例:
String s1 = "hello";//String类型变量 String s2 = "hello";//声明另外一个String类型变量 String s3 = new String("hello"); String s4 = new String("hello"); //比较内容 System.out.println(s1.equals(s2)); //比较内存地址 System.out.println(s1==s2); System.out.println(s1.equals(s3)); System.out.println(s1 == s3); System.out.println(s3==s4);输出:(String equals比较的是内容,Object 的equals比较的是指向的地址))
true true true false false