Java运算符
in Java with 0 comment

Java运算符

in Java with 0 comment

算数运算符

Java中算数运算符有 + - * / % ++ --

注意: 一个表达式可能有多个运算符,运算符有优先级,不确定或需要提升优先级需要加小括号*

以下程序以 ++ 为例,++可以出现在变量右边,也可以出现在左边,通常写在右边,在自身数值加 1,与 i = i + 1 一样的操作,以下程序结果为 1

    int i = 0;
    i++;
    out.println(i);

也可以对浮点型整数自身加 1,以下程序结果为 1.0

    float i = 0;
    i++;
    out.println(i);

以下程序,先赋值后执行 ++ 运算

    int i = 0;
    int j = i++;
    out.println("i = " + i);
    out.println("j = " + j);
i = 1
j = 0

若是 ++ 在左边,那么程序先运算再赋值

    int i = 0;
    int j = ++i;
    out.println("i = " + i);
    out.println("j = " + j);
i = 1
j = 1

--++ 一样,唯一不同的就是自身减一

关系运算符

Java中算数运算符有 > < >= <= == !=

== 是判断左右两边的数据是否相等,结果是 false,关系运算符的运算结果一定是布尔类型 truefalse

    if (1 == 2) {
      out.println("true");
    } else {
      out.println("false");
    }

关系运算符的运算原理

关系运算符比较哦的是变量中绑定的数据

int a = 10;
int b = 10;
a > b 比较的时候,比较的是a中保存的10和b中保存的10大小比较,所有关系运算符都是如此

= 是赋值运算符

逻辑运算符

Java中逻辑运算符有

& 按位与
| 按位或
! 非运算符
^ 按位异域
&& 与运算
|| 或运算

与运算

&& 与运算符,可以理解为并且, 举个例子 1 大于 0 并且 1 小于 2,如果与运算符前面不成立也就是为false,那么不会继续执行这条语句,因为已经没有任何意义了,也就是说,与运算符前面和后面的条件必须成立。可以有多个条件。

int i = 1;
i > 0 && i < 2

或运算

|| 或运算符,1 大于 0 或者 1 小于 2, 只要有一个条件成立,那么返回真 true 否者返回 false,如果第一个条件无法成立,那么接着判断第二个条件,可以有多个条件,以下代码返回 true, 因为前三个条件不成立,而第四个条件成立

int i = 1;
i > 4 || i > 3 || i > 2 || i > 0 

非运算

! 非运算符, 就是对一个 Boolean 类型取反, !true 取反就是 false那么同理 !false 就是true, 不可对其它类型进行非运算

i 不可能大于 2, 所以 i > 2 返回 false,而对false 则为 true,加小括号是因为,非运算只能对 Boolean 类型进行运算, 而 i > 2 返回的结果是 Boolean ,需要对它的值进行运算,需要加小括号提升优先级,先运算小括号里的条件再取反

int i = 1;
if ( !( i > 2 ) ){
    System.out.println("成立");
}else{
    System.out.println("不成立");
}

三元运算符

三元运算符又称三目运算符,具有自动返回的特性

以下结果为 Hello Java! ,三元运算符只接受“比较”有价值的、运算结果为 boolean 类型的语句
,运算结果若为 true ,那么执行冒号前面的语句,否则执行,右边的语句,语句若有返回结果,那么会将结果返回。

    public static void main(String[] args) {
        boolean s = false;
        String str = s ? "Hello world!" : "Hello Java!";
        System.out.println(str);
    }