1、数学函数与常量

  • 在 Java 中,一些高级需要借助 Math 类。
  • 两个用于表示 π 和 e 常量的近似值。

Math.PI
Math.E

  • 注意:Math类为了达到最快的性能,所有的方法都是使用计算机浮点单元中的例程;如果为了得到一个可预测的结果,应该使用 StrictMath 。

2、数据类型转换

java 剪头 java中的箭头怎么打_java 剪头

  • 实心箭头表示无信息丢失的转换,虚箭头表示有可能有精度损失的转换。
int i = 123456789;
float f = i;
double d = i;
System.out.println(f);// 输出1.23456792E8,少了一位精度
System.out.println(d);// 输出1.23456789E8,没有精度损失

3、强制类型转换

  • 强制类型的转换很可能丢失一些信息。
double d = 9.997;
int i = (int) d;
System.out.println(i);// 输出9,小数部分信息丢失
  • 如果类型转换超过了目标类型的表示范围,结果会截断成一个完全不同的值。
int i = 300;
byte b = (byte) i;
System.out.println(b);//输出44
/*
 * 300的二进制是 100101100
 * byte占一个字节,截取成 00101100
 * 转换成十进制是44
 * */

4、括号与运算符级别

优先级

运算符

综合性

1

()[].

从左到右

2

!+(正)-(负)~ ++ - -

从右向左

3

*/%

从左到右

4

+(加)-(减)

从左向右

5

<< >> >>>

从左到右

6

< <= >= > instanceof

从左到右

7

== !=

从左到右

8

&(按位与)

从左到右

9

^

从左到右

10

|

从左到右

11

&&

从左到右

12

||

从左到右

13

?:

从右向左

14

= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=

从右向左

  • 为了便于记忆,想了一个记忆口诀,通过单目和三目的恩怨情仇联系起来:

单目四则畏关系
逻辑三目来赋值
单目:! +(正) -(负)~ ++ - -
四则:* / % +(加) -(减)
畏:<< >> >>>
关系:< <= >= > == !=
逻辑:& ^ | && ||
三目:?:
赋值:= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=

5、枚举类型

  • 有时变量的取值只在一个有限的集合内,可以使用自定义枚举,枚举类型包括有限个命名的值。
  • 枚举类型的值是通过运行期构造出来对象来表示的,所以不能使用 “==” 运算符。
  • 枚举类型有利于扩展 switch 语句使用范围。
public enum weekDayEnum {
        Mon, Tue, Wed, Thu, Fri, Sat, Sun
    };//定义枚举类型

static void weekDaySchedule() {
    weekDayEnum today = weekDayEnum.Sat;
    //获得一个枚举对象
    switch (today) {
        case Mon:
            System.out.println("work work work");
            break;
        case Sat:
            System.out.println("go to paly basketball");
            break;
        default:
            System.out.println("you must be kidding");
            break;
    }
}