Day06 运算符

Day06 运算符

JAVA语言支持的运算符

  • 算数运算符:+,-,*,/,%,++,--
  • 赋值运算符=
  • 关系运算符:>,<,>=,<=,==(两个等于才表示等于,一个等于是上面的赋值),!=(就是不等于的意思,只能这么表示),instanceof
  • 逻辑运算符:&&,||,!(且,或,非) 非:!(a&&b)就是给且取反
  • 位运算符:&,|,^(异或),~(取反),>>,<<,>>>
  • 条件运算符:? :
  • 扩展赋值运算符:+=,-=,*=,/=
public class Operator {
    public static void main(String[] args) {
        //二元运算符
        int a=10;
        int b=20;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println((double) a/b);
        System.out.println("=====================================");


        long e=121432243546l;
        int f=46542;
        short g=33;
        byte h=10;
        System.out.println(e+f+g+h);//long(操作数中有一个数为long,则这个结果类型也为long)
        System.out.println(f+g+h);//int(如果没有long,结果都为int)
        System.out.println(g+h);//int(在算术混合运算中,表达式的最高精度低于int型整数,按int精度进行计算)
        //在算数混合运算中,结果类型自动升为操作数中的最高类型,若低于int,则结果都按最低int型整数计算(double>float>long>int)
        System.out.println("=====================================");


        //关系运算符返回的结果:正确,错误  布尔值
        int c=10;
        int d=20;
        int i=21;
        System.out.println(c>d);//f
        System.out.println(c<d);//t
        System.out.println(c==d);//f
        System.out.println(c!=d);//t
        System.out.println(i%c);//i / c  21/10=2……1  取余,模运算
        System.out.println("=====================================");


        //++  --   自增,自减 一元运算符
        int k=3;

        int m=++k;//由于k在+后面,所以是先计算后赋值,先给k+1=4,之后,把4赋值给m,此时,m和k都等于4
        int l=k++;//由于k在+前面,所以是先赋值后计算,先把k=4赋值给l,再给k+1=5,此时l=4,k=5
        System.out.println(k);
        System.out.println(m);
        System.out.println(l);
        System.out.println("=====================================");


        //幂运算  2^3  2*2*2=8  很多运算,我们会使用工具类来操作
        double pow = Math.pow(2, 3);//8
        System.out.println(pow);
        System.out.println("=====================================");


        //逻辑运算符  与(and)  或(or)  非(取反)
        boolean n=true;
        boolean o=false;
        System.out.println("n&&o:"+(n&&o));//逻辑与运算:两个变量都为真,结果才为true
        System.out.println("n||o:"+(n||o));//逻辑与运算:两个变量有一个为真,则结果为true
        System.out.println("!(n&&o:)"+!(n&&o));//逻辑与运算:真变假,假变真
        System.out.println("=====================================");


        //短路运算
        int p=5;
        boolean q=!(p<4)&&(p++<4);
        System.out.println(q);//false
        System.out.println(p);//5(由于p<4已经为假,对于&&所以无论如何,后面结果都是假的,直接不会再去管后面的运行,则p++不计算)
        System.out.println("=====================================");


        /*
        A  =0011 1100
        B  =0000 1101
        A&B=0000 1100
        A|B=0011 1101
        A^B=0011 0001  (异或:相同为0,不同为1)
        ~B =1111 0010(取反)

        位运算效率极高!
        <<    (左移)*2
        >>   (右移)/2
        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0011    3
        0000 0100    4
        0000 1000    8
        0001 0000    16
        */
        System.out.println(2<<3);
        System.out.println("=====================================");


        //扩展赋值运算符:+=,-=
        int r=10;
        int s=20;
        r+=s; //r+s后把值赋给r
        r-=s; //r-s后把值赋给r
        System.out.println(r);
        System.out.println("=====================================");


        //字符串连接符  +   String
        System.out.println(""+r+s);//1020  把r+s当成字符串了
        System.out.println(r+s+"");//30    先运算再输出
        System.out.println("=====================================");


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

包机制

  • 为了更好地组织类,JAVA提供了包机制,用于区别类名的命名空间
  • 包语句的语法格式为:
package pkg1[. pkg2[. pkg3...]];
  • 一般利用公司域名倒置作为包名:(www.baidu.com,做包时就是com.baidu.www,建立起包中包com>baidu>www)
  • 为了能够使用某一个包的成员,我们需要在JAVA程序中明确导入该包。使用“import”语句可以完成此功能
import package1[.package2...].(classname|*);
posted @ 2025-07-04 21:51  巫山独白  阅读(7)  评论(0)    收藏  举报