Java学习笔记----运算符

1.关系运算符

主要功能:进行数据的大小关系比较,返回的结果是boolean型数据(True or False)

// 关系运算符
public class TestDemo{
    public static void main(String[] args) {
        System.out.println(3 > 1);
        System.out.println(3 < 1);
        System.out.println(3 >= 1);
        System.out.println(3 <= 1);
        System.out.println(3 == 1);
        System.out.println(3 != 1);
    }
}
true
false
true
false
false
true

2.数学运算符:四则运算、求模、自增

// 数学运算符
public class TestDemo{
    public static void main(String[] args) {
        int numA = 10, numB = 20;
        System.out.println("加法: " + (numA + numB));
        System.out.println("减法: " + (numA - numB));
        System.out.println("乘法: " + (numA * numB));
        System.out.println("除法: " + (numA / (double)numB));
        System.out.println("求模: " + (numA % 3);
    }
}
加法: 30
减法: -10
乘法: 200
除法: 0.5
求模: 1

3.简化运算符

// 简化运算符
public class TestDemo{
    public static void main(String[] args) {
        int numA = 10, numB = 10,numC = 20;
        int result1 = ++numA + numC;       // 自增在前,表示先对变量加一后再运算
        int reslut2 = numB++ + numC;       // 自增在后,表示运算后再对变量加一
        System.out.println("reslut1 = " + result1);
        System.out.println("resuly2 = " + reslut2);
    }
}

4.三目运算符:以一个布尔表达式的结果进行赋值,基本语法结构如下:

数据类型  变量  =  布尔表达式  ?  满足时设置的内容  : 不满足时设置的内容

// 三目运算符
public class TestDemo{
    public static void main(String[] args) {
        int numA = 10, numB = 20;
        int max = numA > numB ? numA : numB;
        System.out.println(max);
    }
}
20

5.逻辑运算

—>与操作:分为&(普通与)、&&(短路与)

// 逻辑运算
public class TestDemo{
    public static void main(String[] args) {
        if ((1 == 2) & (10 / 0 == 0))
        {
            System.out.println("Hello world!");
        }
        }
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at TestDemo.main(TestDemo.java:4)

对于普通&操作,会判断每一个条件,由于10 / 0导致了程序发生错误

// 逻辑运算
public class TestDemo{
    public static void main(String[] args) {
        if ((1 == 2) && (10 / 0 == 0))
        {
            System.out.println("Hello world!");
        }
        }
}

对于短路&&操作,由于第一个条件被判断为false,因此后面所有的条件不再判断,程序没有输出错误信息

—>或操作:只要有条件满足,就返回true,分为普通或| 和短路或||

// 逻辑运算
public class TestDemo{
    public static void main(String[] args) {
        if ((1 == 1) | (10 / 0 == 0))
        {
            System.out.println("Hello world!");
        }
        }
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at TestDemo.main(TestDemo.java:4)

|操作仍然返回了错误信息,这和与操作保持一致

// 逻辑运算
public class TestDemo{
    public static void main(String[] args) {
        if ((1 == 1) || (10 / 0 == 0))
        {
            System.out.println("Hello world!");
        }
        }
}
Hello world!

注:在考虑性能问题时,应优先考虑短路与和短路或操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值