发表于: 2020-01-02 23:58:46
1 1091
这两天都没什么时间,昨天家人生日,今天又来了客人,明日还要看望一下外公。只能是抽点时间出来看下书了。
在这里记录一点我觉得有意思的语法:
1. break
一般使用 break 标签结束当前一层循环,需要结束多层循环体的时候需要使用 java 语言中的标签。
- outer:
- for(int i = 0; i < 10; i++)
- {
- for(int j = 0; j < 10; j ++)
- {
- //跳出循环
- break outer;
- }
- }
上面的 outer: 就是一个标签,生效后跳出标签下方最近的一个循环体。
2.数组也是一个类型
在 java 中声明数组和 c 的语法不一样。
int[] arr = new int[5];
arr 是 int[] 类型,和 String 一样也是个引用类型。事实上,除了特定的那几个值类型,其他所有的都是引用类型。使用的时候都要 new 一下,arr 可以指向任意长度的 int[] 类型实例。
3.java 8 增强工具类 Arrays
这个工具类里面有针对数组的各种函数,比如排序和二分查找,但是我不知道这个能不能用在自定义的类数组上,如果可以的话是怎么进行自定义类的排序的?和 c++ 一样进行操作符重载吗?改天试试
而且这个工具类还有对应的并行计算版函数,666
4.类和对象
一个文件里只能有一个被 public 修饰的类,每个 class 编译后都会生成以类名命名的 .class 文件。
被 static 修饰的成员属于这个类,即被整个类的实例所共有,这也解释了为什么静态成员不能调用非静态成员。
构造器是创建一个类的实例的根本途径,如果我们不写,编译器会自动添加。这个和 c++ 一样
5.方法的参数传递机制
这个还是和 java 里面的值类型与引用类型的区分有关。
对于 int 之类的值类型,传递的是就是值。
对于其他大多数的引用类型,传递的是实例的地址值。
6.形参个数可变的方法
- public void test(int i, String... str){
- for(String s : str)
- {
- System.out.println(s);
- }
- }
本质上是传递了一个数组,只不过这个数组不用你自己去定义,还有这个只能放到形参的最后。
用起来还是和数组一样的。
明天争取把面向对象(上)这一章看完。
评论