Java 运算符

    xiaoxiao2022-07-07  198

    Java运算符分成以下几组:

    算术运算符关系运算符逻辑运算符赋值运算符其他运算符

    1.算术运算符: 注意:自增(自减)在前面和在后面的区别: ++y(- -y):先将 y 的值自增(自减)1,然后再在当前表达式中使用 y 的值。 y++(y- -):先在当前表达式中使用 y 的值,然后再将 y 的值自增(自减)1。 示例如下:

    int a = 25; int b = 4; int c = a+b; //加 System.out.println("a+b="+ c); int d = a-b; //减 System.out.println("a-b="+d); int e = a*b; //乘 System.out.println("a*b=" + e);

    注意:整数除于整数= 整数,是截断整数,不是四舍五入取整。 int g = a/0; 整数不能除于0 当除数或者被除数有一个为浮点型,那么结果为自然除法结果。 如果此时除数为0或者为0.0,那么结果为正无穷或者负无穷,0.0除0.0结果为NaN 非数。

    int f = a/b; //除 System.out.println("a/b="+f); System.out.println("a/0.0="+(a/0.0)); System.out.println("0.0/0.0="+(0.0/0.0));

    % 求余 两个整数时,第二个数不能是0 一个或者2个为浮点数,第二个为0或者0.0时,结果为NaN,第一个数为0或者0.0时,结果为0.0

    int h=a%b; System.out.println("a % b="+h); System.out.println("a % 0.0="+(0 % 0.0)); System.out.println("0.0 & b="+(0.0 % b));

    自加 单目运算符

    int A = 20; int B = 20; int C = A++ + B; System.out.println("++A="+(++A)); System.out.println("B++="+(B++)); System.out.println("C="+C);

    自减 单目运算符

    int D = 20; int E = 20; System.out.println("--D="+(--D)); System.out.println("E--="+(E--));

    结果为:

    a+b=29 a-b=21 a*b=100 a/b=6 a/0.0=Infinity 0.0/0.0=NaN a % b=1 a % 0.0=NaN 0.0 & b=0.0 ++A=22 B++=20 C=40 --D=19 E--=20

    2. 关系运算符 示例如下:

    System.out.println("5>4 = "+(5>4)); System.out.println("5>=4 = "+(5>=4)); System.out.println("5<4 = "+(5<4)); System.out.println("5<=4 = "+(5<=4)); System.out.println("5==4 = "+(5==4)); System.out.println("5!=4 = "+(5!=4));

    结果为:

    5>4 = true 5>=4 = true 5<4 = false 5<=4 = false 5==4 = false 5!=4 = true

    注意:Java中 == 和 equals()方法的区别 == 在基本数据类型的时候就是比较值是否相同,在引用类型时是比较地址 equals 用于判断引用类型的值。

    String str="123"; String str1="123"; int intA=123; String strA=String.valueOf(intA); System.out.println("str==strA = "+(str==strA)); System.out.println("str.equals(strA) = "+(str.equals(strA))); int intA1 = 10; int intA2 = 20 / 2; System.out.println("intA1==intA2 :" + (intA1 == intA2));

    结果为:

    str==strA = false str.equals(strA) = true intA1==intA2 :true

    3. 逻辑运算符 &&:与,前后两个操作数必须都是true才返回true,否则返回false。 &:不短路与,作用与&&相同,但不会短路。 ||:或,只要两个操作数中有一个是true,就可以返回true,否则返回false。 |不短路或,作用与||相同,但不会短路。 !:非,只需要一个操作数,如果操作数为true,则返回false;如果操作数为false,则返回true。 ^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回false。 示例如下:

    int intB = 10; //短路与 if(intB <11 && intB++ <9){} System.out.println("intB="+ intB); int intk = 10; //不短路与 if(intk <11 & intk++ >9){} System.out.println("intk="+ intk); int intp = 10; //短路或 || if (intp >11 || intp++<9) {} System.out.println("intp="+intp); int into = 10; //不短路或 | if (into <11 | into++<9) {} System.out.println("into="+into); if(false ^ true){ //异或 ^ System.out.println("a"); } if (!(1 > 2)) {// ! 非 System.out.println("!(1>2)"); }

    结果为:

    intB=11 intk=11 intp=11 into=11 a !(1>2)

    4. 赋值运算符 示例如下:

    int intZ=11; System.out.println(intZ*=2); //相乘 int intQ=11; System.out.println(intQ/=2); //相除 取整 int intq=11; System.out.println(intq+=2); //相加 int inta=11; System.out.println(inta-=2); //相减

    结果为:

    22 5 13 9

    5. 其他运算符

    三目运算符(?:) 三目运算符也被称为三元运算符,该运算符有3个操作数,并且需要判断布尔表达式的值,该运算符的主要是决定哪个值应该赋值给变量。 System.out.println((5>4)?"5>4":"5<4");

    结果为:

    5>4 instanceof 运算符 该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。 instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

    示例如下:

    String strb = "DengAiYi"; boolean bo = strb instanceof String; System.out.println(bo);

    结果为:

    true
    最新回复(0)