细节注意
-
(byte, short) 和 char 之间不会相互自动转换
-
byte,short,char 他们三者可以计算,在计算时首先转换为 int 类型
-
字符串转基本数据类型,例:String str = “hello”; int n1 = Integer.parseInt(str);
-
switch(表达式)中表达式的返回值必须是: byte,short,int,charenum[枚
举],String -
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪
一层语句块 -
字符串的内容比较使用的方法 equals,例: “666”.equals(passwd)
-
数组创建后,如果没有赋值,有默认值int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
数组赋值机制
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
数组在默认情况下是引用传递,赋的值是地址类和对象的内存分配机制
Java 内存的结构分析
- 栈: 一般存放基本数据类型(局部变量)
- 堆: 存放对象(Cat cat , 数组等)
- 方法区:常量池(常量,比如字符串), 类加载信息
- 示意图 [Cat (name, age, price)]
Java 创建对象的流程简单分析
javaPerson p = new Person();
p.name = “jack”;
p.age = 10
- 先加载 Person 类信息(属性和方法信息, 只会加载一次)
- 在堆中分配空间, 进行默认初始化(看规则)
- 把地址赋给 p , p 就指向对象
- 进行指定初始化, 比如 p.name =”jack” p.age = 10
例题分析
Person a=new Person();
a.age=10;
a.name="小明";
Person b;
b=a;
System.out.println(b.name);//小明
b.age=200;
b=null;
System.out.println(a.age);//200
System.out.println(b.age);//异常