Java06
一、方法
1. 方法是语句的集合,包含于类或对象中,在程序中被创建,在其他地方被引用。
2. 设计方法的原则:一个方法只完成一个功能,这样有利于我们后期的扩展。
3. 修饰符 返回值类型 方法名 (参数类型 参数名){
…
return 返回值;
}
public static int add (int a, int b)
4. 调用
二、 方法的重载
1. 重载就是在一个类中,有相同的函数名称,但形参不同的函数。
public static int max(int a,int b) { }
public static double max(double a,double b) { }
2. 规则: 方法名必须相同
参数列表必须不同
方法的返回类型可以相同也可以不同
仅仅返回类型不同不足以成为方法的重载
三、 可变参数
1. 在方法声明中,在指定参数类型后加一个省略号...
2. 在一个方法中只能指定一个可变参数,它必须是方法的最后一个参数
public void test(int x, int... i)
四、 递归
public class demo { // 阶乘 public static void main(String[] args) { System.out.println(f(4)); } public static int f(int n) { if(n==1) { return 1; }else { return n*f(n-1); } } }
五、 数组
1 public class demo { 2 public static void main(String[] args) { 3 int[] nums; // 声明一个数组 4 nums = new int [10]; // 创建一个数组 5 nums[0] = 1; 6 // 给数组元素中赋值 7 nums[1] = 2; 8 nums[2] = 3; 9 nums[3] = 4; 10 nums[4] = 5; 11 nums[5] = 6; 12 nums[6] = 7; 13 nums[7] = 8; 14 nums[8] = 9; 15 nums[0] = 10; 16 //计算所有元素的和 17 int sum = 0; 18 for (int i = 0; i < nums.length; i++) { 19 sum = sum + nums[i]; 20 } 21 System.out.println("总和为"+sum); 22 } 23 }
1 public class demo { 2 public static void main(String[] args) { 3 int[] arrays = {1,2,3,4,5}; 4 //打印全部的数组元素 5 for (int i = 0; i < arrays.length; i++) { 6 System.out.println(arrays[i]); 7 } 8 //计算所有元素的和 9 int sum = 0; 10 for (int i = 0; i < arrays.length; i++) { 11 sum += arrays[i]; 12 } 13 System.out.println("sum="+sum); 14 //查找最大元素 15 int max = arrays[0]; 16 for (int i = 1; i < arrays.length; i++) { 17 if (arrays[i]>max) { 18 max = arrays[i]; 19 } 20 } 21 System.out.println("max="+max); 22 } 23 }
六、 多维数组
七、 Arrays类
Java基础Arrays类_嘟嘟的程序员铲屎官的博客-CSDN博客
八、 冒泡排序
1 public class demo { 2 public static void main(String[] args) { 3 int[] a = {1,4,45,2,23,67,100,98}; 4 sort(a); 5 System.out.println(Arrays.toString(a)); 6 7 } 8 // 1.比较数组中,两个相等的元素,如果第一个数比第二个数大,就交换位置 9 // 2.每一次比较,都会产生一个最大,或者最小的数字 10 // 3.下一轮则可以少一次排序 11 // 4.依次循环,直到结束 12 public static int[] sort(int[] array) { 13 int temp = 0; 14 //外层循环,判断要走多少次 15 for (int i = 0; i < array.length-1; i++) { 16 //内层循环,比较两个数,如果第一个数大,则交换位置 17 for (int j = 0; j < array.length-1-i; j++) { 18 if (array[j+1]>array[j]) { 19 temp = array[j+1]; 20 array[j+1] = array[j]; 21 array[j] = temp; 22 } 23 } 24 } 25 return array; 26 } 27 }
九、 稀疏数组
1 public class demo02 { 2 public static void main(String[] args) { 3 int[][] array1 = new int[11][11]; 4 array1[1][2] = 1; 5 array1[2][3] = 2; 6 System.out.println("输出原始的数组"); 7 for (int[] ints : array1) { 8 for (int anInt : ints) { 9 System.out.print(anInt+"\t"); 10 } 11 System.out.println(); 12 } 13 // 转换为稀疏数组保存 14 // 获取有效值的个数 15 int sum = 0; 16 for (int i = 0; i < 11; i++) { 17 for (int j = 0; j < 11; j++) { 18 if (array1[i][j]!=0) { 19 sum++; 20 } 21 } 22 } 23 System.out.println("有效值的个数:"+sum); 24 // 创建一个稀疏数组 25 int[][] array2 = new int[sum+1][3]; 26 27 array2[0][0] = 11; 28 array2[0][1] = 11; 29 array2[0][2] = sum; 30 // 遍历二维数组,将非零的值,存放稀疏数组中 31 int count = 0; 32 for (int i = 0; i < array1.length; i++) { 33 for (int j = 0; j < array1[i].length; j++) { 34 if (array1[i][j]!=0) { 35 count++; 36 array2[count][0] = i; 37 array2[count][1] = j; 38 array2[count][2] = array1[i][j]; 39 } 40 } 41 } 42 // 输出稀疏数组 43 System.out.println("稀疏数组"); 44 for (int i = 0; i < array2.length; i++) { 45 System.out.println(array2[i][0]+"\t" 46 +array2[i][1]+"\t" 47 +array2[i][2]+"\t"); 48 } 49 } 50 }
浙公网安备 33010602011771号