java函数与数组

一、函数

函数格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)

    {

           执行语句;

           return 返回值;

    }

 

返回值类型: 运算结果的类型,如果函数没有返回值则用void来表示

函数名:     标识符,名字任意取

形式参数:   是一个变量,用于存储调用函数传递进来的实际参数

实际参数:   传递给形式参数的具体数值

返回值:     返回给调用者

 

说明:

1)main方法是程序的入口,由虚拟机调用,方法和方法之间不能嵌套,方法之间通过调用来使用;

2)对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写;

3)函数重载:在同一个类中,有一个以上的同名函数,函数的参数列表或参数类型不一样

  

例子

[root@bch04 java]# cat Demo9.java 
public class Demo9 {
    public static void main(String[] args) {
    int i = 10;
    int j = 20;
    int max = getMax(i,j);
    System.out.println(max);
    }
    
    public static int getMax(int x,int y) {
    int result;
    if (x>=y) {
        result = x;
    } else {
        result =y;
    }
    return result;
    }
 
}
 
//运行结果
[root@bch04 java]# java Demo9
20
[root@bch04 java]# cat Demo10.java 
public class Demo10 {
    public static void main(String[] args) {
        getResult(5);
 
}
    public static void getResult(int x) {
        System.out.println( x*8);
}
 
}
 
//运行结果
[root@bch04 java]# java Demo10
40


[root@bch04 java]# cat Demo11.java 
public class Demo11 {
    public static void main(String[] args) {
    draw(10,20);
    System.out.println(equalas(10,20));
 
}
    public static void draw(int width,int height) {
        for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
                System.out.print("*");
            }
        System.out.println(); 
        } 
    }  
    public static boolean equalas(int a, int b) {
        return a==b?true:false;
        }
 
}
 
//运行结果
[root@bch04 java]# javac Demo11.java 
[root@bch04 java]# java Demo11
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
false


  

二、数组

1.定义

格式一:

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

示例:int[] arr = new int[5];

 

格式二:

元素类型[] 数组名 = new 元素类型[]{元素,元素,……};

示例:int[] arr = new int[]{3,5,1,7};

      int[] arr = {3,5,1,7};

特点:直接明确数组的长度,以及数组中元素的内容

 

说明:

1)左半部分:声明数组变量,指定数组的元素类型、数组标识

2)右半部分:创建数组,用到关键字new,在内存中产生一个容器实体,开辟空间大小

3)创建数组之后不能修改数组的大小,可以使用length属性获取数组的大小

 

 

2.初始化

方式一:

int[] arr3=new int[3];
arr3[0]=1;
arr3[1]=5;
arr3[2]=6;


方式二:不使用运算符new

int[] arr = { 1, 2, 3, 4, 5 };
int[] arr2 = new int[] { 1, 2, 3, 4, 5 };


 

3.数组遍历

public static void main(String[] args) {
       int[] x = { 1, 2, 3 };
       for (int y = 0; y < x.length; y++) {
           System.out.println(x[y]);
       }
    }

 

例子

//选择排序
[root@bch04 java]# cat Demo11.java 
public class Demo11 {
    public static void main(String[] args) {
    int[] arr = new int[3];
    arr[0] = 1;
    arr[1] = 3;
    arr[2] = 2;
    int max = arr[0];
    for (int i=0; i<arr.length-1; i++) {
        for (int j=i+1; j<arr.length; j++) {
            if (arr[i] > arr[j]) {
                 max = arr[i];
                 arr[i] = arr[j];
                 arr[j] = max;
                }
 
            }
        }
        System.out.println(arr[0] +"\n" +arr[1] +"\n" +arr[2]);
   }
 
}
 
//运行结果
[root@bch04 java]# java Demo11
1
2
3

 

//冒泡排序
[root@bch04 java]# cat Demo11.java 
public class Demo11 {
    public static void main(String[] args) {
    int[] arr = new int[3];
    arr[0] = 1;
    arr[1] = 3;
    arr[2] = 2;
    int max = arr[0];
    for (int i=0; i<arr.length-1; i++) {
        for (int j=i+1; j<arr.length-1-i; j++) {
            if (arr[j] > arr[j+1]) {
                 max = arr[j];
                 arr[j] = arr[j+1];
                 arr[j+1] = max;
                }
 
            }
        }
        System.out.println(arr[0] +"\n" +arr[1] +"\n" +arr[2]);
   }
 
}
 
//运行结果
[root@bch04 java]# java Demo11
1
2
3


 

三、数组(2维)

1.定义

    数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数];

 

2.初始化

2.1 静态初始化

    int [][] a = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };


2.2 动态初始化


1.png 

 

例子

[root@bch04 java]# cat Demo12.java 
public class Demo12 {
    public static void getArr2(int [][] a) {
        for (int i = 0; i<a.length; i++) {
            for (int j =0 ; j<a[i].length; j++) {
                    System.out.print(a[i][j] +" ,");
                    }
            }
        System.out.println();
    }
 
    public static long getSum(int [][] a) {
        long sum = 0L;
        for (int i =0; i<a.length; i++) {
            for (int j =0; j<a[i].length; j++) {
                    sum += a[i][j];
                }
            }
        return sum;
    }
 
    public static int getCount(int [][] a) {
        int count = 0;
        for (int i =0; i<a.length; i++) {
            for (int j =0; j<a[i].length; j++) {
                count++;  
            }
        }
        return count ;
    }   
 
    public static void main(String[] args) {
        int [][] a = new int [][]{{1,2,3,4,5,6},{6,5,4,3,2,1},{8,9,0}};
        getArr2(a);
        System.out.println("二维数组和:" +getSum(a));
        System.out.println("二维数组元素个数:" +getCount(a));
 
    }
 
}
 
//运行结果
[root@bch04 java]# java Demo12
1 ,2 ,3 ,4 ,5 ,6 ,6 ,5 ,4 ,3 ,2 ,1 ,8 ,9 ,0 ,
二维数组和:59
二维数组元素个数:15





猜你喜欢

转载自blog.51cto.com/huangzp/2107777