Java 练习过程中总结

来源:互联网 发布:大数据时代的喜与忧 编辑:程序博客网 时间:2024/05/26 05:52

1. 异常与自增

while (count < 2){    try {        id[count++] = input.nextInt();    }catch (Exception e){        System.out.println("ID必须是数字");        input.next();        continue;    }}
即使在try中出现了异常(例如输入字符),count也会执行自增操作,然后才会抛出异常并执行后续操作。可以使用input.next()接收错误的输入,然后再次循环以达到重新输入ID的目的。


2. compareTo的返回值

public int compareTo(Poker tempPoker) {    if (this.bigger(tempPoker)) {        return -1;    }    return 1;}

由于在使用Collections.sort(listName)方法时,始终按照从小到大的顺序排序,所以当返回值是-1时,会被排在前边,返回值是1时,会被排在后边,返回值是0时尚不清楚规则

eg. 假设A和B是Poker的两个对象,则A.compareTo(B)的值是-1时,代表调用Collections.sort()方法时,A要排在B前边。


3. 初始化

类中的变量若没有初始化,会被默认初始化为0值,boolean为false,String为""


4. 参数传递

值传递:int等基本类型及其封装类Integer、String类型

引用传递:自定义的类

重载:参数顺序不同也会形成重载,但是参数在传递时不会全部自动转换类型,只能向更大的类型转换,如可以从int自动转换为double,但是不能从double自动转为int。此外,int可以自动转换为Integer,但是不能自动转换为Double,而且如果形参类型既有double又有Integer,那么int会优先转换为double,之后才是Integer


5.初始化:一旦类被加载,就会执行初始化。即使没有显示的使用static关键字,构造函数也是静态的。

局部变量:不会自动初始化,必须手动初始化,不然会报错。

类中的成员变量:先初始化静态变量(仅在该类第一次加载时执行初始化),然后是非静态变量,最后执行构造函数。基本变量默认被初始化为0,Boolean会被初始化为false,引用默认被初始化为null。





0 0
原创粉丝点击