Java第四天——核心技术第三章(2)


继续第三章的学习。。。


运算符

  • 运算符+、-、*、/表示加、减、乘、除运算 %求余操作
    /运算 两个操作数都是整数时,表示整数除法;否则,表示浮点数除法
    例:15/2=7 15%2=1 15.0/2=7.5
    整数被0除会产生一个异常,浮点数被0除将会得到无穷大或NaN结果
    简化格式: x += 4; ======> x = x + 4;

  • 自增、自减运算符
    n++ n++ 当前值加1 n– –n 当前值减1 n为变量名
    前缀方式先进行加1运算 后缀方式则使用变量原来的值

  • 关系运算符 boolean运算符
    关系运算符 == < > <= >=
    boolean运算符 &&与 ||或 !非

  • 运算符
    &与 |或 ^异或 ~非 >>右移 <<左移 >>>用0填充高位 >>用符号位填充高位
    移位运算符右侧的参数需要进行模32的运算(但左侧操作数是long类型,需要进行模64位的运算 ) 例:1<<35 与 1<<3是相同的

  • 数学函数与常量
    Math类 导包:import static java.lang.Math.*;
    Math.sqrt(x) 一数值的平方根
    Math.pow(x,a) X的a次幂 幂运算 若x、a为double类型则结果也是double
    三角函数 Math.sin Math.cos Math.tan Math.atan Math.stan2
    指数函数及其反函数 Math.exp Math.log
    π和e常量相似值 Math.PI Math.E

  • 数据类型之间的转换 未标的均为无精度损失
    char —————————> int
    byte —–> short ——> int
    int ——————————–>long、float(有精度损失)、double
    long ——————————> float(有精度损失)、double(有精度损失)
    例:int n=123456789;
    float f = n; f 为1.23456789

    当使用两个数值进行二元操作时 两种数据类型 要先将两个操作数转换为同一种类型 然后再进行计算
    若两个操作数中有一个是double类型 另一个操作数就会转换为double类型
    否则,若其中一个操作数时float类型,另一个操作数将会转换为float类型
    否则,若其中一个操作数时long类型,另一个操作数将会转换为long类型
    否则,两个操作数都将转换为int类型

  • 强制类型转换
    double d = 9.887;
    int n = (int)d; 强制类型转换 截取小数部分将浮点型转换为整型

    对浮点数进行舍入运算 得到最接近的整数 用Math.round() 返回结果为long型仍需要强制类型转换为int
    int n = (int)Math.round(d);

  • 括号与运算符级别
    有关于这一内容可以看这个博主写的(很详细很具体):出处
    https://blog.csdn.net/benxiaohai888/article/details/75452022

    - 枚举类型
    枚举出多个取值。
    enum Size {small,m edium,large,extra_large};
    Size s = Size.small; Size类型的变量s只能存储该类型声明中的某一枚举值

猜你喜欢

转载自blog.csdn.net/weixin_43137176/article/details/82724201