打牢基础:数据类型与运算符
来源:互联网 发布:葛优颓废坐姿火爆网络 编辑:程序博客网 时间: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的结果。
虚拟机在编译的时候,这些运算符是有顺序的,原则是算数优先于比较和逻辑,又优先于赋值,但是++,- -,和!,~优先于算数运算符。
上文提到的这些运算符并没有包含所有,还有一些其他的,关键是理解运算符的思想,发明运算符的时候是为什么?
- 打牢基础:数据类型与运算符
- 数据类型与运算符
- 数据类型与运算符
- 数据类型与运算符
- Java基础学习2--数据类型与运算符
- java基础4--其他数据类型与运算符
- Java语言基础--基本数据类型与运算符
- JAVA基础学习(二)--标识符、关键字、数据类型与运算符
- JAVA基础2-标识符、关键字、数据类型与运算符
- java基础之数据类型与基本运算符
- javaee基础(变量定义与使用,数据类型及运算符)
- PHP基础 数据类型 运算符
- javascript基础:数据类型、运算符
- Java基础(三)数据类型与运算
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 数据类型、运算符与表达式
- python数据类型与运算符
- 数据类型、运算符与表达式
- Spark笔试题
- alias的功能
- PHP常用的缓存技术汇总
- for循环与while循环的区别
- 一个在校大学生的开源之路:从0到1024
- 打牢基础:数据类型与运算符
- [BZOJ1854][Scoi2010]游戏(二分图匹配)
- 【vijos】【建反图最短路】最优贸易
- 【bzoj】 1083 繁忙的都市 kruskal
- How to do non greedy regex match in command line
- 并查集基础题:relation
- glViewport()函数和glOrtho()函数的理解(转)
- 【NOIP 2005】 等价表达式 题解
- 二叉排序堆基础模板题