疯狂Java讲义(三)

疯狂Java讲义(三),第1张

疯狂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。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4674231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存