关注

day04 java基础(下)

java 基础(下)

基本运算符

  1. 算术运算符:+、-、*、/、%(取余)、++(自增)、–(自减)
  2. 赋值运算符:=
  3. 关系运算符:>、<、<=、>=、==,!=instanceof
  4. 逻辑运算符:&&(与,py中的and)、||(或,py中的or)、!(非)
  5. 位运算符:&、|、!、>>、<<、>>> (是从进制中操作)
  6. 条件运算符:?
  7. 扩展赋值运算符:+=、-=、*=、/=
不同类型的使用

首先,=是赋值运算符,a = b即为将b赋值给a,而==是关系运算符,与py大致相同

其次,我们在运行/这个运算符时,会发现以下问题。

public class Demo01 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        
        System.out.println(a/b);
        System.out.println(a/double(b));
    }
}

大家运行以上代码,就会发现单单使用a/b,即10/20,会输出0,这个一看就是错误的,为何会出现这种问题?其实是作用范围的问题,我们使用的是int,是整数,所以它只能提取出0。

如何解决? 类型转换!将int转换为double,可以直接在sout中进行转换,看代码第二个结果即为0.5,输出正确!

最后 ,当我们使用整数类型相加时,相加中有long类型,则结果也会变成long类型,有int,则会变成int类型。若是byte和short类型相加,也会变成int类型,请大家自行运算以下代码!

public class Demo01 {
    public static void main(String[] args) {
        long a = 121212121;
        int b = 123;
        short c = 12;
        byte d = 1;
        
        System.out.println(a+b+c+d);
        System.out.println(b+c+d);
        System.out.println(c+d);
    }
}

自增++ 自减–

首先,请大家运算以下代码。

public class Demo01 {
    public static void main(String[] args) {
        int a = 3;
        int b = a++;
        int c = ++a;
      
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

重点

先看一下运行结果,是5 3 5,为什么b会等于3?我们要先搞清楚什么是自增,自减,a++和++a都为自增加(a = a+1),区别就在于何时赋值,是先赋值还是先自增加a++是在赋值给b后再执行自增(a = a+1),即执行完 int b = a++后,先给b赋值,再进行自增(a = a + 1),而***++a则是先执行自增,再给b赋值,即执行完 int b = ++a后,先进行自增,再给b赋值***,由此b就为未自增后的a,等于3,c则为自增后的a,等于5。

自减a–和–a类似,不再进行说明。

幂运算

java和其他语言不同的是,幂运算java通常使用工具类进行运算,而不是使用**,^等符号。

double b = Math.pow(2, 3);
//2^3 = 8

逻辑运算符(&& || !)

和py语言类似,不同就在于java是使用&&(与)、||(和)、!(非)

public class Demo01 {
    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);
    }
}

请大家运行以上代码

  1. &&(和)的调性是两真为真,一假为假
  2. ||(或)的调性是一真为真,两假才为假
  3. !(非)----两极反转
  4. + 字符连接符 : sout(" "+a+b),若a=10,b=20,则输出 1020.
短路问题

我们在使用&&的时候,有时候会考虑,当false&&true时,是不是即会执行false,也会执行true,答案是当遇到false时,就发生短路,true就不会执行了,我们编写程序进行验证。

public class Demo01{
    public static void main(String[] args) {
        int a = 5;
        boolean b = (a<6)&&(a++>5);
        
        System.out.println(b);
        System.out.println(a);
    }
}

如上代码,若a++执行了,则a会输出6,说明未短路,但我们的结果是False 5,说明发生短路,以上推断成立。

位运算 & | ! << >>

这里我用我的笔记来说明
请添加图片描述

三元运算符 ?

  1. 与py类似,a+ = b 即为 a=a+b, a- = b,即为a = a-b
  2. 三元运算符?:x ? y:z,意思就是当x = true,则输出y,否则输出z
//代码说明
public class Demo01{
    public static void main(String[] args) {
        int score = 80;
        String type = score>60 ? "及格": "不及格"System.out.println(type);
    }
}

大家运行会发现输出了“及格”,把分数改为59,则输出不及格,以上推断得证。

包机制

一般是以公司域名的倒置作为包名

比如:com.carlos

如何直接导入包? 我们可以直接在导入程序包时打com.carlos,系统自动会生成一个com包及com下的carlos包。

注意:可能一部分同学会遇到导入com.carlos直接变成了com.carlos包,这是因为你设置问题。按照我以下操作关闭compact matter package(压缩空的中间的包)这个按钮即可。
在这里插入图片描述

包常态 : package pkg1[. pkg2[. …;

导入包 :import pkg1[. pkg2[. …;

转载自CSDN-专业IT技术社区

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_65376383/article/details/152510632

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--