JavaSE运算符

JavaSE运算符

算数运算符

+ 加法
- 减法
* 乘法
/ 除法
若符号前后都是整数则取结果整数部分
若符号前后有一个为小数则结果就是正常小数
% 模,取余数部分

注意:

​ 1. + 除了表示运算,也有字符串拼接:任何类型的数据遇到字符串都会变成字符串,此时 + 不再是运算了而是表达拼接的意思。

public class OperationalCharacter {
    /**
     * 算术运算符
     * */
    public static void main(String[] args) {
        int i = 10;
        int j =4;
        int Sum = i + j;
        System.out.println(Sum); //14
        System.out.println(i+j); //14

        int num1 = i - j;
        System.out.println(num1); //6

        int num2 =i * j;
        System.out.println(num2); //40

        int num3 = i / j;
        System.out.println(num3);//2

        int num4 = i % j; //模 取余数部分
        System.out.println(num4);  //2

        //任何类型的数据遇到字符串都会变成字符串,此时 + 就不再是运算了,而是字符串的拼接
        System.out.println(i+j+""); //14
        System.out.println(i+j+""+ 3 ); //143
        System.out.println("i+j的结果是"+(i+j));  //i+j的结果是14
    }
}

自增自减运算符

格式:

  • 变量++ -> 后自加
  • ++变量 -> 前自加
  • 变量-- -> 后自减
  • –变量 -> 前自减

使用:

  1. 单独使用: ++ – 在代码使用中单独为一句,没有其他的语句参与或使用
i++	//符号前在在后都是运算
  1. 混合使用:++ – 和其他语句掺和使用了(比如:输出语句、赋值语句)

    符号在前:先运算,在运算后使用值

    符号在后:先使用原值,使用完毕之后,自身再运算

public class Operational02Character {
  
    public static void main(String[] args) {
        int i =10;
        //i++;
        ++i;
        System.out.println("i="+i);
        System.out.println("------");

        int j =100;
        int result01 =++j;
        System.out.println("result01="+result01); //101
        System.out.println(j); //101
        System.out.println("------");

        int k =10;
        int result02 =k++;
        System.out.println("result02=" + result02);  //result02=10
        System.out.println(k); //11
        System.out.println("------");

        int z =100;
        System.out.println(z++); //100
        System.out.println(z); //101
        System.out.println("----------");

        int x =10;
        int y =20;
        int result03 = x++ + --y + ++x;  //41
        System.out.println(result03);
        System.out.println("----------");

     
    }
}
int c =10;
c =c++;
System.out.println(c); //10
System.out.println(c); //10

反码编译:

JavaSE运算符_第1张图片

赋值运算符

基本赋值运算

= 将等号右边的数据赋值给左边的变量

符合赋值运算符

+=:  int i= 10;  i+=3; -> i = i + 3;
-=
*=
/=  取整数部分  
%=  取余数部分

需要注意的是:byte short遇到复合赋值运算,jvm会自动转化


        int a =10;
        a+=2;  //a = a + 2
        System.out.println("a="+a); //a=12

        byte b = 10;
        //b = (byte)(b+1);
        b+=1;
        System.out.println(b);

关系运算符(比较运算符)

结果: 布尔类型 true或false

作用 :做条件判断使用

== 若符号前后相等则为true,若不相等则为false
> 若符号前的数据大于后的数据则为true,否则为false
< 若符号前的数据小于符号后的数据则为true,否则为false
>= 若符号前的数据大于或等于符号后的数据则为true,否则为false
<= 若符号前的数据小于或等于符号后的数据则为true,否则为false
!= 若符号前后数据相等则为true,否则为false
 	    int i = 10;
        int j = 20;

        boolean result01 = i ==j;
        System.out.println("result01 = "+ result01); //flase
        System.out.println(i > j); //false
        System.out.println(i<j); //true
        System.out.println(i>=j); //false
        System.out.println(i<=j); //true
        System.out.println(i!=j); //true

逻辑运算符

作用: 来连接多个boolean结果的

结果:boolean型结果

&& (与、并且) 有假则假,符号前后有一个结果为false则整体就是false
|| (或者) 有真则真,符号前后有一个结果为true则整体就是true
!(非,取反) 不是true,就是false;不是false,就是true
^ (异或) 符号前后结果一样则为false不一样则为true
true^true ->false
true^false ->true
false^true ->true
false^false -> false
public class Operational03Characteer {
    public static void main(String[] args) {
        int i = 10;
        int j = 20;
        int k = 10;
        boolean result02 = (i>j) && (i==k);
        System.out.println("result02=" + result02); //false
        boolean result03 = (i>j) || (i==k);
        System.out.println("result03=" + result03); //true
        boolean result04 = (i>j) ^ (i==k);
        System.out.println("result04=" + result04); //true
        boolean result05 = !(i>j);
        System.out.println("result04="+result05); //true
 
    }
}

& 1 单与,若前后都是布尔型,有假则假,但是若符号前的为false,符号后的判断会继续执行
2 如果该符号前后都是数字,看做是位运算符
&& 双与 有假则假,但是具有短路效果。如果符号前为false,符号后的判断不会执行
| 1 单或 若前后都是布尔型,有真则真,但是如果符号前为true,符号后的判断会继续执行
2 如果该符号前后都是数字,看作是位运算
|| 双或 有真则真,但是有短路效果,如果符号前为true,符号后的判断就不执行
        int a = 10;
        int b = 20;
        boolean result06 = (++a>100)&(++b>10);
        boolean result07 =(++a > 100) && (++b >10 );
        boolean result08 = (++a<100)|(++b>10);

        boolean result09 = (++a<100) || (++b>10);
        System.out.println("result09="+ result09);
        System.out.println("a = "+ a);
        System.out.println("b="+ b);

问: a是一个变量,随意给a赋值,判断接受的值是否在1-20之间

i =>1 && i<=20

三元运算符

格式:

boolean表达式?表达式1:表达式2

执行流程:

boolean表达式先判断,如果是true就走表达式1;如果是false就走表达式2

public class Operational04Character {
    public static void main(String[] args) {
        //三元运算符

        //需求:小明考完试了,判断小明的分数是否及格,返回结果4
        int score = 60;
        String result01 = score>=60?"及格":"不及格";
        System.out.println("小明的结果是"+ result01);

        //有两个老人,年龄分别为70  80  求出两个老人的最高年龄
        int age01 = 70;
        int age02 = 80;
        int max  =age01>age02?age01:age02;
        System.out.println(max);

        //有三个老人,年龄分别为70  80  60  求出三个老人的最高年龄
        int old1 = 70;
        int old2 = 80;
        int old3 = 60;
        int result02 =old1>old2?old1:old2;
        System.out.println(result02);
        int temple = old2;
        int result03=temple>old3?temple:old3;
        System.out.println("最大年龄是:" + result03);
    }
}

总结

JavaSE运算符_第2张图片

你可能感兴趣的:(java,开发语言)