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 }

 

posted on 2023-01-30 17:08  魔都喷火龙  阅读(25)  评论(0)    收藏  举报

导航