一、数组
一维数组
1.数组创建:
创建一个可供使用的数组要两步:声明+分配内存
方式一:数组类型 数组名称 [ ] = null;// 声明数组。
数组名称 = new 数组类型 [数组长度];//分配内存。
注:(1)数组内所有元素类型一致
(2)声明数组时:"数组名称" 和 "[ ]" 的位置可以互换。
(3)声明数组时,在栈中分配一块内存,存数组名称。
第二步new时,在堆中分配相应长度的内存块存储数组元素,并把该内存空间的地址赋给栈内存中的数组名 称变量。
只开辟栈空间的数组是无法使用的,必须有指向的堆内存空间才行。
(4)声明数组时,赋值为null,是因为数组是引用数据类型,引用数据类型的默认值是null。
方式二: 数组类型 数组名称 [ ] = new 数据类型[数组长度];
2.数组元素访问:数组名称[下标]。
注:数组下标从0开始,到 数组名称.length为止
3.数组的静态初始化:数组类型 数组名称[ ] = {初始值1,初始值2,...初始值n}
4.几种排序算法:冒泡排序、选择排序、快速排序、反转排序……
当然,java中提供了数组排序的方法:java.util.Arrays.sort(方法名)
二维数组
1.数组创建:
方式一:
数组类型 数组名称 [ ] [ ];
数组名称 = new 数组类型 [行数] [列数];
方式二:
数组类型 数组名称 [ ] [ ] = new 数组类型 [行数] [列数];
2.静态初始化:
数组类型 数组名称[ ] [ ] = new 数组类型{ {第0行初始值},{第1行初始值},...{第n行初始值} }
注:Java中允许二维数组的每行元素个数不相同。
多维数组
数组类型 数组名称 [ ] [ ]...[ ];
二、方法
1.方法定义:
public static 返回值类型 方法名称(类型 参数1,类型 参数2,...类型 参数n){
程序语句;
return 表达式;
}
注:
(1)如果不需要传参,则只写一个空的括号即可。
(2)如果没有返回值,则返回值类型 写 void,此时方法体中无 return 表达式。
(3)static 修饰的方法,叫静态方法,可以以 "方法名()" 的方式直接调用。
(4)方法名驼峰命名规则,类型名首字母大写。
(5)方法内部的变量叫做局部变量,只在方法内部起作用。
2.方法重载:
方法名相同,参数类型和个数不同。
3.return 结束方法:
一个方法中执行到 return ,直接结束,返回至调用方法的地方。
4.方法的递归调用:
三、数组的引用传递
数组的传递属于引用传递,传递的是堆中地址的使用权。
public class Test {
public static void main(String[] args) {
int temp[] = new int {1,3,5};
fun(temp);
for (int i =0;i<temp.length;i++){
System.out.println(temp[i]+"、");//打印temp的所有元素
}
public static void fun(int x[]){
x[0] = 6;
}
}
//运行结果是:6,3,5 ;而不是1,3,5
四、java新特性
1.可变参数:
返回值类型 方法名称 (类型... 参数){ }
2.foreach输出:
for(数据类型 变量名称 :数组名称){ }