DAY4方法、数组

一、方法:

1、System(类).out(对象).println()(方法)

2、值传递(Java都是值传递)、引用传递

public class Demo01 {
    public static void main(String[] args) {
        int nub = max(3,3);
        System.out.println(nub);

    }
    public static int max(int a,int b){
        int maxnum = 0;
        if(a==b){
            System.out.println("相等");//打印要在return之前,return标志着方法结束
            return a;
        }
        if(a<b){
            maxnum = b;
        }
        else {
            maxnum = a;
        }
        return maxnum;
    }
}

3、方法的重载:

public static int max(int a,int b)

public static int max(double a,double b,double c)

名字完全相同,形参类型不同

仅仅返回值类型不同,不构成重载

4、命令行传参:

执行的时候必须带着包名args,传的参数args[***],通过下标取出

5、可变参数:

(不定项参数,不知道方法括号里的参数),

public class Demo02 {
public static void main(String[] args) {
    printmax(1,3,5,3,7,8);
}
    public static void printmax(int...numbers){//...个点,如果还有还他参数,那么应该把不定长参数放在最后。

        if(numbers.length==0){
            System.out.println("0");
            return;//如果不return还会接着执行下面的。
        }
        double result = numbers[0];
        for (int i = 1;i < numbers.length;i++){
            if(numbers[i]>result){
                result = numbers[i];
            }
        }
        System.out.println(result);
    }
}

6、递归

1、边界

2、方法体

3、返回

自己调自己会造成一个方法压一个方法的放在栈中,内存容易溢出。小的f(x)可以使用,大的不行!

public class Demo03 {
    public static void main(String[] args) {
        System.out.println(f(3));
    }
    public static int f (int n){
        if(n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }
}

 

二、数组:相同类型的有序集合

1、数组:球队(数组)队员,身上的号,数组已经创建不可以改变长度,不允许出现混合元素,

public class Arrays {
    public static void main(String[] args) {
        int[] number;//声明数组
        number = new int[5];  //创建数组
        number[0]=1;
        number[1]=2;
        number[2]=3;
        number[3]=4;
        number[4]=5;
        System.out.println(number[0]);
        int sum = 0;
        for(int i=0;i<=number.length;i++){
            sum= sum +i;
        }
        System.out.println(sum);
    }
}

2、堆、栈、方法区

静态初始化:

int [] num = {1,2,3,4,5,6};

动态初始化:

1、int[] number;//栈

2、number = new int[5]; //堆

3、数组边界(如果越界会报错)

for each循环遍历数组

 

public class Demo01 {

    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5,6};
     //输出所有元素
        for (int i = 0;i<arrays.length;i++){
            System.out.println(arrays[i]);
        }
        System.out.println("=========================");
        //for each循环,没有下标
        for (int array:arrays){
            System.out.println(array);
        }
        System.out.println("=========================");
        //输出所有元素的和
        int sum = 0;
        for (int i = 0; i< arrays.length;i++){
            sum = sum + arrays[i];
        }
        System.out.println(sum);
        System.out.println("=========================");
        //输出最大值
        int max = 0;
        for(int i =0;i<arrays.length;i++){
            if(arrays[i]>max){
                max = arrays[i];
            }
        }
        System.out.println(max);
        System.out.println("=========================");
        printArray(reverse(arrays));
    }
    //数据元素反转方法
public static int [] reverse(int arrays[]){
        int result[] = new int[arrays.length];
for (int i = 0,j=arrays.length-1;i<arrays.length;i++,j--){
    result[j] = arrays[i];
        }
    return result;
    }
    //打印数组方法
    public static void printArray(int array[]){
        for (int i = 0;i<array.length;i++){
            System.out.println(array[i]+" ");
        }
    }

}

多维数组:(最多使用到2维数组)

int arrays[][]={[1,2],[2,3]}

冒泡法:比较相邻的数,每次产生这组数字中,一个最大或最小的数。

fori(idea中for循环的快捷键)

public class Demo02 {
    public static void main(String[] args) {
        int[] a = {1, 2, 4, 6, 7, 2, 9, 23, 64, 23, 66};
        int[] b = sort(a);
        for (int i = 0; i <b.length-1 ; i++) {
            System.out.println(b[i]);
        }
    }
        public static int[] sort (int[]array){
            int temp = 0;
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-1-i; j++) {
                if (array[j] > array[j + 1]) {
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }
        return array ;
    }
}

稀疏数组:

11 11 3

1  6  1

5  8  3

 

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值