数组定义&使用,数组的引用传递,方法声明及使用,foreach输出

数组

一维数组

数据类型是声明数组元素的数据类型,数组名是起的名称,长度存放多少元素;

//数组声明
int score[]=null;//默认值是空
score=new int[4];

int score[]=new int[10];
//声明一个元素个数位10的整型数组score,同时开辟一块内存空间供其使用;

//静态初始化
int score[]={1,2,3};

若要访问数组中的元素,利用索引来完成;

**重点:**程序内存操作流程
在这里插入图片描述

二维数组

数组声明

//1.
int score[][];
int score =new int[4][3];
//2.
int score[][]=new int[4][3];
//3.
int score[][]={{1,2},{3,4,5},{,6,7,8,9,10}};

public class 二维数组 {
    public static void main(String[] args) {
        int [][]age=new int[10][10];
        int count=0;
        for (int i =0;i<age.length;i++){
            for (int j=0;j<age[i].length;j++){
                age[i][j]=20+count;
                count++;
            }
        }
        print(age);
    }


    public static void print(int [][]age){
        for (int i =0;i<age.length;i++){
            for (int j=0;j<age[i].length;j++){
                System.out.print(age[i][j]+"  ");
            }
            System.out.println();
        }
    }
}

三维数组

同二维数组类比;

数组的传递引用

因为数组是引用类型, 所以,即使方法本身没有任何返回值,修改后的结果也会保留下来;
下图向方法中传递数组的过程:
在这里插入图片描述

方法

方法就是一段可重复调用的代码段;

方法的概念

public class 方法的概念 {

    static void hello2(){
        System.out.println("加了static可以直接调用");
    }
    void hello1 (){
        System.out.println("这是一个方法,非静态要实例化才能调用");
    }

    /**
     * @main 主方法
     * */
    public static void main(String[] args) {
        方法的概念 f=new 方法的概念();
        f.hello1();
        hello2();

    }
}
public static void printInfo(){
	
}

使用void关键字不需要任何返回值,不需要编写return语句;

方法的形参

blic class 方法的形参 {
    static void sum(int a,int b){//a,b形参
        System.out.println(a+b);
    }


    public static void main(String[] args) {
//        int a=10;
//        int b=10;
//        System.out.println(a+b);
        sum(10,20);


    }
}

方法的引用类型参数

public class 方法的引用类型参数 {

    static void init(int[]a){
        for (int i=0;i<a.length;i++){
            a[i]=i+1;
        }
    }

    public static void main(String[] args) {
        int[]b=new int[30];

        init(b);
        for (int i=0;i<b.length;i++)
            System.out.println(b[i]);
    }

}

方法的返回类型

public class 方法的返回类型 {

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

    public static void main(String[] args) {

        int sum=sum(1,2);
        System.out.println(sum);

    }
}

方法重载

方法重载就是方法名称相同,但参数的类型和参数的个数不同;

/**
 *
 *方法重载 overlord
 * 方法名相同,但是方法的类型,以及里面的参数类型,个数不同;与返回类型无关
 * */
public class 重载 {

    static int sum(int a,int b){
        return  a+b;
    }
    static double sum(double a,double b){
        return  a+b;
    }
    static char sum(char a,char b,char c){
        return (char) (a+b+c);
    }
    public static void main(String[] args) {
        System.out.println(sum(1,2));
        System.out.println(sum(31.153,135.65400));
        System.out.println(sum('q','s','a'));
    }
}

重载注意事项:方法的重载一定只是在参数上的类型或个数不同;

方法的递归调用

public class 方法的递归调用 {
    public static void main(String[] args) {
        System.out.println(" 计算结果: "+sum(100));
    }
    public static int sum(int num){
        if (num==1){
            return 1;
        }else {
            return num+sum(num-1);
        }
    }
}

递归调用要是处理不好,有可能出现内存的溢出;

foreach输出

一般数组输出都是for循环,JDK1.5后支持一种foreach语法

public void print(){
	for(数据类型 变量名称:数组名称){
		System.out.println("");
	}	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值