1. 数组常用操作
int[] arr=new int[3];//动态初始化
//=左边放入栈内存,存放的是局部变量;右边放入堆内存,存储new动态分配的内容
int[] arr2=arr;//多个数组指向相同
int[] arr=new int[]{1,2,3};//静态初始化
int[] arr={1,2,3};//同上
int[] arr=null;//不指向任何有效地址,取arr[0]会空指针异常
int len=arr.length;//获取元素个数
2. 方法的参数传递
- 对于基本数据类型,形参的修改不影响实参
- 对于引用类型的参数(比如数组),形参的修改影响实参
-
局部变量存放在栈内存中,没有默认值;全局变量存放在堆内存中,有默认值(0/null)
-
要操作类内的private成员变量,要通过类内的setXxx()和getXxx()来修改和访问
-
this修饰的变量指代成员变量(在成员变量和局部变量重复时)
6. string
String s1=new String();
//用new创建的字符串对象,每次new都会申请一个内存空间
String s3="abs;
String s4='abs;
//用""创建的字符串,只在字符串池中创建一次,本质是一个对象
//比较==在基本类型间比较的是数据值是否相同,在引用类型间比较的是地址值是否相同
s1.equals(s2)//比较字符串内容是否相同
s.charAt()//取指定索引处的值
s.length()//获取字符串长度,数组长度是arr.length
7. StringBuilder
StringBuilder中的内容是可变的,而String内容是不可变的
StringBuilder sb=new StringBuilder();
sb.append("java");
sb.append(1).append(2);//链式编程
sb.reverse();//反转
//StringBuilder转String
String s=sb.toString();
//String转StringBuilder
StringBuilder sb=new StringBuilder(s);