Java中的运算符

简介: 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<b);
    }


93e371f7f1e646209beb996f62f06b9b.png

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


(5)逻辑运算符


&&    ||    

逻辑与     逻辑或

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


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

 

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

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


b30bb645e99d4ee0aa5c73d09d77b6e7.png


这是上面的代码段的结果

逻辑 ||

语法规则:表达式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.运算符的优先级


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

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


相关文章
|
2月前
|
Java C++
Java基础之运算符
Java运算符包括算术、赋值、关系、逻辑、条件和类型等,如加减乘除、自增自减(前缀++n/后缀n++)、赋值(+/-/*/=等)、比较(==/!=/&gt;/&lt;等)、逻辑(&&/||/!)和三元运算符。自增前后缀的区别在于赋值顺序。初面常问:=与==的区别(赋值vs比较),==与equals()(引用vs内容比较),&&与&(短路逻辑与vs按位与)。
19 2
|
12天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5
|
1月前
|
安全 Java 测试技术
day16:Java零基础-instanceof 运算符
【7月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 8
|
1月前
|
Java 测试技术
day14:Java零基础-条件运算符
【7月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
26 3
|
1月前
|
Java 测试技术 开发者
day15:Java零基础-赋值运算符
【7月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 1
|
2月前
|
Java
哇塞!Java 基本语法的运算符,你真的懂了吗?算术运算符篇
【6月更文挑战第14天】Java中的算术运算符是编程基础,包括加法`+`(用于数字相加和字符串拼接)、减法`-`、乘法`*`、除法`/`(需防除数为零)和取余`%`。它们在计算位移、周期性问题等场景中广泛应用。理解并熟练掌握这些运算符,能提升编程效率和代码质量。现在就开始实践,发掘它们的更多可能性吧!
23 3
|
2月前
|
Java 程序员 API
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
|
2月前
|
算法 Java
炸裂!Java 基本语法的运算符世界,等你来探索!算术运算符特辑
【6月更文挑战第14天】Java中的算术运算符是基础关键,如加法&quot;+&quot;用于数字相加和字符串拼接,减法&quot;-&quot;求差,乘法&quot;*&quot;相乘,除法&quot;/&quot;注意整数除法会舍去小数,浮点数则保留,取模&quot;%&quot;)返回除法余数。熟练掌握这些运算符能提升编程效率,构建复杂逻辑。继续探索Java运算符世界,创造更多精彩程序!
18 1
|
2月前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
28 0
|
2月前
|
Java
Java中的左移运算符及其在实现加法效果上的应用
Java中的左移运算符及其在实现加法效果上的应用
17 0