一文学会Java运算符的使用

目录
  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 赋值运算符
  • 条件运算符
  • 运算符优先级

算术运算符

运算符 描述
+ 两数相加
- 两数相减
* 两数相乘
/ 两数相除
% 取模,返回两数相除的余数
++ 自加一
- - 自减一
public class User {
    public static void main(String[] args) {
        int a = 20;
        int b = 10;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);
        System.out.println(b % a);
    }
}

输出:

30
10
200
2
10

++,- -运算符

当++、- -出现在变量之前,先自加、自减1,再做赋值运算

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

当++,- -出现在变量之后,先做赋值运算,再自加、自减1

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

扩展

+运算符有两个作用

①求和

public class User {
    public static void main(String[] args) {
        System.out.println(3 + 4);// 7
    }
}

②字符串拼接

public class User {
    public static void main(String[] args) {
        System.out.println("Hello" + "Java" + "World");// HelloJavaWorld
    }
}

关系运算符

运算符 描述 结果
== 判断值是否相等 是返回true,不是返回false
!= 判断值是否不相等 是返回trut,不是返回false
>= 判断左边的值是否大于等于右边 是返回true,不是返回false
<= 判断左边的值是否小于等于右边 是返回true,不是返回false
> 判断左边的值是否大于右边 是返回true,不是返回false
< 判断左边的值是否小于右边 是返回true,不是返回false
public class User {
    public static void main(String[] args) {
        int a = 20;
        int b = 10;
        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);
    }
}

输出:

false
true
true
false
false
true

逻辑运算符

运算符 描述 结果
& 两边都为True,结果才为True
有一边为True,结果就为True
真值变假,假值变真
&& 逻辑与 两边都为True,结果才为True
││ 逻辑或 有一边为True,结果就为True
public class User {
    public static void main(String[] args) {
    boolean a1 = true;
    boolean a2 = false;
    System.out.println(a1 && a2);
    System.out.println(a1 || a2);
    System.out.println(!a1);
    }
}

输出:

false
true
false

与&和逻辑与&&

public class User {
    public static void main(String[] args) {
        // 与&
        int a = 0;
        int b = 1;
        // 当左边表达式为false,右边的表达式依旧会执行
        System.out.println(a > b & b > a++);// false
        System.out.println(a); // 1

        // 逻辑与&&
        int c = 0;
        int d = 1;
        // 当左边的表达式为false,右边的表达式不执行(短路现象)
        System.out.println(c > d && d > c++);// false
        System.out.println(c); // 0
    }
}

或|和逻辑或||

public class User {
    public static void main(String[] args) {
        // 或|
        int a = 0;
        int b = 1;
        // 当左边表达式为true,右边的表达式依旧会执行
        System.out.println(a < b | b > a++);// true
        System.out.println(a); // 1

        // 逻辑或||
        int c = 0;
        int d = 1;
        // 当左边的表达式为true,右边的表达式不执行(短路现象)
        System.out.println(c < d || d > c++);// true
        System.out.println(c); // 0
    }
}

总结

与&和或|要对所有条件都进行判断(无论左边是真假,右边都会执行)

逻辑与 &&当左边的表达式为false,右边的表达式不执行

逻辑或 || 当左边的表达式为true,右边的表达式不执行

什么时候使用&&,什么时候使用&

从效率方面来说,&&比&的效率高一些。

因为与&不管第一个表达式结果是什么,第二个表达式一定会执行。

大部分情况下都建议使用短路与&&,只有当既需要左边表达式执行,又需要右边表达式执行的时候,才会选择与&。

赋值运算符

运算符 描述
= 直接赋值
+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除后赋值
%= 取模后赋值
public class User {
    public static void main(String[] args) {
    int a = 2;
    int b = 1;
    System.out.println(a += b);//a = a + b
    System.out.println(a -= b);//a = a - b
    System.out.println(a *= b);//a = a * b
    System.out.println(a /= b);//a = a / b
    System.out.println(a %= b);//a = a % b
    }
}

输出:

3
2
2
2
0

条件运算符

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

先判断表达式1的值,若为真则将表达式2的值做为整个表达式的值;若为假则将表达式3的值做为整个表达式的值。

举个栗子:判断a和b的大小,a>b如果成立max=a的值,不成立则max=b的值

public class User {
    public static void main(String[] args) {
        int a = 1, b = 2;
        int max;
        max = a > b?a:b;
        System.out.println(max);
    }
}

输出:

2

运算符优先级

Java中用到的运算符除了上面介绍的常用的赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符以外,还有其他的运算符。当一个表达式出现多种运算符符号,会按照运算符的优先级来决定运算顺序,Java中运算符优先级见下表

运算符 描述 优先级
[] () . , ; 分隔符 1
Instanceof ++ - - ! 对象归类、自增自减、非运算 2
* / % 算术乘除运算 3
+ - 算术加减运算 4
>> << >>> 移位运算 5
< <= > >= 大小关系运算 6
== != 相等关系运算 7
& 按位与运算 8
^ 按位异或运算 9
按位或运算 10
&& 逻辑与运算 11
││ 逻辑或运算 12
? : 三目条件运算 13
= += -= *= /= &= 赋值运算 14

