`
thihy
  • 浏览: 68340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JLS3阅读简约笔记

    博客分类:
  • java
F# 
阅读更多

词法

Unicode

  • 形式为\uxxxx,x为16进制数。u可以有很多个,比如\uuuu0002。x必须为4个。
  • Unicode会在编译之前进行处理转换。如果有语句
    String s = "abc\u000adef";
    会处理成
    String s = "abc
    def";
     从而导致编译错误。

行终止符

  • 包括 CR,LF,CR LF

标识符

  • 包括关键字布尔常字null常字
  • 首字符必须是Java字符 ,余下部分是Java字符Java数字
  • Java字符:Character.isJavaIdentifierStart方法判断
  • Java字符或数字:Character.isJavaIdentifierPart方法判断

关键字、 布尔常字、 null常字

  • const与goto是保留的关键字。
  • true和false从技术上讲是属于布尔常字的,虽然感觉是关键字。
  • null从技术上讲是属于null常字的

数值

  • 整数:八进制以0开始,十六进制以0x或0X开始。
  • float须要以f或F结尾,double可以以d或D结尾。
  • float/double有两种表示形式
    • 十进制:如10e1=10*10^1=100
    • 十六进制:如0xap1=10*2^1=20,p后面是十进制,而不是十六进制。

字符串

  • 常量字符串共享同一个String对象,不论是否在同一个Package或Class。
  • 常量字符串的串联(+)也是一个常量字符串。
  • 可以使用String.intern(string str)方法返回常量池中的值为str的常量字符串对象,如果不存在,则在池中新建一个常量字符串对象并返回。

类型、变量、值

类型

  • 类型分类
    • 原子类型
      • 布尔:boolean
      • 整数:byte,short,int,long,char
      • 小数:float,double
    • 引用类型
      • 接口
      • 数组
    • 特殊的null类型
      • 特点:没有名称,无法创建此类型的对象。此类型只有一个对象,即null。

整数

  • 种类
    • byte : [-128, 127] = [- 2^7, 2^7-1]
    • short : [–32768, 32767] = [- 2^15, 2^15-1]
    • int : [–2147483648, 2147483647] = [- 2^31, 2^31-1]
    • long : [–9223372036854775808, 9223372036854775807] = [- 2^63, 2^63-1]
    • char : ['\u0000','\uffff'] == [0,65535] = [0,2^16-1]
  • 可以自动装箱与卸箱
  • 对于a op b, op不是移位操作
    • a或b是long,则返回long类型;否则,返回int类型(可能会溢出)。

(待续)

 

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics