新手了解java基础知识(二)

目录
  • 算数运算符
    • 例子
  • 关系运算符
  • 例子
  • 逻辑运算符
    • 例子
  • 赋值运算符
  • Java运算符优先级
  • 总结

算数运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

表格中的实例假设整数变量A的值为10,变量B的值为20:

操作符 描述
+ 加法 - 相加运算符两侧的值
- 减法 - 左操作数减去右操作数
* 乘法 - 相乘操作符两侧的值
/ 除法 - 左操作数除以右操作数
% 取余 - 左操作数除以右操作数的余数
++ 自增: 操作数的值增加1
- - 自减: 操作数的值减少1

例子

public static void main(String[] args) {
     int a = 10;
     int b = 20;
     int c = 25;
     int d = 25;
     System.out.println("a + b = " + (a + b) );
     System.out.println("a - b = " + (a - b) );
     System.out.println("a * b = " + (a * b) );
     System.out.println("b / a = " + (b / a) );
     System.out.println("b % a = " + (b % a) );
     System.out.println("c % a = " + (c % a) );
     System.out.println("a++   = " +  (a++) );
     System.out.println("a--   = " +  (a--) );
     // 查看  d++ 与 ++d 的不同
     System.out.println("d++   = " +  (d++) );
     System.out.println("++d   = " +  (++d) );
  }
  运行结果
  "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51196:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test
a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++   = 10
a--   = 11
d++   = 25
++d   = 27
Process finished with exit code 0

关系运算符

运算符 描述
== 检查如果两个操作数的值是否相等,如果相等则条件为真。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

例子

public static void main(String[] args) {
     int a = 10;
     int b = 20;
     System.out.println("a == b = " + (a == b) );
     System.out.println("a != b = " + (a != b) );
     System.out.println("a > b = " + (a > b) );
     System.out.println("a < b = " + (a < b) );
     System.out.println("b >= a = " + (b >= a) );
     System.out.println("b <= a = " + (b <= a) );
  }
  运行结果
"C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51452:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test
a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false
Process finished with exit code 0

逻辑运算符

操作符 描述
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
ll 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false

例子

 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));
  }

赋值运算符

赋值运算符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
<< = 左移位赋值运算符 C << = 2等价于C = C << 2
>> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
&= 按位与赋值运算符 C&= 2等价于C = C&2
^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
l= 按位或赋值操作符 C l = 2等价于C = C
  public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 0;
        c = a + b;
        System.out.println("c = a + b = " + c );
        c += a ;
        System.out.println("c += a  = " + c );
        c -= a ;
        System.out.println("c -= a = " + c );
        c *= a ;
        System.out.println("c *= a = " + c );
        a = 10;
        c = 15;
        c /= a ;
        System.out.println("c /= a = " + c );
        a = 10;
        c = 15;
        c %= a ;
        System.out.println("c %= a  = " + c );
        c <<= 2 ;
        System.out.println("c <<= 2 = " + c );
        c >>= 2 ;
        System.out.println("c >>= 2 = " + c );
        c >>= 2 ;
        System.out.println("c >>= 2 = " + c );
        c &= a ;
        System.out.println("c &= a  = " + c );
        c ^= a ;
        System.out.println("c ^= a   = " + c );
        c |= a ;
        System.out.println("c |= a   = " + c );
    }
运行结果为:
c = a + b = 30
c += a  = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a  = 5
c <<= 2 = 20
c >>= 2 = 5
c >>= 2 = 1
c &= a  = 0
c ^= a   = 10
c |= a   = 10
Process finished with exit code 0

Java运算符优先级

类别 操作 关联性
后缀 () [] . (点操作符) 左到右
一元 expr++ expr– 从左到右
一元 ++expr --expr + - ~ ! 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 > >= < <= 左到右
相等 == != 左到右
按位与 左到右
按位异或 ^ 左到右
按位或 l 左到右
逻辑与 && 左到右
逻辑或 ll 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = l= 从右到左
逗号 左到右

总结

本篇文章就到这里了,希望对你有所帮助,也希望你能多多关注我们的更多内容!

(0)

