【自学java笔记#第四天#】Java的基本程序设计结构

选用教材:《Java核心技术卷1》

3.4 变量与常量

3.4.1 声明变量

需要注意的地方是,这里的变量名和之前学的命名规则略有不同:

像π这样有意义的字符也可以用在变量名里。

3.4.2 变量初始化

即给已经声明的变量赋值。

*对于局部变量:

若能从初始值推断其类型,则不必再声明类型,可以使用关键字var,例如:var A=12;

3.4.3 常量

1、用final来指示常量;

2、常量名用全大写;

3、用static final来设置一个类常量,和以前C语言里面学的全局变量有点像;把这个常量放在main方法外面的话,里面的类都可以使用它。再把它声明为public类型,则其他类的方法也可以使用它。

3.4.4 枚举类型

可以理解为集合,具体的内容要到以后的章节中才学得到。

3.5 运算符

基本上和C语言的运算符区别不大,唯一让我感觉到有难度的是3.5.8的位运算符板块。

位非运算符的计算方法倒是掌握了,也知道计算机底层是从补码开始处理二进制数的。但是我不清楚的是进行位非操作之后,为什么的出来的那个二进制数不是原码,而是反码。既然还没有接触到底层逻辑这一块,暂且还是把计算方法掌握吧。

*附位非运算符计算方法:(例:~2)

第一步:2的二进制数是10,一个int类型的数占用4个字节,也就是32位。所以计算机会把其他剩余的位数全部补0,正数的最高位补0、负数的最高位补1;所以补完之后的2的二进制数为:00000000 00000000 00000000 00000010.

第二步:进行位非运算,也就是包括符号位在内,全部取反,得到二进制数:

11111111 11111111 11111111 11111101

由此可知,进行位非操作之后,得到的数是一个负数(最高位为1)。第二步得到的这个数只是我们想要的那个数的补码。

第三步:所以要把这个二进制数的原码还原出来,首先对补码进行-1操作,得到反码:

11111111 11111111 11111111 11111100

第四步:除符号位以外,对反码进行取反操作,得到原码:

10000000 00000000 00000000 00000011

所以最后得到的结果为-3,即:~2=-3.

今天的内容学起来挺有意思的,还好有C语言的基础在,并未花费太多时间。但是最好还是将Math函数的方法库和运算符的优先级别背一下,以免以后还要回过头来温习这些基础知识。

猜你喜欢

转载自www.cnblogs.com/yizhinailu/p/12416539.html