方法的定义
修饰符 返回值 方法名(参数类型 参数名1,参数类型 参数名2){ 执行语句 .......... return 返回值; }
public static void PrintRectangle(int height, int width) {
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
System.out.print("*");
}
System.out.println();
}
}`
方法的重载 (定义在一个类中的多个同名方法)
要求
i.方法名相同
ii.形参参数列表不同(数据类型,个数,顺序)
iii.方法的修饰符,返回值类型,异常没有要求
public static int add1(int a, int b) { return a+b; } public static double add1(double a, double b) { return a+b; } public static int add1(int a, int b,int c) { return a+b+c; }
类方法-Static方法
Math类,Arrays类使用时并未创建对象就可直接使用其方法:Arrays.toString;
类方法(静态方法,static方法)
-
类中使用static修饰的方法
public static double sqrt(double a){...}
-
类方法属于类,不属于对象.
-
无需创建对象就可调用
数组
数组是一组相同类型数据的集合
数组的定义
int[] a; //声明一个int[]类型的变量
a = new int[100];//创建一个长度为100的数组
//静态初始化
int[] b = new int[] {9,8,3,5,2};
int[] c = {9,8,3,5,2};
数组创建后,数组中元素自动赋默认值
-
byte , short,int,long 0 float,double 0.0 char 一个空字符,即\u0000 引用数据类型 null,表示变量不引用任何对象
数组的常见操作
数组的遍历
foreach遍历
for (int i : a) { System.out.printf(" "+i); }
数组的最值
数组的排序
-
冒泡排序法
int[] a = {9,8,3,5,2};
System.out.println(“排序前数组:”+Arrays.toString(a));
//冒泡排序
for (int i = 0; i < a.length-1; i++) {for (int j = 0; j < a.length-i-1; j++) { if(a[j]>a[j+1]) { int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } }
}
System.out.println(“排序后数组:”+Arrays.toString(a));`2.选择排序法
每一次从待排序的数据元素中选出最小(或最大)的一个元素,将元素存放在序列的起始位置(即与待排序列的第一个元素的位置进行交换)。然后再从剩余的未排序元素中寻找最小(或最大)的元素,然后存放在已排序序列的末尾。以此类推,直到将待排序的元素全部排完。
for (int i = 0; i < a.length-1; i++) {
for (int j = i+1; j < a.length; j++) {
if(a[i]<a[j]) {
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}`
java.util包中有一个Arrays对象,里面包含了许多可直接处理数组的方法
多维数组
`
//二维数组的定义
int[][] a = new int[3][4];//定义一个3行4列的二维数组
int[][] b = new int[3][]; //定义一个3行列不确定的数组
int[][] c = {{1,2},{3,4,5},{6,7,8,9}};//
//二维数组的遍历
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j]+" ");
}
System.out.println();
}`
System.out.println(Arrays.deepToString(c));//打印二维数组