文章目录
- 3.1 注释
- 3.7.1 算术运算符
- 3.7.2 赋值运算符
- 3.7.3 位运算符
- 3.7.4 扩展后的赋值运算符
- 3.7.5 比较运算符
- 3.7.6 逻辑运算符
- 3.7.7三目运算符
- 3.7.8 运算符的结合性和优先级
概述
Java中的注释,数据类型,运算符。
第3章 数据类型和运算符
Java是一门强类型语言,强类型包含两方面含义:1、所有变量必须先先声明后使用;2、指定类型的变量只能接受类型与之匹配的值。
3.1 注释
注释用来说明代码的作用,某个类的用途、某个方法的功能,方法的参数,返回值的数据类型及意义等。
程序注释是源代码的一个重要部分,对于一份规范的程序代码而言,注释应该占到源代码的1/3以上。
Java的注释类型有3种:单行注释,多行注释、文档注释。
3.1.1 单行注释和多行注释
除了增加代码可读性,合理利用注释可以便于排查错误。
3.1.2 文档注释
文档注释用于生成API文档,API文档主要用于说明类、方法、成员变量的功能。
因此Javadoc工具值处理文档源文件在类、接口、方法、成员变量、构造器和内部类之前的注释。且默认只处理public和protected修饰的。
Javadoc 命令用法: 生成API文档
常用选项 -d<directory> 指定API文档保存目录
-windowtitle<text> 设置API文档的浏览器窗口标题
-doctitle<html-code> 指定一个HTML格式的文本,用于指定概述页面的标题
-header<html-code> 每个页面的页眉
例:
//注释:这个*是通配符,代表所有名字后面有Test.java的文件
3.2 标识符和关键字
3.2.1 分隔符
Java语言里的分号,花括号,方括号,圆括号,空格,圆点具有特殊的分隔作用,被称为分隔符。
- 分号;
Java语言使用分号作为语句的分隔,每个Java语句必须以分号结尾。 - 花括号{}
花括号定义代码块,代码块逻辑上是一个整体 - 方括号
方括号用于访问数组元素,通过跟在数组变量名后。 - 圆括号
参数传递、合成表达式、强制类型转换 - 空格
- 圆点
类.成员
3.2.2 标识符规则
以字母、下划线和$开头,后面可以是字母、数字、下划线,$。此处字母不仅可以是英文,还可以是中文、日文等。
3.2.3 Java关键字
特殊用途的单词,不可以作为标识符。
3.3 数据类型分类
声明变量:
java支持的类型分两种,基本类型和引用类型。
基本类型包括boolen和数值类型。
引用类型包括类、接口和数组类型,还有一种特殊的null类型。实际上,引用类型变量就是一个指针,只是Java不在使用指针这个说法。
3.4 基本数据类型(8种)
3.4.1 整型
3.4.2 字符型
表示单个字符,使用’'括起来。Java使用16位的Unicode字符集作为编码方式,支持中文字符。
3.4.3 浮点型
3.4.4 数值中使用下划线分割
程序员可以在数值中使用下划线分割,方便分辨数字。
3.4.5 布尔型
表示逻辑真(true)或假(false)。
只能有这两个值。其他类型不能转换成boolean类型
3.5 基本类型的类型转换
3.5.1 自动类型转换
范围小的可以向范围大的自动类型转换。
即箭头左边可以转换到右边的。
字符串和基本类型数值使用+可以进行拼接:
3.5.2 强制类型转换
语法:(targetType)value
将右边类型的值转换成左边类型的值时必须进行强制转换,进行进行强制类型转换时,可能会造成数据精度丢失。
通常情况下,字符串不能直接转换成基本类型,但通过包装类可以实现。
如:
每个基本类都对应一个包装类(首字母大写),包装类提供一个parseXxx(String str)静态方法用于将字符串转换成基本类型。
3.5.3 表达式类型的自动提升
一个算术表达式包含多个基本类型时,整个表达式的数据类型会自动提升,
所有byte,short,char类型自动提升为int
整个算术表达式的数据类型提升为最高等级操作数类型。
3.6 直接量
直接给出的值
3.6.1直接量的类型
基本类型、字符串、null
3.6.2直接量的赋值
直接赋值给相应类型的变量
字符串常量,Java会确保每个字符串常量只有一个,不会产生多个副本
3.7 运算符
算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、类型相关运算符
3.7.1 算术运算符
+、-、*、/、%、++、–
3.7.2 赋值运算符
=
3.7.3 位运算符
3.7.4 扩展后的赋值运算符
+=,-=,…
3.7.5 比较运算符
>, >=,==,<=,<,!=
==比较两个引用变量时,只有两个引用指向同一个对象时才为true。
3.7.6 逻辑运算符
&&
&(不短路与)
||
|(不短路或)
!
^(异或)
3.7.7三目运算符
(expression) ? if-true-statement : if-false-statement;
对expression求值,如果true,返回f-true-statement,如果false,返回if-false-statement;
3.7.8 运算符的结合性和优先级
大部分从左向右
优先级表不需要背!使用()控制执行顺序。
附录 本章练习
1.定义学生、老师、教室三个类,为三个类编写文档注释,并使用javadoc工具生成API文档。
使用javadoc生成API文档:
2.使用8种基本数据类型声明多个变量,并用不同方式为8种基本类型的变量赋值,熟悉每种类型的赋值规则和表示方式。
3.在数值型的变量之间进行类型转换,包括低位向高位的自动转换,高位向低位的强制转换。
4.使用数学运算符、逻辑运算符编写40个表达式,先自行计算各表达式的值,然后通过程序输出进行对比。