相关推荐

  • 新手了解java基础知识(一)

    目录 1.java基础 1.1Java历史 1.2Java特点 1.2.1 简单性 1.2.2 面向对象 1.2.3 分布式(微服务) 1.2.4 健壮性 1.2.5 安全性 1.2.6 体系结构中立 1.2.7 可移植性 1.2.8 高性能 1.2.9多线程 1.2.10 动态性 1.3Java基本数据类型 byte: short: int: long: float: double: boolean: char: 1.4例子 1.5基本数据类型的包装类 1.6强制类型转换 1.7隐含强制类型转

  • 新手学习java反射基础

    一.反射 反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 要想解剖一个类,必须先要获取到该类的字节码文件对象.而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.对于反射的操作实际上就是通过Class对象获取: *a.java.lang.reflect.Field:提供有关类或接口的单个

  • Java基础题新手练习(二)

    目录 数字9 出现的次数 源码 输出闰年 源码 打印素数 源码 判定素数 源码 年龄打印 源码 打印 X 图形 源码 猜数字游戏 源码 总结 数字9 出现的次数 编写程序数一下 1到 100 的所有整数中出现多少个数字9 源码 public static int Getnum(){ int count=0; for(int i=1;i<=100;i++){ if (i % 10 == 9) { count++; } if (i / 10 == 9) { count++; } } return c

  • Java基础题新手练习(一)

    目录 找出出现一次的数字 源码 斐波那契数 源码 求阶乘和 源码 求 N 的阶乘 源码 奇数位于偶数之前 源码 求和的重载 源码 总结 找出出现一次的数字 有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字 源码 public static int findNum(int arr []){ int n=0; for(int i =0;i<arr.length;i++){ n^=arr[i]; } return n; } 运行结果: 斐波那契数 求斐波那契数列的第n项.(迭代实现. 源

  • Java基础题新手练习(三)

    目录 水仙花数 源码 计算分数的值 源码 最大公约数 源码 二进制1的个数 源码 二进制序列 源码 模拟登陆 源码 输出一个整数的每一位 源码 输出乘法口诀表 源码 总结 水仙花数 求出0-999之间的所有"水仙花数"并输出.("水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本 身,如:153=1+5+3?,则153是一个"水仙花数".) 源码 public static void GetDaffodil(){ int j=0; int

  • 新手了解java基础知识(二)

    目录 算数运算符 例子 关系运算符 例子 逻辑运算符 例子 赋值运算符 Java运算符优先级 总结 算数运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样.下表列出了所有的算术运算符. 表格中的实例假设整数变量A的值为10,变量B的值为20: 操作符 描述 + 加法 - 相加运算符两侧的值 - 减法 - 左操作数减去右操作数 * 乘法 - 相乘操作符两侧的值 / 除法 - 左操作数除以右操作数 % 取余 - 左操作数除以右操作数的余数 ++ 自增: 操作数的值增加1 - - 自减

  • Java基础知识精通二维数组的应用

    目录 1.什么是二维数组 2.定义格式 3.二维数组的使用 4.二维数组的遍历 本文章主要讲二维数组定义,用法. 1.什么是二维数组 在二维数组多个元素为一维数组的数组就称为二维数组 2.定义格式 格式一: 元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度]: int[][] a = new int[3][2]; 解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素. 格式二: 元素的数据类型[][] 数组的名字 = new 元素的数据

  • Java基础知识杂文

    1.基本概念 IO是主存和外部设备(硬盘.终端和网络等)拷贝数据的过程.IO是操作系统的底层功能实现,底层通过I/O指令进行完成. 所有语言运行时系统提供执行I/O较高级别的工具.(c的printfscanf,java的面向对象封装) 2.Java标准io回顾 Java标准IO类库是io面向对象的一种抽象.基于本地方法的底层实现,我们无须关注底层实现.InputStream\OutputStream(字节流):一次传送一个字节.Reader\Writer(字符流):一次一个字符. 3.nio简介

  • 浅谈Java基础知识之BigDecimal

    一.基本使用 使用示例: // 初始化 BigDecimal bd1=new BigDecimal("456"); BigDecimal bd2=new BigDecimal("123"); // 加 BigDecimal add=bd1.add(bd2); // 减 BigDecimal subtract=bd1.subtract(bd2); // 乘 BigDecimal multiply=bd1.multiply(bd2); // 除 BigDecimal d

  • Java基础知识总结之继承

    一.继承的基本概念 什么是继承呢? 我们可以想一下,既然是"继承",那么它必须是在两个或多个类之间所发生的关系吧,这样我们就可以说:这个类继承自什么类,假如只有一个类的话,它既无法继承别的类,而且也没有别的类来继承它,这就构不成什么继承关系了哈,理清楚了这一层关系之后我们再来谈谈它继承了什么呢? 既然说什么什么类继承自什么什么类,那它肯定要从继承的那个类中继承点什么呀!我们把发生继承关系的这两个类称为父类和子类,子类可以继承父类的属性和方法,这个就是继承的基本概念,下面我们来系统的学习

  • Java基础知识精通块作用域与条件及switch语句

    目录 前言 块作用域 条件语句 格式一 格式二 格式三(常用) switch语句 前言 本文章主要讲解控制流程:块作用域.条件语句.switch语句,篇幅不大,通俗易记. 块作用域 在深入学习控制结构前,须先了解块的作用. 定义:由多条Java语句组成的语句,并用一对大括号括起来. 作用:块确定了变量的作用域,一个块可以嵌套在另一个块上. 实例: package decom1; public class cuowu { public static void main(String[] args)

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

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

  • Java基础知识精通注释与数据类型及常量与变量

    目录 一. 注释 1.简介 2.类型 1.单行注释 2.多行注释 3.文档注释 3.注意事项 二.数据类型 1.简介 2.整型 3.浮点类型 4.char类型 5.boolean类型 三.常量与变量 1.常量 2.变量 一. 注释 1.简介 注释就是一种解释程序的文本,提高代码的可读性,帮助我们查找错误,不会影响程序的运行,不用担心可执行代码变得多. 2.类型 1.单行注释 单行注释是最常用的,格式://注释的内容. 用法如下: package day1; public class Demo01

  • Java基础知识精通数组的使用

    目录 1.数组 2.数组定义格式 3.访问数组 4.遍历数组 前言:本文章正式踏入数组部分,今天来讲一下数组. 1.数组 数组是一组数据结构,用来储存一组相同类型值的集合. 数组就是一个容器. 数组就是个引用数据类型. 作用: 用来装数据,方便对数据进行管理操作. 特点: 一旦创建数组,就不能改变长度. 数组里面所有的元素的类型必须是相同数据类型的. 数组中既可以储存基本数据类型,也可以存储引用数据类型. 2.数组定义格式 格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[元素

随机推荐