Java学习笔记(三)——方法和数组

package methods;

public class Methods {
    
    
    /*
    * Java的方法和其他语言的函数是一样的
    * 方法包含方法头和方法体:主要成分有:
    * 修饰符:可选,告诉编译器如何调用方法,定义了访问方法的类型
    * 返回值类型: 方法可能会返回值也有可能不会返回值,返回值为空是void
    * 方法名: 是方法的实际名称,方法名和参数表共同
    * 参数类型:参数是可选的,参数类型规定的参数的类型
    * 方法体: 定义该方法的功能
    * */

    /*
    * 方法的重载:重载就是再一个类中,方法的名称可以相同,用形参来进行区分
    * //这和javaScript是有区别的,JS里明确规定函数的名称不能重复不能重载,原因就是在于JS的函数没有函数标签,所谓的函数标指的就是参数类型以及参数个数
    * 重载的规则如下:
    *       方法名称必须相同
    *       参数列表必须不同(个数、类型)
    *       方法的返回类型可以相同或者不相同
    *       仅返回类型不同不足以成为方法的重载
    * 实现理论: 方法名称相同时,编译器会根据参数的个数和类型去匹配,来选择对应的方法,如果匹配失败,编译报错
    * */

    public static void main(String[] args) {
    
    
            int sum = getSum(2,3);
            System.out.println(sum);

            int temp = getFei(5);
            System.out.println(temp);

//            方法重载
            int mul1 = getMultiple(2);
        //8
            System.out.println(mul1);
            int mul2 = getMultiple(2,9);
        //18
            System.out.println(mul2);

            print(1,2,3);
            print(1,2,3,4,5,6);
    }

//    两数求和

    public static int getSum(int a, int b){
    
    
        return a+b;
    }

//    递归求阶乘

    public static int getFei(int num){
    
    
       if(num <= 1){
    
    
           return 1;
       }else{
    
    
           return num * getFei(num -1);
       }

    }

//    方法重载

    public static int getMultiple(int num){
    
    
        return num * 4;
    }
    public static int getMultiple(int num,int num2){
    
    
        return num * num2;
    }

//    可变参数:可变参数一定放在最后其他参数之后,一个方法只可以有一个可变参数

    public static void print(int ...num){
    
    
        for (int item: num) {
    
    
            System.out.print(item);
        }
        System.out.println();
    }

}

数组:

package methods;

import java.util.Arrays;
import java.util.List;

public class Array {
    
    
    /*
    * 数组: 相同类型的数据的有序集合
    *       与js去别的是: JS的数组可以存放各种数据类型的数据,一个数组中,里面的元素既可以是字符串,也可以是对象等其他类型
    * 定义和访问: java采用new操作符来定义数组,通过下标来设置以及访问数组,下标从0开始,通过array.length来获取数组长度
    *       下标的合法区间是[0,length-1]
    *        数组的长度是确定的,下标不能越界,否则会报错: ArrayIndexOutOfBandsException:数组下标越界
    * 特点:
    *   长度是确定的,一旦被创建,长度就是不可更改的
    *   同一数组中的元素必须是相同类型,不能出现混合类型
    *   数组中的元素可以是基本类型也可已是引用类型
    *   数组变量属于引用类型,本身就是对象,JAVA中对象是存在于堆中的,因此无论数组中保存的是引用或者基本类型,都是存在于堆中的
    * 常用方法:
    *   fill():填充数组
    *   sort(): 排序
    *   toString(): 返回数组元素的字符串拼接方式
    *   asList(): 转换为链表(不可使用基本类型的数据进行转换)
    *
    *后续方法继续补充~
    *
    * */

    public static void main(String[] args) {
    
    
        defineArray();
        getList();
        getTwoDirArray();
        sparseArray();
    }
    public static void  defineArray(){
    
    
//        第一种方法:
        int [] array1 = {
    
    1,2,3,4,5};
        for (int item: array1) {
    
    
            System.out.println(item);
        }

//        第二种
        int [] array = new int[10];
        array[8] = 12;
        for (int item: array) {
    
    
            System.out.println(item);
        }

    }

//    转换为链表
    public static void  getList(){
    
    
        Integer [] aa = {
    
    1,2,3,4,5,6,67,7};
        List<Integer> listaa = Arrays.asList(aa);
        System.out.println(listaa);
    }

//    遍历二维数组

    public static void getTwoDirArray(){
    
    
        int [][] temp = new int[5][5];
        for ( int[] item: temp) {
    
    
            for (int child:item) {
    
    
                System.out.print(child);
                System.out.println();
            }
        }
    }

//    稀疏数组

    public static void sparseArray(){
    
    
        int [][] temp = new int [5][5];
        temp[2][3] = 6;
        temp[3][4] = 12;

//        打印数组
        for(int i = 0; i< temp.length; i++){
    
    
            for(int j = 0;j<temp[i].length;j++){
    
    
                System.out.print(temp[i][j]);
                System.out.print(" ");
            }
            System.out.println();
        }



    }
}

本来想写一下稀疏数组的,看来得明天写了呀!

猜你喜欢

转载自blog.csdn.net/weixin_44813858/article/details/129699793