Interger/Array.fill/sort/非静态变量引用

2019-06-05  本文已影响0人  小咕咕coco
//1. Interger
Integer [][]ajacent= new Integer[vertexnum][vertexnum]; 
        for (int i=0;i<vertexnum;i++){
//2. Array.fill
            Arrays.fill(ajacent[i],0);   
        }
//3. Comparator, sort
Comparator cmp=new mycmptor();
        for (int i=0;i<vertexnum;i++) {
            Arrays.<Integer>sort(ajacent[i], cmp);
        }
//4. 静态方法中不能引用非静态变量
class mycmptor implements Comparator<Integer> {
    @Override
    public int compare(Integer o1, Integer o2) {
        //如果n1小于n2,我们就返回正值,如果n1大于n2我们就返回负值,
        //这样颠倒一下,就可以实现反向排序了
        if(o1 < o2) {
            return 1;
        }else if(o1 > o2) {
            return -1;
        }else {
            return 0;
        }
    }
}
//5. 子类,方法,方法引用
Bin bin=new Bin();
int yon=bin.dig(mark,a-plus,ajacent,plus);

  1. Interger 和 int
    基本类型和包装类的关系
    • Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了将基本数据类型当成对象操作,Java基本数据类型引入了对应的包装类型(wrapper class)
    • 从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换

原始类型:boolean,char,byte,short,int,long,float,double
包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double

  1. Array.fill
    int数组初始值是0,Interger数组初始值是null
    Array.fill可以用特定值填充一维数组

  2. 数组排序:sort,comparator
    直接sort或指定范围直接sort,是升序
    自己指定cmptor可以实现降序

  3. 静态方法中不能引用非静态变量
    静态方法和静态变量是属于类,非静态属于对象,非静态方法或变量需要通过对象引用

    • 主类中的main方法是静态方法,而且会直接调用
    • (但是引用非静态方法的话(任何),就要建立对象之后再引用了,就像用bin类中的其他方法的时候)
  4. 类的成分
    - 变量,方法(都有静态非静态之分)
    - 子类

上一篇下一篇

猜你喜欢

热点阅读