第三章.数据类型和运算符

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-

posted @ 2017-07-27 16:24  lanshanxiao  阅读(268)  评论(0编辑  收藏  举报