疯狂Java讲义(三)

 1. Java 9 的标识符规则

        标识符就是用于给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下画线(_)、美元符(S)开头,后面可以跟任意数目的字母、数字、下画线(_)和美元符($)。此处的字母并不局限于26个英文字母,甚至可以包含中文字符、日文字符等。
        由于Java 9支持Unicode 8.0字符集,因此Java的标识符可以使用Unicode 8.0所能表示的多种语言的字符。Java语言是区分大小写的,因此 abc和Abc是两个不同的标识符。
        Java 9规定:不允许使用单独的下画线(_)作为标识符。也就是说,下画线必须与其他字符组合在一起才能作为标识符。


        使用标识符时,需要注意如下规则。

  •         标识符可以由字母、数字、下画线(_)和美元符($)组成,其中数字不能打头。 
  •         标识符不能是Java关键字和保留字,但可以包含关键字和保留字。
  •         标识符不能包含空格。
  •         标识符只能包含美元符($),不能包含@、#等其他特殊字符。

2.引用类型

        Java语言支持的类型分为两类:基本类型(Primitive Type)和引用类型( Reference Type)。
        基本类型包括boolean类型和数值类型。数值类型有整数类型和浮点类型。整数类型包括byte、short、int、long、 char, 浮点类型包括float 和double.

        引用类型包括类、接口和数组类型,还有一种特殊的null 类型。所谓引用数据类型就是对 一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是Java语言里不再使用指针这个说法。.
        空类型(null type)就是null值的类型,这种类型没有名称。因为null类型没有名称,所以不可能声明一个null类型的变量或者转换到null类型。空引用(null)是null类型变量唯一的值。空引用(null)可以转换为任何引用类型。
        在实际开发中,程序员可以忽略null类型,假定null只是引用类型的一个特殊直接量。

 3. Java 整数值的4种表示方法

        Java中整数值有4种表示方式:十进制、二进制、八进制和十六进制,其中二进制的整数以0b或0B开头;八进制的整数以0开头;十六进制的整数以0x或者0X开头,其中10~15 分别以a~f (此处的a~f不区分大小写)来表示。.
        下面的代码片段分别使用八进制和十六进制的数。

        从Java 7 开始新增了对二进制整数的支持

        从上面粗体字可以看出,当定义32位的二进制整数时,最高位其实是符号位,当符号位是1时,表明它是一个负数,负数在计算机里是以补码的形式存在的,因此还需要换算成原码.

4. 浮点型

        Java的浮点类型有两种: float 和double。Java 的浮点类型有固定的表数范围和字段长度,字段长度和表数范围与机器无关。Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示浮点数,对于float 型数值,第1位是符号位,接下来8位表示指数,再接下来的23位表示尾数;对于double类型数值,第1位也是符号位,接下来的11位表示指数,再接下来的52位表示尾数。

 Java语言的浮点数有两种表示形式。
        ➢十进制数形式:这种形式就是简单的浮点数,例如5.12、512.0、 .512。 浮点数必须包含一个小数点,否则会被当成int类型处理。
        ➢科学计数法形式:例如5.12e2 (即5.12x102), 5.12E2 (也是5.12x102)。
        必须指出的是,只有浮点类型的数值才可以使用科学计数法形式表示。例如,51200 是一个int类型的值,但512E2则是浮点类型的值。

        Java还提供了三个特殊的浮点数值:正无穷大、负无穷大和非数,用于表示溢出和出错。例如,使用一个正数(非得浮点型)除以0将得到正无穷大,使用一个负数(非得浮点型)除以0将得到负无穷大,0.0 除以0.0或对一个负数开方将得到一个非数。正无穷大通过Double或Float类的POSITIVE_ INFINITY表示;负无穷大通过Double或Float类的NEGATIVE_INFINITY表示非数通过Double或Float类的NaN表示
        必须指出的是,所有的正无穷大数值都是相等的,所有的负无穷大数值都是相等的;而NaN与任何数值相等甚至和NaN都不相等

5.数值中使用下画线分隔

         Java 7 引入了一个新功能:程序员可以在数值中使用下画线,不管是整型数值,还是浮点型数值,都可以自由地使用下画线。通过使用下画线分隔,可以更直观地分辨数值中到底包含多少位。如下面程序所示。

 6.自动类型转换和强制类型转换

         不仅如此,当把任何基本类型的值和字符串值进行连接运算时,基本类型的值将自动类型转换为字符串类型,虽然字符串类型不是基本类型,而是引用类型。因此,如果希望把基本类型的值转换为对应的字符串时,可以把基本类型的值和一.个空字符串进行连接。

 7.表达式类型的自动提升

当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义了如下的自动提升规则。
        ➢所有的byte类型、short类型和char类型将被提升到int类型。
        ➢整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。                 操作数的等级
排列如图3.10所示,位于箭头右边类型的等级高于位于箭头左边类型的等级。
下面程序示范了一个典型的错误。

8.位运算符

Java支持的位运算符有如下7个。

    

运算:

 

 

         Java的右移运算符有两个:>>和>>>,对于>>运算符而言,把第一个操作数的二进制码右移指定位数后,左边空出来的位以原来的符号位填充,即如果第一个操作数原来是正数,则左边补0;如果第一个操作数是负数,则左边补1。>>>是无符号右移运算符,它把第一个操作数的二进制码右移指定位数后,左边空出来的位总是以0填充。

散装知识点

  • 值得指出的是,Java语句可以跨越多行书写,但一个字符串、变量名不能跨越多行。例如,下面的Java语句是错误的。
  • 除数允许是0.0 不允许是0。

猜你喜欢

转载自blog.csdn.net/indeedes/article/details/120788935
今日推荐