JAVA学习4—基础知识-(运算符)

一.运算符
在这里插入图片描述
(1)算术运算符
在这里插入图片描述

public class AriTest {
    public static void main(String[] args){
        //(前)++ 先自增1,再运算
        int a1 = 10;
        int b1 =++a1;//a1先自增1(10+1=11),再进行运算将11赋值给b1,所以b1=11
        System.out.println("a1 = " + a1 + ",b1 = " +b1);//a1 = 11,b1 = 11

        //(后)++ 先运算,后自增1
        int a2 = 10;
        int b2 = a2++;//先进行运算a=10赋值给b2,所以b2=10,再自增1,a2=10+1=11
        System.out.println("a2 = " + a2 + ",b2 = " +b2);//a2 = 11,b2 = 10

        //没有赋值运算时,自增1的写法
        short c = 10;
        c++;
        System.out.println(c);//11
    }
}

(2)赋值运算符
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)比较运算符
在这里插入图片描述
(4)逻辑运算符
在这里插入图片描述

/*
运算符4:逻辑运算符
&逻辑与   &&短路与
|逻辑或   ||短路或
!逻辑非
^逻辑异或
说明:逻辑运算符只适用于boolean类型

 */

public class AirTest4 {
    public static void main(String[] args){
        //区分& 与 &&
        //单&
        System.out.println("********逻辑与&  短路&&**************************");
        boolean b1 = true;
        b1 = false;
        int num1 = 10;
        if(b1 & (num1++ >0)){
            System.out.println("我现在在北京");
        }else {
            System.out.println("我现在在南京");
        }
        System.out.println("num1 = " + num1);
        System.out.println("**********************************");

        //双&&,
        // 1.当符号左边(boolean为true)是true时都进行执行计算
        // 2.当符号左边(boolean为false),短路后不会进行if里面不会进行执行直接绕过去了
        boolean b2 = true;
        b2 = false;
        int num2 = 10;
        if(b2 && (num2++ >0)){
            System.out.println("我现在在北京");
        }else {
            System.out.println("我现在在南京");
        }
        System.out.println("num2 = " + num2);



        System.out.println("**************逻辑或与短路或********************");

        //区分 |逻辑或   ||短路或
        //相同点: |与||运算那结果相同
        //相同点2:当符号左边是false时两者会执行右边的计算
        //不同点:当符号左边是true时,|继续执行,||不执行
        boolean b3 = true;
        b3 = false;
        int num3 = 10;
        if(b3 | (num2++ >0)){
            System.out.println("我现在在北京");
        }else {
            System.out.println("我现在在南京");
        }
        System.out.println("num3 = " + num3);
        System.out.println("**********************************");



        boolean b4 = true;
        b4 = false;
        int num4 = 10;
        if(b4 | (num2++ >0)){
            System.out.println("我现在在北京");
        }else {
            System.out.println("我现在在南京");
        }
        System.out.println("num4 = " + num4);

    }
}

在这里插入图片描述
(5)位运算符
在这里插入图片描述
在这里插入图片描述

package TEXT;

public class numchange {
    public static void main(String[] args){
        //练习:交换两个变量的值
        int num1 = 10;
        int num2 = 20;
        //方式一:定义临时变量
        int temp = num1;
        num1 = num2;
        num2 = temp;
        System.out.println("num1 = " + num1 + ",num2 = " + num2);


        //方式二:计算法,弊端:数据可能会超出存储范围,有一定局限性
        int num3 = 10;
        int num4 = 20;
        
        num3 = num3 + num4;
        num4 = num3 - num4;
        num3 = num3 - num4;
        System.out.println("num3 = " + num3 + ",num4 = " + num4);
    }
}

在这里插入图片描述
(6)三元运算符
在这里插入图片描述


/*
运算符之6:三元运算符
1.结构:(条件表达式)?表达式1:表达式2
2.说明:
(1)条件表达式的结果为boolean类型
(2)根据条件表达式真或假,决定执行表达式1,还是表达式2
     如果表达式为true,则执行表达式1
     如果表达式为false,则执行表达式2
(3)表达式1和表达式2要求是一致的
(4)三元运算符可以签到使用
3.凡是可以使用三元运算符的地方都可以改写为if -else
 */
public class SanYuanText {
    public static void main(String[] args){

        //获取两个整数的较大值
        int m = 12;
        int n = 5;
        int max = (m > n)? m : n;
        System.out.println(max);

        //三元运算符的嵌套
        String maxStr = (m > n)? "m大" : ((m == n)? "m和n相等" : "n大");
        System.out.println(maxStr);

        //获取三个数的最大值
        int n1 = 12;
        int n2 = 30;
        int n3 = -43;

        int max1 = (n1 > n2)? n1 : n2;
        int max2 = (max1 > n3)? max1 : n3;
        System.out.println(max2);
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值