Java语言是一门强类型语言,强类型包含两方面含义:
1.所有变量必须先声明、后使用
2.指定类型的变量只能接受类型与之匹配的值。
基本数据类型大致分为两类:
1.数值类型:整形,字符型,浮点型。
2.布尔类型
所有数值类型之间可以进行类型转换,这种类型转换包括
1.自动类型转换
2.强制类型转换
运算符:
1.算术运算符
2.位运算符
3.比较运算符
4.逻辑运算符
注释:
为程序添加注释,用以说明某段代码的作用,或者说明某个类的用途、某个方法的功能,以及给方法的参数或返回值的数据类型及意义。
为什么要添加程序注释?
1.永远不要过于相信自己的理解能力!
2.可读性第一,效率第二!
3.代码即文档!
Java语言的注释:
1.单行注释 //
2.多行注释 /**/
3.文档注释:/** */。
文档注释用于生成API文档,而API文档主要用于说明类、方法、成员变量的功能,因此javadoc工具默认只处理文档源文件在public或protected修饰的类、接口、方法、成员变量、构造器和内部类之前的注释,忽略其他地方的文档注释。API文档类似于使用说明书。
javadoc命令:javadoc Java源文件|包
javadoc *.java//当前文件夹下所有后缀名为java的文件都生成API文档。
javadoc标记:
1.@author:指定Java程序的作者
2.@version:指定源文件的版本
3.@deprecated:不推荐使用的方法
4.@param:方法的参数说明信息
5.@return:方法的返回值说明
6.@see:“参见”,用于指定交叉参考的内容
7.@exception:抛出异常的类型
8.@throws:抛出的异常,和@exception同义。
这些标记使用有位置限制:
可以出现在类或者接口文档注释中的有@see、@deprecated、@author、@version
可以出现在方法或构造器文档注释中的有@see、@deprecated、@param、@return、@throws、@exception
可以出现在成员变量的文档注释中的有@see、@deprecated
javadoc工具默认不会提取@author和@version两个标记信息。
标识符和关键字:
分隔符
; {} [] () 空格 .
Java语句可以跨行书写,但是一个字符串、变量名不能跨行。
Java语法允许一行书写多个语句,但从程序可读性考虑,应该避免一行书写多个语句。
标识符规则:
1.可以由字母、数字、下划线(_)和美元符($)组成,其中数字不能开头
2.不能是Java关键字和保留字
3.不能包含空格
4.只能包含美元符($),不能包含其他特殊符号。
Java关键字:一些具有特殊用途的单词被称为关键字(keyword)。
java所有关键字都是小写,TRUE、FALSE、NULL都不是Java关键字。
abstract,assert,boolean,break,byte,case,catch,char,class,const,continue,default,do,double,else,enum,extends,final,finally,float
for,if,goto,implements,import,instanceof,int,interface,long,native,new,package,private,protected,public,return,short,static,strictfp,super
switch,synchronized,this,throw,throws,transient,try,void,volatile,while
50个关键字,enum是Java 5新增的关键字,goto和const是保留字(reserved Word),Java还提供了三个特殊的直接量(literal):true,false,null:标识符也不能使用 。
基本类型(Primitive Type)和引用类型(Reference Type):
基本类型包括:boolean类型和数值类型
数值类型包括:整数类型和浮点类型
整数类型包括:byte,short,int,long,char
浮点类型包括:float,double
引用类型包括:类,接口,数组类型,null类型。引用类型变量实际就是一个指针。
null类型:就是null值的类型。null可以转换为任何引用类型。null只能被转换成引用类型,不能转换成基本类型,因此不要把null值赋值给基本数据类型。
整型:
1.byte:一个字节,8位表示范围:-128~127
2.short:两个字节,16位表示范围:-32768~32767
3.int:四个字节,32位表示范围:-2147483648~2147483647
4.long:八个字节,64位表示范围:负2的63次方 ~ 2的63次方减一
注意:使用一个超出int类型表数范围,Java不会自动把这个整数值当成long类型处理,要在这个整数值后面加上L后缀:
long bigValue = 999999999999999L 正确
long bigValue = 999999999999999 错误
Java整数值有4中表示方式:十进制、二进制、八进制、十六进制:
二进制:0B或0b开头
八进制:0开头
十六进制:0X或0x开头
字符型:
表示单个字符,字符型值必须使用单引号(')括起来。
浮点型:
float:4个字节,32位
double:8个字节,64位
科学计数法:512E2是浮点类型,不是整型。
java语言浮点类型默认是double类型,希望把一个浮点型当成float类型处理,在浮点类型值后面加上F:
float values = 3.1415926F
正无穷大:POSITIVE_INFITY
负无穷大:NEGATIVE_INFINITY
非数:NaN
所有正无穷大值都相等,所有负无穷大值都相等,而NaN不与任何值相等,甚至和NaN都不相等。
只有浮点数除以0才可以得到正无穷大或者负无穷大。若一个整数值除以0,会抛出异常
若开发者需要精确保存一个浮点数,则可以考虑使用BigDecimal类。
Java 7中引入新功能,可以在数值中使用下划线:
int binVal = 0B1000_0000_0000_0000_0011;
double pi = 3.14_15_92_65_36;
布尔类型:
Java语言中,boolean类型的数值只能是true或false。其他基本类型的值也不能转换成boolean类型。
若使用boolean类型的值与字符串进行连接,则boolean的值将会自动转换为字符串:
String str = true + "";//str值将是“true”
自动类型转换:
System.out.println(3 + 4 + "Hello!");//输出 7hello!
System.out.println("Hello!“ + 3 + 4);//输出hello!34
强制类型转换:
int IValue = 233;
byte bValue = (byte) iValue;
基本类型对应的包装类:
boolean Boolean
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
8个包装类都提供了一个parseXxx(String str);静态方法用于将字符串转换成基本类型:
String a = "45";
int iValue = Ineger.parseInt(a);
本章练习:
1.定义学生、老师、教室三个类,为三个类编写文档注释,并使用javadoc工具生成API文档。
作业链接:https://github.com/lanshanxiao/-Java-