JAVA基础语法复习(二)

JAVA基础语法复习(二),第1张

JAVA基础语法复习(二)

一、运算

        算数运算符:就是数学中常见的+, ,-, *, /,%和特殊一点的++,--。不同类型的运算会以最大类型作为输出类型。++,--则是自身进行+1和-1,注意一点的是i++是 *** 作i结束后再+1,++i则是先将i进行+1在对i进行 *** 作。

public static void main(String[] args) {
        long a = 121212121212L;
        int b = 123;
        short c = 10;
        byte d = 8;
        int i = 0;
        int j = 0;

        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
        System.out.println(i++);//0
        System.out.println(++j);//1
    }

        赋值运算符:=。注意x=1是把1赋值给x,x==1是x与1相等,是将1和x进行比较。

int a=b=c=100;//连续赋值

        关系运算符:>,<,>=,<=,==,!=这些数学常见的运算符和特殊一点的instanceof,instanceof用来比较是否有父子关系。关系运算符返回的结果为boolean值。代码例子的前提是我先定义了父类Person和子类Student,Teacher。Object是Java自定义的大类。

 //   Object > Person > Student
//    Object > Person > Teacher
//    Object > String
        Object object = new Student();
        System.out.println(object instanceof Student);//true
        System.out.println(object instanceof Person);//true
        System.out.println(object instanceof Object);//true
        System.out.println(object instanceof Teacher);//false 另一条线 与Student无关
        System.out.println(object instanceof String);//false

        逻辑运算符:&&,||,!与或非。&&都真则true,一假则false;||一个为真则true;!运算是把输出的Boolean值转换,不是把&&和||转换。短路运算是当前面的已经可以得出结果了,就不会在往后走了,如例中的c输出的是5而不是6

public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
    
        System.out.println("a && b:"+(a&&b));
        System.out.println("a || b:"+(a||b));
        System.out.println("! (a && b):"+!(a&&b));
//短路运算
        int c = 5;
        boolean d = (c<4)&&(++c<4);

        System.out.println(d);//false
        System.out.println(c);//5
        

    }

        位运算符:&,|,^,~,>>,<<。与,或,非,,取反,右移,左移

    
    System.out.println(2<<3);//2*8

        条件运算符(三元运算符):x ? y:z        判断x,如果为true输出y,false输出z

        扩展运算符:+=,-=,*=,/=。a+=b可以近似看成a=a+b。使用扩展运算符时,变量在参与运算时会把结果强制转换为当前变量的类型,最终都不会改变运算的结果类型,假设前面的变量是byte类型,那么后面的表达式运算之后的结果还是byte类型。所以实际上i  *= 0.1等同于:i = (int)(i * 0.1);使用上要谨慎,不然容易造成精度损失。

int a = 10;
int b = 20;
int i = 1;

a+=b;
i *= 0.1;

System.out.println(a);//30
System.out.println(i);//0

二、包机制

        一般利用公司域名倒置作为包名,命名上同一个包内要防止命名冲突,如果要使用某个包内的成员则需使用import来导入。java.lang是JDK自带的包下的类,在使用的时候不用导入,非java.lang包下的类在不同包下使用的时候都需要进行导入,如果在同一个包下,就不用导入了。导入语句要写在package的下面不能反过来。

        导入的语法:import 包名.类名 ;

import java.io.IOException;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存