Java中的运算符

Java中的运算符,第1张

小魏又来了,今天咱们唠一唠Java中的运算符😎 1.JDK的叙述 2.运算符                             🚀1算数运算符                       🚀 2.增量运算符                   🚀3.自增自减运算符              🚀4.关系运算符          🚀5.逻辑运算符      🚀6.位运算符与移位运算符    🚀7.条件运算符 🚀8.运算符的优先级

坐上火箭一起飞向Java的怀抱吧!

1.JDK的叙述

a  .JDK是Java开发工具包 ,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

b.JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。

c.JVM是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的 *** 作系统相对应,而是经过虚拟机间接与 *** 作系统交互,由虚拟机将程序解释给本地系统执行

d.JDK中包含了JRE,JRE又包含JVM

2.运算符

运算符是对 *** 作数进行运算的符号

(1)算数运算符

加减乘除模    (+ - * /  %)

public class TestDemo {
    public static void main(String[] args) {
        System.out.println();
    }

    public static void main1(String[] args) {
        int a=10;
        int b=30;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);
        System.out.println(a%b);


    }
}

     

这几个运算符都属于双目运算符,就是说有两个 *** 作数

计算机在计算时,保留整数,比如5/2=2,与数学不一样

 

 除数不能为0,在这里会报错,出现异常,这里的ArithmeticException意思是算数异常,

public class TestDemo {
    public static void main(String[] args) {
        System.out.println(10%3);
        System.out.println(10%-3);
        System.out.println(-10%3);
        System.out.println(-10%-3);

    }

在算这个题的时候我成功的跳入坑😢,答案是1,1,-1,-1,你做对了吗🤔

 看这有一个小点,对小数也可以进行取余

(2)增量运算符

+=     -=     *=      /=

在C语言我们就已经学过了,比较简单

a+=3也就相当于a=a+3

其他也类似,就不重点说了

有一个小的知识点注意一下,这个运算符只有变量才可以使用的

(3)自增自减运算符

++    --   a++;   ++a   b++     ++b     --a,   a--   ,--b    ,b---

public class TestDemo {
    public static void main(String[] args) {
        System.out.println(10%3);
        System.out.println(10%-3);
        System.out.println(-10%3);
        System.out.println(-10%-3);
        System.out.println(11.5/2.0);
        int a = 1;
        a++; // 后置++ 表示给a的值加1,此时a的值为2
        System.out.println(a++); // 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2
        System.out.println(a); // 输出3
        ++a;// 前置++ 表示给a的值加1
        System.out.println(++a); // 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5
        System.out.println(a); // 输出5
// -- *** 作符给 *** 作-1,与++含义类似


    }

 这一段代码就解释了自增自减运算符的用法

注意,这里一定一定要注意

如果单独使用,【前置++】和【后置++】没有任何区别
如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式
结束时给变量+1
只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

(4)关系运算符

关系运算符主要有6个

==      !=     >=     >       <=    <

计算结果是true 和false;

上代码!

public class TestDemo {
    public static void main(String[] args) {
        int a=1;
        int b=2;
        System.out.println(a==b);
        System.out.println(a!=b);
        System.out.println(a>=b);
        System.out.println(a<=b);
        System.out.println(a>b);
        System.out.println(a

看,结果只有true和false两种👀

(5)逻辑运算符

&&    ||    

逻辑与     逻辑或

在使用它们时,要记住,必须使用布尔表达式,有人就会有疑问,什么叫做布尔表达式,就是结果为true或者false 的表达式就是布尔表达式

语法规则:表达式1 && 表达式2,左右表达式必须是boolean类型的结果。

 

总结为一句话,全真则真。

当表达式1为真时,看第二个,如果第二个为假,则就为假,若第二个为真,这就为真,若第一个为假,后面的就不用看了,直接为假

这是上面的代码段的结果

逻辑 ||
语法规则:表达式1 || 表达式2,左右表达式必须是boolean类型的结果、

 

 学习要劳逸结合,欣赏以下小魏的涂鸦,哈哈哈 

这用一句话来说,有真则真

(6)位运算符与移位运算符

Java 中数据存储的最小单位是字节,而数据 *** 作的最小单位是比特位. 字节是最小的存储单位,每个字节是由8个二进制比特位组成的。

位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。

我们分别来学习一下

&:按位与

举例

           0110

           1011

结果    0010

按位与规则:两个位上都是1,结果才是1,不同就为0。

|:按位或

举例

            0110

            1011

结果     1111

按位或规则:两个位只要有1,那结果就是1

^:按位异或

举例

            0110

            1011

结果     0010

规则:只要对应位不一样,结果就是1

~:按位取反

规则:把0变成1,1变成0;

移位运算符

左移:<<

举例

11         00001011     向左移动1位

             00010110      11*2^1

            00101110        11*2^2

规律:左移n位类似于原来的数乘2的n次方

右移>>

11        00001011       向右移动1位

            00000101       11/2^1

            00000010       11/2^2

规律:右移n位类似于原来的数除以2的n次方

无符号右移>>>

无符号右移没有正负之分,补0即可

举例 

11111111

向右移动一位

01111111

没有无符号左移,没有意义,往右边补0或1,都对正负没有影响。

(7)条件运算符

表达式1 ? 表达式2 : 表达式3

表达式必须是布尔表达式

举例

boolean flg = false ? false : true == true ? true : false

此题结果为true

表达式一结果为假,则执行表达式三,表达式三结果为真,所以最终答案为true

8.运算符的优先级

运算符之间是有优先级的. 具体的规则我们不必记忆. 在可能存在歧义的代码中加上括号即可.

今天就到这里,我们下期再见啦!

 

             

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

原文地址: https://outofmemory.cn/langs/719519.html

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

发表评论

登录后才能评论

评论列表(0条)