基本运算符

基本运算符

在这里插入图片描述

优先级:一元运算符以及括号内的表达式<–二元运算符<–位运算符<–赋值运算符和扩展赋值运算符;

一元运算符以及括号内的表达式<–二元运算符<–条件运算符;

一元运算符以及括号内的表达式<–二元运算符<–关系运算符<–逻辑运算符;

  1. 二元运算符:“*”号表示乘法,“/"表示除法。

  2. 一元运算符:”++“表示在自身加1,”–“表示在自身减1。“%”表示取余,如:13%5==3。

  3. 关系运算符:“!=”表示不等于,“>=”表示大于等于,“<=”表示小于等于。

  4. 逻辑运算符:”&&“表示与,”||”表示或,“!”表示非,遵循短路运算

  5. 位运算符:&,|,^,~分别表示位运算的与,或,异或,非(取反);>>,<<,>>>分别表示位运算的有符号右移,左移,无符号右移(有符号右移若为整数移完后最高位为0,若为负数移位后最高位为1。无符号右移无论正负最高位都为0。

  6. 三元运算符——条件运算符“?:”。例如:若x=10,表达式x<8?y=1:y=2;的值为y=2;即判别式结果为真则取“:”号前面的式子,否则取“:”号后面的式子。

  7. 扩展赋值运算符:例如:a+=b等价于a=a+b。-=,*=,/=与+=类似。

    今天学到:一个快捷键Ctrl+D:复制当前行到下一行;

    字符串连接符”+“,String

    int n=10;

    int m=20
    ​ System.out.println(""+n+m);//输出1020
    ​ System.out.println(n+m+"");//输出30
    ​ //"“符号在前,则它会把+号连接的数据变成String类型,”"符号在后不会改变前面+号连接的数据;

package operator;

public class yunsuanfu {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl+D:复制当前行到下一行
        int a=10;
        int b=20;
        int c=25;
        int d=25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

        System.out.println("=====================");

        long q=1221212L;
        int w=123;
        short e=32766;  //short型的范围是-32768~32767
        byte r=8;
        double t=1.1;

        System.out.println(q+w+e+r);//Long   Long型和int、short、byte型运算会得到Long型
        System.out.println(w+e+r);//Int
        System.out.println(e+r);//Int  short和byte型运算会得到int型
        System.out.println(t+q);//Double  其他基本数据类型和Double型运算都会得到Double型

        System.out.println("=====================");
        //关系运算符返回的结果:用布尔值表示,true(正确),false(错误)

        int h=10;
        int k=23;

        System.out.println(k%h);//3
        System.out.println(k>h);//true
        System.out.println(k<h);//false
        System.out.println(k==h);//false
        System.out.println(k!=h);//true
        
        System.out.println("=====================");
        //"++"自增,"--"自减,都是一元运算符
        int u=3;
        int i=u++;//i=3   执行完这行代码后,先给b赋值,再自增
        //u=u+1
        System.out.println(u);//u=4
        //++u  u=u+1  u=5
        int p=++u;//p=5  执行完这行代码前,先自增,再给b赋值

        System.out.println(u);//5
        System.out.println(i);//3
        System.out.println(p);//5
        //“--”自减运算符与自增运算符是相对应的,用法类似

        System.out.println("====================");
        //幂运算 2^3==2*2*2==8  很多运算,我们会使用一些工具类来操作!
        double pow=Math.pow(2,3);
        System.out.println(pow);//pow==8.0
        
        
        System.out.println("====================");
        //逻辑运算符
        //与(and)  或(or)  非(取反)
        boolean s=true;
        boolean f=false;

        System.out.println("s&&f:"+(s&&f));//逻辑与运算:两个变量都为真,结果才为true
        System.out.println("s||f:"+(s||f));//逻辑或运算:两个变量有一个为真,则结果为真
        System.out.println("!(s&&f):"+!(s&&f));//如果是真,则变为假,如果是假,则变为真

        //逻辑运算遵守短路运算
        int g=5;
        boolean v=(g<4)&&(g++<4);//当它判断g<4是false,已经可以确定v==false,它就不会继续判断g++<4了,所以v不会加1了
        System.out.println(v);
        System.out.println(g);

        System.out.println("====================");
        //位运算符
        //“&”位运算与,“|”位运算或,“^”位运算异或,“~”位运算非(取反)
        /*
        A=0011 1100
        B=0000 1101
        -----------------------
        A&B==0000 1100
        A|B==0011 1101
        A^B==0011 0001
        ~B==1111 0010

        2*8==16==2*2*2*2
        位运算效率极高!!!
        “<<”位运算,右移运算符,相当于*2;
        “>>”位运算,左移运算符,相当于/2;

        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0100    4
        0000 1000    8
        0001 0000    16
         */
        System.out.println(2<<3);//输出16

        System.out.println("=====================");
        //扩展赋值运算符
        int n=10;
        int m=20;

        n+=m;//n=30  n=n+m
        n-=m;//n=10  n=n-m
        System.out.println(n);

        //字符串连接符”+“,String
        System.out.println(""+n+m);//输出1020
        System.out.println(n+m+"");//输出30
        //""符号在前,则它会把+号连接的数据变成String类型,""符号在后不会改变前面+号连接的数据

        System.out.println("======================");
        //三元运算符
        //x?y:z  表示如果x==true,则结果为y,否则为z

        int score=50;
        String type=score<60?"不及格":"及格";//必须掌握
        System.out.println(type);//输出”不及格“
    }


}

以上内容学习自java狂神说,网址:https://www.bilibili.com/video/BV12J41137hu?p=30&spm_id_from=pageDriver

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值