JAVA语言导学笔记之语言基础知识(2)-运算符

原创 2018年04月17日 15:56:42

运算符

运算符优先级:

运算符 优先级
后缀 表达式++     表达式–
一元运算符 ++表达式 - -表达式 +表达式 -表达式 ~ !
乘法 * / %
加法 + -
移位 << >> >>>
关系 < > <= >= instanceof
等式 == !=
按位与 &
按位异或 ^
按位或 |
逻辑与 &&
逻辑或 ||
三元运算符 ? :
赋值 = += -= *= /= %= &= ^= |= <<= >>= >>>=

赋值运算符,算术运算符和一元运算符

简单赋值运算符

=

算术运算符

运算符 描述
+ 加法运算符(也用于字符串相连)
- 减法运算符
* 乘法运算符
/ 除法运算符
% 取模运算符

算术运算符和简单赋值运算符组合一起可以创建复合赋值运算符

一元运算符

运算符 描述
+ 一元加法运算符,表示正值(没有该运算符都表示正值)
- 一元减法运算符,表示否定表达式
++ 递增运算符,将值加1
    -
递减运算符,将值减1
! 逻辑非运算符,反转布尔值

等式运算符,关系运算符和条件运算符

等式运算符和关系运算符

运算符 描述
== 等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

条件运算符

运算符 描述
&& 条件与
|| 条件或
? : 三元运算符

类型比较运算符instanceof

instanceof运算符将对象与指定的类型进行比较,可用于测试对象是否为类的实例,子类实例或者实现接口的类的实例

位运算符和位移运算符

代码部分:

/**
 * 创建人:二次猿
 * 创建日期:2018年04月17日
 * 项目名称:JavaLanguage
 * JAVA语言导学笔记之语言基础知识(2)-运算符
 */
public class Operators {
    public static void main(String[] args) {
        //后缀
        int i = +1;//+号可以省略,表示正值
        int j = -3;//-号不能省略,表示负值
        boolean is = true;//布尔表达式
        boolean is2 = false;//布尔表达式
        System.out.println("表达式++:" + i++);//先赋值,后加1,输出为1,输出后i已变成2
        System.out.println("表达式--:" + i--);//先赋值,后减1,输出为2,输出后i已变成1
        //一元运算符
        System.out.println("++表达式:" + (++i));//先加1,后赋值,输出为2,输出后i已变成2
        System.out.println("--表达式:" + --i);//先减1,后赋值,输出为1,输出后i已变成1
        System.out.println("+表达式:" + (i + j));//计算表达式:1+(-3)=-2
        System.out.println("-表达式:" + (i - j));//计算表达式:1-(-3)=4
        System.out.println("~:" + ~i);//0和1互相置换+
        System.out.println("~:" + ~~i);//0和1互相置换+,所以再一次换回时就还原了值
        System.out.println("~:" + !is);//!is与is逻辑完全相反,is为true那么!is为false
        //乘法
        System.out.println("乘法:" + i * j);//计算表达式:1*(-3)=-3
        System.out.println("除法(本质依然是乘法,乘以某个数的倒数):" + i / j);//由于int定义的为整型,所以输出为0
        System.out.println("取模(同理)" + i % j);//计算表达式:1/(-3)的余数,余数为1,所以取模就为1
        //加法
        System.out.println("加法:" + (i + j));//字符串+与变量+是不同的,字符串的+表示连接,而变量的+表示加法操作符,所以如果和字符串连接表达式应使用小括号,否则会以字符串的格式输出,而不是表达式
        System.out.println("加法:" + i + j);//i和j都是字符串,而不是表达式,所以输出"1-3"字符串
        //移位
        System.out.println("带符号左移:" + (i << 2));//带符号左移,十进制中相当于计算表达式:1*2*2,二进制整体左移,右边补舍弃的部分
        System.out.println("带符号右移:" + (i >> 2));//带符号右移,十进制中相当于计算表达式:1/2/2,二进制整体右移,左边补舍弃的部分
        System.out.println("无符号右移:" + (i >>> 2));//无符号右移,二进制整体右移,左边补0
        //关系
        System.out.println("大于:" + (i > j));//i大于j吗?结果输出true
        System.out.println("大于等于:" + (i >= j));//i大于等于j吗?结果输出false,大于等于相当于(i>j)||(i==j)
        System.out.println("小于:" + (i < j));//i小于j吗?结果输出false
        System.out.println("小于等于:" + (i <= j));//i小于等于j吗?结果输出false,小于等于相当于(i<j)||(i==j)
        Integer I = i;
        System.out.println("instanceof:" + (I instanceof Object));//所有的类都继承于Object类
        //等式(注意JAVA语言中没有不等式)
        System.out.println("==:" + (i == j));//i与j如果相等就是true,否则false
        System.out.println("!=:" + (i != j));//i与j如果不相等就是true,否则false
        //按位与
        System.out.println("按位与:" + (i & j));
        //按位异或
        System.out.println("按位异或:" + (i ^ j));
        //按位或
        System.out.println("按位或:" + (i | j));
        //逻辑与
        System.out.println("逻辑与:" + (is && is2));
        //逻辑或
        System.out.println("逻辑或:" + (is || is2));
        //三位运算符
        System.out.println("三位运算符:" + (is ? is2 : is));
        //赋值
        i = 3;
        System.out.println("赋值:" + i);
        i += i;
        System.out.println("赋值:" + i);
        i -= i;
        System.out.println("赋值:" + i);
        i = 4;
        i *= i;
        System.out.println("赋值:" + i);
        i /= i;
        System.out.println("赋值:" + i);
        i = 12;
        i %= 5;
        System.out.println("赋值:" + i);
        i &= 5;
        System.out.println("赋值:" + i);
        i ^= 5;
        System.out.println("赋值:" + i);
        i |= 5;
        System.out.println("赋值:" + i);
        i <<= 5;
        System.out.println("赋值:" + i);
        i >>= 5;
        System.out.println("赋值:" + i);
        i >>>= 5;
        System.out.println("赋值:" + i);
    }
}

