学习java第4天

方法

设计原则

一个方法完成一个功能

命名规则:小写和驼峰

定义

修饰符	返回值	方法名(参数类型	参数名){

		……方法体

		return 返回值;	

}

//实际参数
public static void aa(int a);
//形式参数
aa(10);

重载

本质:函数名相同,参数列表不同

public static void main(String[] args) {
        System.out.println("int ="+add(11,12));
        System.out.println("double ="+add(13L,14L));

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

控制台运行

运行class文件要先到上一级路径下并输入软件包路径+文件名

编译要在软件包下编译
在这里插入图片描述
在这里插入图片描述

可变参数(不定向参数)

public static void add (int... num){
    ……函数体
    return 0;
}

注意点:

  1. 在方法声明中,在指定参数类型后加一个省略号
  2. 一个方法只有一个可变参数
  3. 可变参数要在最后面
public class function3 {
    public static void main(String[] args) {
        print(1,2,3,4,5);
    }
    public static void print(int... num){
        for(int i=0;i<num.length;i++){
            System.out.println(num[i]);
        }
    }
}

//错误
public static void print(int... num,int x);

递归

本质:自身调用自己

注意:要有返回的条件,否则会栈溢出

public class function4 {
    public static void main(String[] args) {
        System.out.println(fun(3));
    }
    public static int fun(int i){
        if (i==1){
            return 1;//********
        }else{
            return i*fun(i-1);//******
        }
    }
}

数组

  1. 声明
//数据类型[] 数组名;
int[] num;
//数组类型 数组名[];
int num[];
  1. 创建
num = new int[10];
  1. 赋值
num[0]=1;
num[2]=2;
num[3]=3;
//未赋值默认为0
//数组长度
num.length
  1. 初始化
  • 静态初始化
int[] a={1,2,3};
Man[] mans={new Man(1,1),new Man(2,2)};
  • 动态初始化
int[] a=new int[2];
a[0]=1;
  1. 特点

    • 长度固定
    • 元素类型相同
    • 数组变量属于引用类型,数组也可以看作成对象
    • 数组对象本身在堆中
  2. 使用:

//for-each
//数组名.for自动生成
public static void main(String[] args) {
        int[] arry={1,2,3,4};
        for (int i : arry) {
            System.out.println(i);//不是用数组名
        }
}
//返回数组
return 数组名;
public static void main(String[] args) {
        int arry[]={1,2,3,4,5};
        int arry2[]=new int[arry.length];
        arry2=ser(arry);
        for (int i : arry2) {
            System.out.println(i);
        }
}
    public static int[] ser(int[] arry){
        int[] arrys=new int[arry.length];
        int i=0;
        int j=arry.length-1;
        for (;i<arry.length;i++,j--){
            arrys[i]=arry[j];
        }
        return arrys;
}
  1. 二维数组
int[][] nums=new int[][];
int[][] nums={{1,2},{3,4}};
System.out.println(nums[0][0]);
  1. Arrays类(工具类)
int [] a={1,2,3,4,5};
System.out.println(Arrays.toString(a));
Arrays.sort(a);

  1. 稀疏数组
//前提:当一个数组大部分元素为0,或者为同一值
//处理方式:1.记录一共几行几列 2.把不同值的元素和行列及值记录在一个小规模的数组中

java内存

  1. 堆:存放new对象
  2. 栈:存放基本类型,引用
  3. 方法区:可被共享,包含所有class和static
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值