java基础语法2

java基础语法2

运算符

1.算数运算符

运算符含义
+求和(也可作字符串拼接)
-求差(也可作负号)
*求积
/求商
%求余数(求模)
++自加一
--自减一

注意:++a和a++的区别

当++出现在变量前面时,会先给变量自加一,然后再做赋值运算

   int x = 5;
    int y = ++x;
    System.out.println(x); // 6
    System.out.println(y); // 6
 

当++出现在变量后面时,会先做赋值运算,然后再给变量自加一

    int m = 5;
    int n = m++;
    System.out.println(n); // 5
    System.out.println(m); // 6

要注意在print中

public class Demo1 {
    public static void main(String[] args) {
        int a = 2;     
        System.out.println(a++);//2
    }
}
​
​
​
public class Demo1 {
    public static void main(String[] args) {
        int b = 2;
        System.out.println(++b);//3
    }
}

public class Demo1 {
    public static void main(String[] args) {
        int a = 5;
        System.out.println(++a + a++ + ++a);//6+6+8=20
        /*
        第一组操作(++a):先执行一组操作,返回计算后的结果。计算前a=5,计算后a=6。此时a为6,返回值为6。
第二组操作(a++):先执行一组操作,返回计算前的结果。计算前a=6,计算后a=7。此时a为7,返回值为6。
第三组操作(++a):先执行一组操作,返回计算后的结果。计算前a=7,计算后a=8。此时a为8,返回值为8。
*/
​
    }
}
​

不管++出现在前还是后,变量最后都会自加一

+作为字符串拼接:

  int a = 100;
    int b = 200;
    int c = a + b;
// 这里的 + 两边都是数字,所以加法运算
    System.out.println(a + "+" + b + " = "  + a + b);//100+200=100200
    System.out.println(a + "+" + b + " = "  + (a + b));//100+200=300

注意:

  • 当 + 运算符两边都是数字类型的时候,求和。

  • 当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作。

2.关系运算符

运算符含义
>大于
>=大于等于
<
 
小于
<=小于等于
==等于
!=不等于

注意:关系运算符运算结果都是布尔类型

3.逻辑运算符

● &—逻辑与 | —逻辑或 !—逻辑非 ● && —短路与 || —短路或 ^ —逻辑异

aba&ba|b!aa^ba&&ba||b
truetruetruetruefalsefalsetruetrue
truefalsefalsetruefalsetruefalsetrue
falsetruefalsetruetruetruefalsetrue
falsefalsefalsefalsetruefalsefalsefalse

● “&”和“&&”的区别: ● 单&时,左边无论真假,右边都进行运算;

​
public class Demo2 {
    public static void main(String[] args) {
       int a = 2;
       int b = 3;
       int c = 4;
        System.out.println(a>b & a>b++);//false
        System.out.println(b);//4
        System.out.println(a<c & a<c++);//true
        System.out.println(c);//5
        //不论返回结果是什么,右边表达式都执行
    }
}

● 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算

public class Demo2 {
    public static void main(String[] args) { 
        int d = 5;
        int e = 6;
        System.out.println(d > e && d > e++);//false
        System.out.println(e); // 6
        // 使用短路与&&的时候,当左边的表达式为false的时候,右边         的表达式不执行,即短路。
     }
}

从效率方面来说,&&比&的效率高一些。 因为逻辑与&不管第一个表达式结果是什么,第二个表达式一定会执行。

以后的开发中,短路与&&和逻辑与还是需要同时并存的。 大部分情况下都建议使用短路与&&只有当既需要左边表达式执行,又需要右边表达式执行的时候,才会选择逻辑与&。

● “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算.

4.赋值运算符

 

注意:

public class Demo3 {
    public static void main(String[] args) {
        //扩展运算符
        int a=3;
        int b=4;
        a+=b;  //相当于a=a+b;
        System.out.println("a="+a+"\nb="+b);//a=7 b=4
        a=3;
        a*=b+3;  //相当于a=a*(b+3)
        System.out.println("a="+a+"\nb="+b);//a=21 b=4
    }
}

5.条件运算符(三目运算符)

● x ? y : z ● 语法:(条件表达式)? 表达式1:表达式2; ● 条件表达式结果为true,运算后的结果是表达式1; 为false,运算后的 结果是表达式2;

public class Demo3 {
    public static void main(String[] args) {
       int a =80;
       String b = a>60?"及格":"不及格";
        System.out.println(b);//及格
    }
}

6.位运算符

● 日常开发中位运算使用相对较少,但是巧妙的使用位运算可以大量减少运行开销, 优化算法。

 

7.表达式的运算顺序

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值