本人是一枚程序猿,如果觉得整理的不错,请关注个人微信公众号(扫一扫):

微信公众号技术推送
免费qq技术交流群(699712384)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HuYingZuo/article/details/79976126

零基础学软件之Java语言视频课程

-
  • 1970年01月01日 08:00

java语言导学

  • 2007年04月13日 06:51
  • 7.74MB
  • 下载

Java语言导学(原书第3版)

  • 2010年08月10日 21:19
  • 9.35MB
  • 下载

Java 语言导学(原书第3版)

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008-05-23 05:49:00
  • 160

【Java基础知识】Java语言的运行过程

Java语言的运行过程 计算机高级语言运行分为两种:编译型和解释型。 编译型是指用特定的编译器,针对特定的平台(操作系统)把代码编译成可被该平台硬件执行的机器码(机器指令和操作数),编译好的语言可...
  • u010583599
  • u010583599
  • 2016-07-05 14:45:44
  • 417

(一)语言基础——JAVA语言

JAVA基础名词 JDK(Java Development Kit):Java开发工具,包括JRE; JRE(Java Runtime Environment):Java运行环境,包括JVM; J...
  • dlmacr
  • dlmacr
  • 2017-03-28 13:00:59
  • 3708

JAVA语言导学笔记之语言基础知识(2)-变量

变量 命名 原始数据类型 默认值 文字 整数文字 浮点文字 字符和字符串文字 在数字文字中使用下划线字符 数组 声明一个变量来引用一个数组 创建、初始化和访问数组 复制数组 数组操作 ...
  • HuYingZuo
  • HuYingZuo
  • 2018-04-09 21:23:25
  • 23

JAVA语言导学笔记之语言基础知识(2)-表达式,语句和块

表达式,语句和块 表达式 表达式是由变量,运算符和方法调用(根据语法创建)等组成的构造,且表达式的计算结果为单值; 如下黑体字所示: int cadence = 0;...
  • HuYingZuo
  • HuYingZuo
  • 2018-04-18 17:22:09
  • 12

《java语言导学》课件

  • 2010年04月02日 21:24
  • 675KB
  • 下载

如何从零开始学习Java语言

1、如何从零开始学习Java语言  许多朋友在学习新的语言上有些困惑,如何学好Java语言。 如何学好Java语言,分二种技术人员 1)第一种:有编程语言的技术人员  IT行业的朋友,应为本事就有编程...
  • KasthSoft
  • KasthSoft
  • 2015-06-29 21:42:42
  • 2286
收藏助手
不良信息举报
您举报文章:JAVA语言导学笔记之语言基础知识(2)-运算符
举报原因:
原因补充:

(最多只允许输入30个字)