方法的定义:

  [修饰符] 返回值类型 方法名([形参表]){

    语句;方法体

  }

方法的调用:
  方法名(实参)

  对象的引用名.方法名(实参)   //通过对象调用非静态方法

  类名.方法名(实参)  //通过类名调用静态方法

public class ClassAndObject {
    public static void main(String args[]) {
        System.out.print(Hero());
    }
    static int Hero() {
        return 5;
    }
}

方法的参数传递:

  按值传递 和 按引用传递

  参数为简单数据类型:不影响实参的值;int a=1不会因方法而改变值

  参数为引用(类、数组、接口):直接修改实参

递归:

  计算n!:

static long Factorial(int n) {
        if(n==1)
            return 1;
        else
            return n*Factorial(n-1);
    }
}

方法和变量的作用域:

private 当前类内

default 当前package内

protected 不同package的子类内可访问

public 都可访问

数组

数组:相同数据类型数据的集合,有先后顺序

用a[0]表示具体数据

String stringArray[]=new String[3]  分配内存空间,3个元素空间,初始值为null

stringArray[0]=new String("how");

String stringArray[];
  stringArray = new String[3];
  stringArray[0]="第";
  System.out.println(stringArray);
  System.out.println(stringArray[0]);

数组属性:length

例题:求数组元素之和

public class SumArray {
    public static void main(String args[]) {
        int []arraySum= {1,2,3,4,5,6,7,8,9};
        int total=0;
        for(int element:arraySum) {
            total+=element;
        }
        System.out.println(total);
    }
}

冒泡算法

public class BubbleSort {
    public static void main(String args[]) {
        int []array= {12,6,8,88,23,63,-5,-26};
        for(int element:array) {
            System.out.print(element+" ");//排序前
        }
        System.out.println("排序前");
        bubbleSort(array);
        //排序后
    }
    static void bubbleSort(int array1[]) {
        for(int pass=1;pass<=array1.length-1;pass++) {
            System.out.println("第"+pass+"次");
            for(int element=0;element<=array1.length-pass-1;element++) {
                if(array1[element]>array1[element+1]) {
                    int hold= array1[element];
                    array1[element]=array1[element+1];
                    array1[element+1]=hold;
                }
                for(int num:array1) {System.out.print(num+" ");}
                System.out.println();
            }
        }
    }
}

增强型for循环:

  for(int element : array){}

多维数组:

  类型 数组名[ ][ ]

  int b[][]=new int[2][];
  b[0]=new int[3];
  b[1]=new int[5];

声明--创建数组空间--数组初始化

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

不定参数:

  dataType...parameters

void method(String s,int...numbers) ----numbers是一个数组

Arrays类:常用static方法

  void sort(Type [ ]a)        以增序的方式排序

Arrays.sort(array);

  int binarySearch (Type []a,type key )     查找指定元素值key,返回下标,否则返回-1

Arrays.binarySearch(array,6)

  void fill (type []a, val )           将值填入到数组a的各个元素中

Arrays.fill(array, 5);

,将array中全部元素变成5

  boolean equals(type []a1, type []a2)  比较两个数组是否相等

数组复制

1、System.arraycopy(数组1,从哪开始int,数组2,从那开始int,复制的长度length)

2、a.clone()

3、Arrays.copyOf ()

4、Arrays.copyOfRange (list,from,to)

12-13 23:49
查看更多