到此这篇关于一文学会Java运算符的使用的文章就介绍到这了,更多相关Java运算符内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 一起来学习JAVA的运算符

    目录 一.赋值运算符 二.复合赋值运算符 三.算数运算符 四.关系运算符 五.自运算符 六.逻辑运算符 七.条件运算符(三元运算符) 总结 运算符优先级表: 一.赋值运算符 运算符:[=] 含义:把等于号右边的值赋给左边的变量. 例: public class test3 { public static void main(String[] args) { //赋值运算符:把10赋给a1,15赋给a2,20赋给a3,"阿伟死了"赋给a4. int a1 = 10; int a2 = 1

  • 详解JAVA之运算符

    目录 一.算术运算符 二.赋值运算符 三.自增自减运算符 四.关系运算符 五.逻辑运算符 六.三元运算符 七.数据输入 总结 一.算术运算符 运算符:常见的±*/等 表达式:运算符连接起来符合java语法的式子,比如a+b 算术运算符:+ - * / % 注:要想得到小数,里面要有浮点数参与 在print的时候,char和int是根据ASCII码进行转换的 字符串的"+",是字符串连接符,也就是拼接 二.赋值运算符 赋值运算符:a=10,不要说a等于10,而要说将10赋值给变量a 注:

  • Java基础知识精通各种运算符

    目录 前言 一.算数运算符 1.简介 2.运用 + - * / % 二.自增自减运算符 ++ – 三.赋值运算符 四.关系运算符 五.逻辑运算符 &(单与) | (单或) ^(异或) !(非) &&(双与) || (双或) 六.位运算符 七.三元运算符 前言 本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂. 一.算数运算符 1.简介 再Java中,使用算术运算符 +.-.*./.%分别代表加减乘除,取模. 2.运用 + 在java中+有三种:1.正常的运算.2.作为正负

  • Java 运算符详情

    目录 1.算术运算符 2.关系运算符 3.逻辑运算符 4.位运算符 5.赋值运算符 6.条件运算符 7.instanceof 运算符 Java 中的运算符与 C 语言基本一致. 1.算术运算符 操作符 描述 例子 + 加法 : 相加运算符两侧的值 A + B 等于 30 - 减法 : 左操作数减去右操作数 A – B 等于 -10 * 乘法 : 相乘操作符两侧的值 A * B 等于200 / 除法 : 左操作数除以右操作数 B / A 等于2 ++ 自增: 操作数的值增加1 B++ 或 ++B

  • 一起学JAVA基础之运算符

    目录 1运算符 1.1概述 1.2运算符速查表 1.3练习:测试自增自减 1.4练习:测试逻辑运算符 1.5练习:求两数的最大值 1.6练习:求平年闰年 2拓展补充: 2.1总结1:算术运算符之自增自减运算符 2.2总结2:逻辑运算符 2.3总结3:优先级控制 总结 1 运算符 1.1 概述 运算符 用于连接 表达式 的 操作数,并对操作数执行运算. 例如,表达式num1+num2,其操作数是num1和num2,运算符是”+”. 在java语言中,运算符可分为5种类型: 算术运算符.赋值运算符.

  • Java中的运算符你知道多少

    目录 1.算术运算符 1.基本的算数运算符:+-*/% 2.增量运算符**+=-=/= =%=* 3.自增自减运算符++–-- 2.关系运算符 3.逻辑运算符 4.位运算符 5.条件运算符 6.运算符的优先级 总结 1.算术运算符 1.基本的算数运算符:+ - * / % 规则比较简单,但是需要注意的是除法:a). int / int结果还是int,需要使用double来计算. int a = 1; int b = 2; System.out.println(a/b);//结果为0 b). 0不

  • 一篇文章让你弄懂Java运算符

    目录 1. 运算符是什么? 1.1 定义: 1.2 常见运算符的概述 1.3 表达式 1.3.1 定义 1.3.2 表达式的类型 2. 算数运算符 2.1 分类: 2.2 基本四则运算符:加减乘除模(+ - * / %) 2.3 增量运算符(+= -= *= %=…) 2.4 自增/自减运算符(++,–) 3. 关系运算符 4. 逻辑运算符 4.1 &&:逻辑与,并且 4.2 ||:逻辑或,或者 4.3 !:逻辑非,表示否定 4.4 短路求值 5. 位操作符 5.1 按位与& 5.

  • 一文学会Java运算符的使用

    目录 算术运算符 关系运算符 逻辑运算符 赋值运算符 条件运算符 运算符优先级 算术运算符 运算符 描述 + 两数相加 - 两数相减 * 两数相乘 / 两数相除 % 取模,返回两数相除的余数 ++ 自加一 - - 自减一 public class User { public static void main(String[] args) { int a = 20; int b = 10; System.out.println(a + b); System.out.println(a - b);

  • 教你如何轻松学会Java快慢指针法

    一.什么是快慢指针? 快慢指针就是定义两根指针,移动的速度一快一慢,以此来制造出自己想要的差值.这个差值可以让我们找到链表上相应的节点. 那快慢指针可以解决哪些实际问题呢,接下来我们一起看看吧! 二.使用快慢指针来找到链表的中点 1.首先我们设置两个指针slow和fast,这2个指针的初始位置相同,都指向链表的头结点,然后slow指针每次移动一步,fast指针每次移动两步: 2.如果链表中节点个数为偶数时,当快指针无法继续移动时,慢指针刚好指向中点:如果链表中节点个数为奇数时,当快指针走完,慢指

  • 一文学会Hadoop与Spark等大数据框架知识

    目录 一个实际的需求场景:日志分析 Hadoop Hadoop的生态坏境 Spark Spark整体架构 Spark核心概念 Spark的核心组件 海量数据的存储问题很早就已经出现了,一些行业或者部门因为历史的积累,数据量也达到了一定的级别.很早以前,当一台电脑无法存储这么庞大的数据时,采用的解决方案是使用NFS(网络文件系统)将数据分开存储.但是这种方法无法充分利用多台计算机同时进行分析数据. 一个实际的需求场景:日志分析 日志分析是对日志中的每一个用户的流量进行汇总求和.对于一个日志文件,如

  • 一文探索Java文件读写更高效方式

    目录 背景 场景分析 场景1:小文件单文件压缩 方式1:网上流传(流传在坊间的神话,其实是带刺的玫瑰) 方式2:使用缓冲区 方式3:使用通道 方式4:使用mmp 场景2:大文件单文件压缩 场景3:大文件多文件压缩 分析结论 背后机密 1.网上流传方法 2.使用缓冲区 3.使用通道 4.使用mmp 背景 最近在探秘kafka为什么如此快?其背后的秘诀又是什么? 怀着好奇之心,开始像剥洋葱 一样逐层内嵌.一步步揭晓kafka能够吊打mq的真因.了解之后不得不说kafka:yyds. 了解到顺序存盘的

  • JAVA 运算符归纳总结

    以下是对java运算符的归纳总结: 一.算术运算符 注意:不建议在其他表达式的内部使用++.–,这样很容易让人困惑 实例: int x = 1427; x = x / 1000;//运行结果x=1,两int型运算结果仍为int型 // % 又叫取余 补充: System.out.print();//打印后,不换行. System.out.println();//打印后,换行 二.逻辑运算符 总结:(false-假.true-真) 与:一假即假 或:一真即真 异或:不同为真 非:取反 短路与:先计

  • 详解java==运算符和equals()方法的区别

    Java语言程序中判断两个变量是否相等有两种方式:一是运用==运算符,二是运用equals方法. 1. ==运算符 对于==运算符来说,如果两个变量是基本类型的,并且是数值类型,则只要它们的值相等,就会返回true:然而如果是两个引用类型的变量,则分为两种情况:1)它们指向同一个对象,结果返回true:2)它们指向不同的对象,即使对象内容相同,结果还是返回false:下面程序示范了使用==运算符比较两个变量是否相等的结果: public class Test { public static vo

  • java运算符实例用法总结

    四则运算符 四则运算当中的加号"+"有常见的三种用法: 1.对于数值来,那就是加法. 2.对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算.char类型字符,和int类型数字之间的对照关系比表:ASCII,Unicode 3.对于字符串String(首字母大写,并不是关键字)来,加号代表字符串连操作.任何数据类型和字符串进行连接的时候,结果都会变成字符串 自增运算符:++ 自减运算符:-- 基本含义:让一个变量涨一个数字,或者让一个变量降一个数字1 使用格式

  • Java运算符的常见问题与用法小结

    本文实例讲述了Java运算符的常见问题与用法.分享给大家供大家参考,具体如下: 算术运算符: 算术运算符的注意问题 1. 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1.但被模数是负数就另当别论. -5%3=-2:-5%-3=-2:符号跟被模数(左边). 2. 对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分. 例如:int x=3510;x=x/1000*1000; x的结果是? 3000 而3560.0/1000*1000=35

  • 一文秒懂java到底是值传递还是引用传递

    首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语.按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址.一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值. 它用来描述各种程序设计语言(不只是 Java)中方法参数传递方式. Java 程序设计语言总是采用按值调用.也就是说,方法得到的是所有参数值的一个拷贝,也就是说,方法不能修改传递给它的任何参

  • 一文解开java中字符串编码的小秘密(干货)

    简介 在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8,并且探讨一下UTF-8和变种UTF-8在java中的应用. 一起来看看吧. Unicode的发展史 在很久很久以前,西方世界出现了一种叫做计算机的高科技产品. 初代计算机只能做些简单的算数运算,还要使用人工打孔的程序才能运行,不过随着时间的推移,计算机的体积越来越小,计算能力越来越强,打孔已经不存在了,变成了人工编写的计算机语言. 一切都在变化,唯有一件事情没有变化.这件事件就是计

随机推荐