欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-17 17:36:40
...

数组

一维数组

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

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

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

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

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

**重点:**程序内存操作流程
数组定义&使用,数组的引用传递,方法声明及使用,foreach输出

二维数组

数组声明

//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("");
	}	
}
相关标签: java