1.数组的两种定义格式?掌握数组的索引访问方式
第一种: 数据类型[] 数组名 int[] arr
第二种:数据名 数据类型[] arr int[]
数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。
数组静态初始化就是在创建数组时,直接将元素确定。
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
eg:int[] arr = new int[5];
每一个存入数组的元素,对每个元素的位置进行编号,切记切记:从0开始。
遍历arr.length。
for(int x=0; x<arr.length; x++) {
System.out.println(arr[x]);
}
数组常见的错误(越界异常和空指针异常)
2.java内存分配
3.方法
方法的通用格式:
public static 返回值类型 方法名(参数) {
方法体;
return 数据 ;
}
•
public static 修饰符,目前先记住这个格式。
返回值类型 方法操作完毕之后返回的数据的数据类型
如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return
方法名: 调用方法时候使用的标识
参数 :由数据类型和变量名组成,多个参数之间用逗号隔开
方法体 :完成功能的代码块
return 如果方法操作完毕,有数据返回,用于把数据返回给调用者
定义方法时,要做到两个明确
明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型
明确参数:主要是明确参数的类型和数量
调用方法时的注意:
void类型的方法,直接调用即可
非void类型的方法,推荐用变量接收调用
4.方法重载
• 方法重载概念
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
o 多个方法在同一个类中
o 多个方法具有相同的方法名
o 多个方法的参数不相同,类型不同或者数量不同
• 注意:
o 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
o 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载
5.HashMap和HashTable的区别
map接口有一个常用的实现类HashMap.
1.HashMap
采用的是数组+链表的数据结构。在查询和修改方面继承了数组的线性查询,和链表的寻址修改。 同样HashMap他也是不安全的,hashMap采用的是数组+链表,当发生hash碰撞的时候,会采用拉链发,在数组的位置形成链表或红黑树,
设想有多个线程同时操作该集合,如果有两个计算出的hash值相同,那么在多线程的情况下肯定会有一只只丢失,这样就是不安全的。
2.HashTable
因为hashMap是不安全的所有就有了线程安全的hashtable,他是通过加锁,通过Synchronized关键字加锁获取线程安全的。