8. Java运算符

Java运算符优先级详解----转载

package operator;
/*
6类运算符:
   计算运算符:+ - * / %(取余) ++(自增) --(自减)
   比较运算符:> < >= <= ==(这才是等于) !=(不等于) instanceof
   逻辑运算符:1. &&(和;条件必须都true结果才为true)
              2. ||(或;有一个条件true,结果都为true)
              3. ! (非;条件true,结果为false;条件false,结果为true)
              4. ^ (异或;^两边运算符相同,结果为false;不同则为true)
    位运算符: & | ~ ^ <<(*2) >>(/2) >>>
    条件运算符:? :
        例:x ? y : z(如果x==true ,则结果为y,否则结果为z)
    赋值运算符:=(是赋值,不是等于) += -= *= /= %=
        例:a+=b意思是a=a+b(b值不变);-= *= /= %= 以此类推

运算符优先级顺序:()最快;
               条件运算符和赋值运算符最慢(条件和赋值运算符是唯二从右到左执行的)
*/
public class Demo1 {
    public static void main(String[] args) {
        //%(取余):也叫模运算
        int a0=10;
        int b0=25;
        System.out.println(b0%a0);//余数为5 计算过程:25除以10=2余5

        // ++(自增1)或 --(自减1)在后面时先赋值再自增自减;在前面时先自增自减再赋值
        int i=1;
        int i1=i++;//赋值但还没自增
        System.out.println(i1);//结果为1
        //自增:i自增1变2
        int i2=++i;//i由2又自增变3
        System.out.println(i2);//结果为3

        //Ctrl+D:快速复制当前行到下一行
        int a=1;
        int b=2;
        System.out.println(a*b);
        System.out.println((double)a/(double)b);//结果为小数时,为了准确要转为浮点型

        // 当计算的为整型和char型时结果会自动转换为默认的int型(除非结果超过int取值范围,将自动转为long型)
        // 当要计算的值带有浮点型结果会自动转换为默认的double型
        // 原因:自动转换会从存储小的类型转换成存储大的类型
        // 存储范围排序:byte<short(char)<int<long<float<double
        char a1='A';
        long b2=1L;
        float c3=1.5F;
        System.out.println(a1+b2+c3);//结果为double型
        System.out.println(a1+b2);   //结果为int型

        //比较运算和逻辑运算声明时必须用boolean型;因为输出结果是boolean型,即true或false
        boolean a3=(1==1)||(1<2);
        System.out.println(a3);

        //位运算符作用:运算二进制数
        /*
        int A=0011;
        int B=1100;
        System.out.println(A&B);   //&:与,全1才1              结果:0000
        System.out.println(A|B);   //|:或,全0才0              结果:1111
        System.out.println(~A);    //~:非,取相反              结果:1100
        System.out.println(A^B);   //^:异或,相同则0,不同则1   结果:1111
        */
        System.out.println(1<<3);  //<<:相当于*2;  1<<3即为1*2*2*2
        System.out.println(16>>3); //>>:相当于/2;  16>>3即为16/2/2/2

        //赋值运算符:
        int t=10;
        int x=20;
        System.out.println(t+=x);  // t+=x等于t=t+x,x不变
        System.out.println(t-=x);  // t-=x等于t=t-x,x不变
                                   // -= *= /= %= 以此类推
        //+号除了是加法运算符,还是字符串(String)连接符
        System.out.println(""+t+x);//结果为1020,字符串在前面,后面的运算不会进行
        System.out.println(t+x+"");//结果为30,字符串在后面,前面的运算照常进行

        //条件运算符:? :
          //x ? y : z
          //如果x==true ,则结果为y,否则结果为z
        int score=70;
        String type=score<60 ?"不及格":"及格";
        System.out.println(type);

        //用工具类Math.pow()实现幂运算:
        double d5=Math.pow(2,3);
        System.out.println(d5);//2的三次方结果为8
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值