“goto”+break\continue
求质数
若直接使用continue,内层for循环还会空转一轮,使用goto标签能够直接结束内层循环。
break的使用同上。
Scanner
next():
- 以有效字符后的空白为结束,有效字符前的空白会被自动去除
nextLine():
- 以回车为结束
接收数字
- nextInt()
- nextFloat()
- nextDouble()
养成利用hasNextXXX来进行验证的习惯
String
String是不可变对象,需要修改字符串的时候,使用StringBuilder类,连接string的时候,被隐式的转换为builder。StringBuffer (线程安全)和 StringBuilder (快)
StringBulider最常用。
“不可变对象”实例:若使用string+=“xx”操作,则此时并不是连接操作,而是对于每一次连接,都创建新的对象,可能导致内存溢出。
数组
- 数组具有消极值初始化。
- 引用数据类型的数组不会对引用数据类型进行初始化。
- 数组元素为引用类型,若用Arrays.sort(),则该引用类型要实现接口Comparable才能进行比较排序。
final
- 对变量:不可被修改
- 对方法:不可被子类重写,但可被重载
- 对类:不可被继承
其他
- $可以作为标识符开头
- java不采用ASCII,而是使用Unicode
- 导入同名包则需要加上完整路径
- 语句块结束,则其内数据自动释放。
- 当需要定义一组常量的时候,使用枚举
- 包装类的作用:
- 作为基本数据类型的对象形式,提供基本数据类型的对象操作,如Object[],集合等;
- 包含基本数据类型的各个封装方法,类型转化(sring转换成int,(不支持直接(int) “555”)等。
- API文档的使用方法,查看:
1.继承链
2.构造器:有:使用;无:①工具类,全为静态方法②存在静态方法返回该类
3.方法,名字,形参,返回类型,是否静态 - 整型除法无法整除的处理办法(比如2/7)
- 操作方法:int result = (int) Math.ceil(int_a*1.0/int_b),用*1.0转成double,然后向上取整,最后再转回int