2021-07-08-算数运算符

本文讲解了算术运算符(加减乘除取余)、自增自减运算的原理及其在编程中的应用,包括实例演示。同时介绍了赋值运算符、关系运算符和逻辑运算符,以及短路运算符的特点。通过实例帮助理解运算符在Java中的实际操作和比较运算的技巧。
摘要由CSDN通过智能技术生成

算术运算符

加减乘除取余

±*/%


实例:键盘录入一个三位数。将其拆分为百位个位和十位,打印在控制台上
import java.util.Scanner;
class CESHI{
    public static void main(String[]atgs){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个三位数");
        int num = sc.nextInt();
        int ge=num%10;
        int shi=num/10%10;
        int bai=num/100;
    System.out.println("个位为"+ge+";"+"十位为"+shi+";"+"百位为"+bai+";");
    }

}

在这里插入图片描述


自增自减运算符

参与赋值等运算时,++变量前,先对变量做自增运算,然后再拿变量参与操作;

++变量在后,先对变量进行操作,然后再对变量做自增运算;

自减和自增逻辑相同;

例如:

int a =1;
int b=++a;//运行后b的值为2,a的值为2;这里先对a进行自增运算:a=a+1;,然后再将a的值赋值给b;

int a =1;
int b =a++;//运行后b的值为1,a的值为2;这里先将a的值赋值给b,然后对a进行自增运算;

int a =1;
Stytem.out.println(a++);//运行结果为1;
Stytem.out.println(a);//运行结果为2;

int a =1;
Stytem.out.println(++a);//运行结果为2;

赋值运算符

=、+=、-=、/=、*=、%=

+=:将符号左右两边的数据做加法运算,结果赋值给左边;特殊赋值运算符自带强转;

例如:

int a =10;
a+=a;//运行后a的值为20,等效于a=a+a;

short s=1;
s=s+1;
//此时编译会报错
//因为short、byte和char三种类型的变量在运算时会自动提升为int型,int型变量和int型整数相加还是int型
//int型数据表示范围比short类型的数据要大,无法直接赋值
//非要赋值需要将值转化为short才能进行转化,即:s=(short)(s+1)
//但如果使用+=的话,会自带强制转化,如:s+=1等效于,s=(short)(s=s+1)

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

(>)(>=)(<)(<=)(==)(!=),比较结果只有true和false

逻辑运算符

&(并且、与)、|(或、或者)、!(非,取反)、^(异或,相同为false,不同为true)

案例:

System.out.println(!true);//打印结果为false
System.out.println(!!true);//打印结果true

System.out.println(true^false);//打印结果为true
System.out.println(true^true);//打印结果为false
System.out.println(false^false);//打印结果为false

短路运算符

&& 、||

&&:具有短路效果,当左边为false时,右边就不执行了

||;如果左边为真时,右边不执行,因为或,左边为真的时候已经可以输出true了,后边为真为假对本行结果都没有影响

例如:

int a=4System.out.println(a++>5&&a<10);//左边++在a右边,先进行判断再自增,此时a已经为false了,双与运算符可直接判断为false,右边即使有表达式也不再计算,如后面还有自增运算符也不执行了,还按照左边的值输出


三元运算符

关系表达式?表达式1:表达式2;

关系表达式先进行判断,结果为真输出表达式1结果,为假则输出表达式2;

例如:

int a=10;
int b=20;
int max=a>b?a:b;//先对a>b进行判断,结果为真则输出a,否则则输出b;
System.out.println(max);//所以此时控制台输出结果为b,也就是20;

关系表达式案例:

public class maxHeight{
    public static void main(string[]args){
        int H1=156;
        int H2=160;
        int H3=170;
        int max1=H1>H2?H1:H2;
        int max2=max1>H3?max1:H3;
        System.out.println(max2);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值