Day9

运算符

运算符大致分为7种:算术运算符、关系运算符、位运算符、逻辑运算符、三元,赋值运算符,其他。

算术运算符 +-*/,% ++ --
关系运算符 < > <= >= == !=
逻辑运算符(针对布尔值) && !||
位运算(针对于值,& |可以对布尔) & !^(只给整数用) ~ << >>
赋值运算 = += -= *= /= %=
三元 ?()😦)
其他 . () [] instanceof(判断对象与类的关系)

注释:

  • 浮点型不能用==(严格比较)比较,精度问题。用Math.abs()例如Math.abs(a-b)[绝对值]<1e-9(这个自定按需求定),注:math.abs()是放宽,精确使用BigDecimal(存储)。比较字符串是否相等用。.equals()

  • 基本类型再使用算术运算符的时候,结果类型由最高级类型决定,整数/整数为小数时,因为类型由最高决定,故为整数但是整数会直接去掉小数部分。

  • 浮点型存储是使用的是银行家策论,找最近可以存的数非十进制的四舍五入。

  • 关系运算符只能返回true/false,位运算符返回0/1

  • 运算优先级:一元(+-号) > "+-*/" > "+-" > 关系大小比较符 > 相等比较符 > '&' > '^' >'|' >&& >||>?()😦) >赋值 (注:不清楚优先级加()最好)


短路运算

短路运算存在在布尔关系运算符中,表现为完成判断后不执行之后语句。

int c = 5;
boolean a = (c<4)&&(c++<4);/* c<4已经为假故不执行后面语句,所以c++<4并未执行故,c并没有+1.

注:& |可以作用布尔,且作用时返回值变为ture/false,作用与&&,||作用一样,但不会短路。

扩展:String.valueof();可将任何东西转化为字符串,可以单独使用内部对象,用完丢失不存储,无局部变量无法引用

今日训练代码

public class DAY9 {
    static int a =10;
    public static  void main(String[] args)
    {
        int a =10;
        int b =15;
        double c =2.56;
        int s =10;
        var y =10;//var一定得赋值且只能在局部中使用
        char d ='s';
        a= (int) Math.pow(2,3);//赋值反向double赋给a,是值适应数据类型(自动转)
        System.out.println(c%a);
        System.out.println((String.valueOf(d)));//任意转字符串
        System.out.println(++c);//语句执行则要加
    }
}

public class Day9Second {
    public static void main(String[] args)
    {
        boolean b =true;
        boolean c =true;
        System.out.println("a&&b"+(b&&c));//字符串连接符优先级和二元一样,&&未用""故起作用,报错
        System.out.println(1+2+'s'+2);//+在遇到字符或字符串才改变结果为3s2
        System.out.println("\tsda");//'/t在引号内发挥作用输出不是\tsda,要转义\的作用
        System.out.println("a&&b"+(b||c));
        System.out.println("a&&b"+!(b||c));//+只可以连接一个结果或者一个字符或者字符串
        int d =5;
        boolean f =d>2&&++d==6;//不清楚优先级加()最好
        System.out.print(f);
        System.out.print(d);

    }
}

posted on 2026-09-02 23:19  猫头鹰(新手版)  阅读(4)  评论(0)    收藏  举报