发表于: 2020-01-02 23:58:46

1 1090


这两天都没什么时间,昨天家人生日,今天又来了客人,明日还要看望一下外公。只能是抽点时间出来看下书了。


在这里记录一点我觉得有意思的语法:


1. break

一般使用 break 标签结束当前一层循环,需要结束多层循环体的时候需要使用 java 语言中的标签。

  1. outer:  
  2. for(int i = 0; i < 10; i++)  
  3. {  
  4.     for(int j = 0; j < 10; j ++)  
  5.     {  
  6.         //跳出循环  
  7.         break outer;  
  8.     }  
  9. }  


上面的 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.形参个数可变的方法

  1. public void test(int i, String... str){  
  2.     for(String s : str)  
  3.     {  
  4.         System.out.println(s);  
  5.     }  
  6. }  

本质上是传递了一个数组,只不过这个数组不用你自己去定义,还有这个只能放到形参的最后。

用起来还是和数组一样的。


明天争取把面向对象(上)这一章看完。


返回列表 返回列表
评论

    分享到