《On JAVA》阅读第三章:运算符:
说一下自己不太会的地方吧:一些特殊运算符:(其实心里要有一个概念就是计算机总是喜欢使用二进制去运算就很好理解)
1:与运算符:
或运算符同理:包括异或和取反都是一个道理:
然后说一下移位运算符:
左移运算符:
右移运算符:
无符号右移:
无符号右移(>>>)
无符号右移(>>>)只对32位和64位有意义
在移动位的时候与右移运算符的移动方式一样的,区别只在于补位的时候不管是0还是1,都补0
《On JAVA》阅读第二十一章:数组
Arrays.fill():数组填充
举例说明:
import java.util.*;
public class FillTest {
public static void main(String args[]) {
int array[] = new int[6];
Arrays.fill(array, 100);
for (int i=0, n=array.length; i < n; i++) {
System.out.println(array[i]);
}
System.out.println();
Arrays.fill(array, 3, 6, 50);
for (int i=0, n=array.length; i< n; i++) {
System.out.println(array[i]);
}
}
}
这里使用的第一个fill:Arrays.fill(array, 100);
后面的100意味着填充100,所以第一个的打印结果是:
100
100
100
100
100
100
第二个是: Arrays.fill(array, 3, 6, 50);
意味着从第三个开始到第六个结束填充50,所以结果:
100
100
100
50
50
50
分割线————————————————————————-
第六章初始化和清理:
1:自己读到了初始化,Java对于一个类的初始话也就是通过构造方法,那么什么是构造方法呢?构造方法简单而言就是和自己类明一样的方法,可以分为有参构造和无参构造,构造器本身不需要返回值,因为如果它有返回值你的编译器就不知道该怎么处理这个值啦,这个值是没有接收者的
2:如果传入的参数类型大于方法期望接受的数据类型,必须向下转换,否则会报错
3:如果一个构造方法中,有两个有参构造但是却又不一样的类型:
如果你并没有在一个类中写构建方法,那么编译器会自动为这个类构造无参构造方法,这个时候在其他的类中调用就可以直接如上图注释的那样:Bird b = new Bird();相当于调用了无参构造(系统默认帮那个类创建的),但是这道题我们在类Bird2中已经自己构建了两个参数不同的构造方法,那么系统就不会自己去添加一个无参构造了的,所以在下面引用的时候就只能调用我们·自己写的那两个有参构造!
4:this关键字,首先举一个例子:
在这个地方,pit()方法中你可以使用this.pick()
但是没必要这样写,编译器会帮你做了这个,this关键字只会用在一些必须显示当前对象引用的特殊场合,例如在return语句中返回当前的对象:
看上面这个图中,Leaf increment()
方法就是用于返回自己,所以下面的三次调用会返回i=3;
static关键字,在static方法中不可以有this,你不可以在静态方法中调用非静态方法
垃圾回收器:finalize()
垃圾回收器只与内存有关,为了回收程序不再使用的内存
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81055.html