黄阶低级 - 《 Java 核心》- 3.5 运算符(二)- 修改0次

1、数学函数与常量

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

    Math.PI
    Math.E

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

2、数据类型转换

数值之间的合法转换

  • 实心箭头表示无信息丢失的转换,虚箭头表示有可能有精度损失的转换。
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;
    }
}
发布了41 篇原创文章 · 获赞 2 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章