1.java数据类型
数据类型 | 大小(位数bit) | 大小(字节) | 范围 | 默认值 |
---|---|---|---|---|
Byte(字节) | 8 | 1 | -128~127 | 0 |
Shot(短整型) | 16 | 2 | -32768~32768 | 0 |
Int(整型) | 32 | 4 | -2147483648~2147483648 | 0 |
Long(长整型) | 64 | 8 | -9233372036854477808~9233372036854477808 | 0 |
Float(浮点型) | 32 | 4 | -3.40292347E+38~3.40292347E+38 | 0.0f |
Double(双精度) | 64 | 8 | -1.79769313486231570E+308~1.79769313486231570E+308 | 0.0d |
Char(字符型) | 16 | 2 | ‘\u0000~u\ffff’ | ‘\u0000’ |
Boolean(布尔型) | 8 | 1 | True/false | false |
2. String类型
1.String类型不可被继承
原因:String类被final修饰,而被final修饰的类是不能被继承的。
2.String对象不可被修改
原因:
public class String_Test {
public static void main(String[] args) {
String a="测试1";
System.out.println("a的初始值为:"+a);
Scanner sc=new Scanner(System.in);
System.out.print("请输入a的值:");
a=sc.nextLine();
System.out.println("a的值为:"+a);
}
}
运行结果为:
a的初始值为:测试1
请输入a的值:测试2
a的值为:测试2
解释:虽然a的值发生了变化,但是测试1还存在于内存中,因为a只是String对象的引用,不是对象本身,当执行a=sc.nextLine();时,创建了一个新的对象测试2,但是测试1还存在于内存中。