打牢基础:数据类型与运算符

来源:互联网 发布:葛优颓废坐姿火爆网络 编辑:程序博客网 时间:2024/05/18 02:41

一般书中,作者都会强调编程规范,或者注释很重要,但是很多时候自己没有真正做到规范额注释;读教材的时候,也常常因为数据类型与运算符部分太简单,而没有仔细阅读,没有自己的思考,本博客主要详细讨论“注释”,“数据类型”,“运算符”

注释

对于添加注释,原则上要记住以下三句话:
1. 永远不要相信自己未来能读懂自己现在写的代码。
2. 可读性第一,效率第二。
3. 代码即文档。
程序注释是文档的一部分,注释应该占到程序的1/3左右,Java语言的注释一共有三种类型:
* 单行注释——一般注释一行程序或者两三行程序
* 多行注释——一般注释一个程序块
* 文档注释——可以用javadoc工具提供一份系统的API文档,通常详细说明每个类,每个方法的功能和用法。一般注释public的包,类,方法。

数据类型

这里需要理解的是,Java是强类型语言,主要有两层含义,第一是所有的变量都必须先声明,第二是变量只能接受与之类型相匹配的数据。这样的强类型的好处是,在编译时可以进行更加严格的语法检查,减少编译错误,当让也有缺点。其实变量就是一小块内存,名称是位置标识,类型描述了大小标识。基本类型的声明变量就是开辟内存的过程,而类的实例化对象是也是开辟一块内存的过程,而这块内存是一个基本内存块的组合。

如果非要对8种基本数据类型进行分类的话,就分为4类:整数(1字节——byte,2字节——short,4字节——int默认,8字节——long),字符类型(2字节——char—Unicode支持所有字符,包括中文。),浮点类型(4字节——float,8字节——double默认),布尔类型(1字节——boolean)。

把一个小水瓶的水倒入大水瓶中不会出现任何问题,Java中的自动类型转换如下:

自动类型转换

强制类型转化,就好像把一个大瓶子里的水倒入小瓶子,水不多还好,但是水很多的时候就会溢出,造成数据丢失。
String类型不是一个基本数据类型,但是却可以给出直接量,也就是直接在开辟内纯的时候给出初始值。基本数据类型也全部支持直接量赋值,并且支持自动类型转换。

运算符

内存中数据的操作无非是赋值,运算,比较,逻辑比较等为数不多的几种,Java语言作为高级语言,使用运算符连接变量(内存位置),构成语句,完成数据操作。
Java语言的运算符分为以下几种:
* 赋值运算符—— =,指定变量的值(把数据送入指定内存块)。还有+=,-=,*=,/=等
* 算数运算符——+、—、*、\、%、++自加、- -自减,其他的更加复杂的运算则通过java.lang.Math类中的工具方法来完成。支持自动类型转换。
* 位运算符——按位与&,按位或 |,按位非~,按位异或^,<<左移,>>右移,>>>无符号右移。范围运算后的值
* 比较运算符——>,>=,<,<=,==等于,!=不等于。返回boolean值。
* 逻辑运算符——&&,&(不短路),||,|不短路,!,^。范围boolean值。
* 三目运算符——(boolean运算)?true的结果:flase的结果。
虚拟机在编译的时候,这些运算符是有顺序的,原则是算数优先于比较和逻辑,又优先于赋值,但是++,- -,和!,~优先于算数运算符。
上文提到的这些运算符并没有包含所有,还有一些其他的,关键是理解运算符的思想,发明运算符的时候是为什么?

0 0