Java核心技术 第三章 Java的基本程序设计结构

第三章 Java的基本程序设计结构

一个简单的Java应用程序

  • Java 1.4及以后版本中强制main方法必须是public。
  • Java的所有函数都是某个类的方法。
  • Java中的main方法必须是静态的。

注释

  • /** 开始, */结束用于生成文档。

数据类型

整型

  • 长整型后接L或l,十六进制数值有前缀0x或0X,八进制有前缀0。
  • 从Java7开始加上前缀0b或0B就可以写二进制数。
  • 从Java7开始可以在数字字面量加下划线,如1000_000_000,只为了更易读,Java编译器会去掉这些下划线。
  • Java没有无符号形式的int,long,short,byte。
  • 可使用Byte.toUnsignedInt(b)来得到一个0到255的int值。

浮点类型

  • float类型的数值有后缀F或f。
  • 默认为double
  • 可使用十六进制来表示浮点数值,如0.125就可以表示为0x1.0p-3,p代表指数,尾数采用十六进制,指数采用十进制,指数基数为2。
  • Double.POSITIVE_INFINITY(正无穷大)、Double.NEGATIVE_INFINITY(负无穷大)、Double.NaN(不是一个数字),0/0或负数的平方根结果就为NaN。
  • 不可以用 == 检测一个特定的值是否为NaN,应该使用Double.isNaN方法。
  • 浮点数值不适用于无法接受舍入误差的计算。

char类型

  • char类型可以表示为十六进制值,从\u0000到\uFFFF。
  • 转义序列可以出现在加引号的字符字面量或字符串中。
  • 转义序列\u还可以出现在加引号的字符常量或字符串,其他转义序列不可以,如String\u005B\u005D就是String[]。
  • 注意注释中的\u,会被编译为转义序列,容易出现错误。

Unicode和char类型

  • 码点指一个编码表中的某个字符对应的代码值。
  • Unicode码点可以分为17个代码平面,其余16个平面码点从U+10000到U+10FFFF,使用代替区域(即第一个代码平面未使用的2048个值),U+D800到U+DBFF作为第一个代码单元,U+DC00到U+DFFF作为第二个代码单元。

boolean类型

  • 整型值与布尔值之间不可相互转换。

变量与常量

变量初始化

  • 不可使用未初始化的变量。
  • 从Java10开始,局部变量如果可以从变量的初始值推断出它的类型,就无需声明类型,使用关键字var即可,如:var a = 10 ;

常量

  • const是Java保留的关键字,但目前并没有使用。

枚举类型

  • 例如:

    enum Size{SMALL, MEDIUM, LARGE, EXTRA_LARGE};
    Size s = Size.SMALL;
    

运算符

算术运算符

  • 整数被零除产生异常,浮点数被零除得到无穷大或NaN。

数学函数与常量

  • 如果被除数为负数,Math.floorMod()方法可以得到正余数。
  • StrictMath类可以确保在不同平台上得到相同的结果。

数值类型之间的转换

  • 对浮点数进行舍入运算,如果想得到最接近的整数可使用Math.round方法。

    例如

    double x = 9.997;
    int nx = (int)Math.round(x); // nx为10
    

位运算符

  • >>>运算符用0填充高位。
  • 没有<<<运算符。

字符串

构建字符串

  • StringBuilder,Java5中引入,前身为StringBuffer,效率更高,但StringBuffer允许采用多线程方法添加或删除字符。

输入输出

  • Scanner // 可处理输入流,文件和字符串,文件名要使用path.of(“文件名”)
  • PrintWriter // 可处理输出流,文件
  • Console // 读取密码时不回显

控制流程

  • break、continue可以带标签,跳出多层循环。

大数

  • BigInteger、BigDecimal
  • 可使用vauleOf(),或者字符串参数构造。
  • 不可使用算术运算符,要使用add(),multiply()方法。

数组

数组拷贝

  • 使用Arrays.copyOf()方法。
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页