JAVA入门教程运算符和表达式

运 算 符 指 明 对 操 作 数 所 进 行 的 运 算 。 按 操 作 数 的 数 目 来 分 ,可 以 有 一 元 运 算 符 (如 ++、

-),二 元

运 算 符 (如 +、 >)和 三

元 运 算 符 (如 ?:),它 们 分 别 对 应 于 一 个 、 两 个 和 三 个 操 作 数 。 对

于 一

元 运 算 符 来 说 ,可 以

有 前 缀 表 达 式 (如 ++i )和 后 缀 表 达 式 (如 i++),对 于 二 元 运 算 符 来 说 则

采 用

中 缀 表 达 式 (如 a+b)。 按

照 运 算 符 功 能 来 分 ,基 本

的 运 算 符 有 下 面 几 类 :

1.算 术

运 算 符 (+,-,*,/,%,++,--)

2.关 系

运 算 符 (>,<,>=,<=,==,!=)

3.布 尔

逻 辑 运 算 符 (!,&&,||)

4.位 运

算 符 (>>,<<,>>>,&,|,^,~ )

5.赋 值

运 算 符 (=,及

其 扩 展 赋 值 运 算 符 如 +=)

6.条 件

运 算 符 ( ?:)

7.其 它 (包 括

分 量 运 算 符 · ,下

标 运 算 符 [],实 例

运 算 符 instanc eof,内 存 分 配 运 算 符 new,强

制 类

型 转

换 运 算 符 (类 型 ),方 法

调 用 运 算 符 () 等 )

本 章

中 我 们 主 要 讲 述 前 6类 运

算 符 。

§ 3.1算 术

运 算 符

算 术

运 算 符 作 用 于 整 型 或 浮 点 型 数 据 ,完 成

算 术 运 算 。

一 、

二 元 算 术 运 算 符 ,如

下 表 所 示

运算符 用法

描述

+ op1+op2 加

- op1-op2 减

* op1*op2 乘

/ op1/op2 除

% op1%op2 取模(求余)

Java对 加

运 算 符 进 行 了 扩 展 ,使 它

能 够 进 行 字 符 串 的 连 接 ,如

"abc"+"de",得 到 串 "abcde"。 我

们 将

在 第 七 章 中 讲 解 。

与 C、 C++不

同 ,对

取 模 运 算 符 %来

说 ,其

操 作 数 可 以 为 浮 点 数 , 如 37.2%10=7.2。

二 、

一 元 算 术 运 算 符 ,如

下 表 所 示 :

运算符 用法

描述

+ +op 正值

- -op 负值

++ ++op,op++ 加1

-- --op,op-- 减1

i++与 ++i的 区 别

i++在 使

用 i之

后 ,使 i的 值

加 1,因

此 执 行 完 i++后 ,整 个 表 达 式 的 值 为 i,而 i的 值 变 为 i+1。

++i在 使

用 i之

前 ,使 i的 值

加 1,因

此 执 行 完 ++i后 ,整 个 表 达 式 和 i的 值

均 为 i+1。

对 i--与 --i同

样 。

例 3.1.下 面 的 例 子 说 明 了 算 术 运 算 符 的 使 用

public class ArithmaticOp{

public static void main( String args[] ){

int a=5+4; //a=9

int b=a*2; //b=18

int c=b/4; //c=4

int d=b-c; //d=14

int e=-d; //e=-14

int f=e%4; //f=-2

double g=18.4;

double h=g%4; //h=2.4

int i=3;

int j=i++; //i=4,j=3

int k=++i; //i=5,k=5

System.out.println("a = "+a);

System.out.println("b = "+b);

System.out.println("c = "+c);

System.out.println("d = "+d);

System.out.println("e = "+e);

System.out.println("f = "+f);

System.out.println("g = "+g);

System.out.println("h = "+h);

System.out.println("i = "+i);

System.out.println("j = "+j);

System.out.println("k = "+k);

}

}

其结果为:

C:\>java

ArithmaticOp

a = 9

b = 18

c = 4

d = 14

e = -14

f = -2

g = 18.4

h = 2.4

i = 5

j = 3

k = 5

§ 3.2关 系

运 算 符

关 系

运 算 符 用 来 比 较 两 个 值 ,返 回

布 尔 类 型 的 值 true或 false。 关 系 运 算 符 都 是 二 元 运 算

符 ,如 下 表 所 示 :

运算符 用法

返回true的情况

> op1>op2 op1大于op2

>+ op1>=op2 op1大于或等于op2

< op1<op2 op1小于op2

<= op1<=op2 op1小于或等于op2

== op1==op2 op1与op2相等

!= op1!=op2 op1与op2不等

Java中 ,任 何 数 据 类 型 的 数 据 (包

括 基 本 类 型 和 组 合 类 型 )都 可

以 通 过 ==或 !=来 比

较 是 否

相 等 (这 与 C、 C++不 同 )。

关 系

运 算 的 结 果 返 回 true或 false,而 不 是 C、 C++中 的 1或 0。

关 系

运 算 符 常 与 布 尔 逻 辑 运 算 符 一 起 使 用 ,作 为

流 控 制 语 句 的 判 断 条 件 。 如

if( a>b &&

b==c)

§ 3.3布 尔

逻 辑 运 算 符

布 尔

逻 辑 运 算 符 进 行 布 尔 逻 辑 运 算 ,如

下 表 所 示 :

op1 op2 op1&&op2 op1||op2 !op1

false false false false true

false true false true true

true false false true false

true true true true false

}@@@

·&&、‖为二元运算符,实现逻辑与、逻辑或。

·! 为一元运算符,实现逻辑非。

·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表

达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式

的值为false,则不必对右边的表达式求值,整个表达式的结果为false。

下面的例子说明了关系运算符和布尔逻辑运算符的使用。

@@@[

public class RelationAndConditionOp{

public static void main( String args[] ){

int a=25,b=3;

boolean d=a<b; //d=false

System.out.println("a<b = "+d);

int e=3;

if(e!=0 && a/e>5)

System.out.println("a/e = "+a/e);

int f=0;

if(f!=0 && a/f>5)

System.out.println("a/f = "+a/f);

else

System.out.println("f = "+f);

}

}

其运行结果为:

C:\>java

RelationAndConditionOp

a<b = false

a/e = 8

f = 0

注 意 :上 例

中 ,第

二 个 if语 句

在 运 行 时 不 会 发 生 除 0溢

出 的 错 误 ,因 为 e!=0为 false,所 以 就 不 需

要 对 a/e进 行

运 算 。

§ 3.4位 运

算 符

位 运

算 符 用 来 对 二 进 制 位 进 行 操 作 ,Java中 提 供 了 如 下 表 所 示 的 位 运 算 符 :

位 运

算 符 中 ,除

~ 以 外 ,其

余 均 为 二 元 运 算 符 。

操 作

数 只 能 为 整 型 和 字 符 型 数 据 。

3.4.1补

Java使 用

补 码 来 表 示 二 进 制 数 ,在

补 码 表 示 中 ,最

高 位 为 符 号 位 ,正 数

的 符 号 位 为 0,负

为 1。 补 码 的 规 定 如 下 :

对 正

数 来 说 ,最

高 位 为 0,其

余 各 位 代 表 数 值 本 身 (以

二 进 制 表 示 ),如 +42的 补

码 为

00101010。

对 负

数 而 言 ,把

该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后

对 整 个 数 加 1,即

得 该 数 的 补 码 。 如

-42的 补

码 为 11010110 (00101010 按 位 取 反 11010101 +1 11010110 )

用 补

码 来 表 示 数 ,0的

补 码 是 唯 一 的 ,都 为 00000000。 (而 在

原 码 ,反 码

表 示 中 ,+0和 -0的 表

是 不

唯 一 的 ,可

参 见 相 应 的 书 籍 )。

而 且 可 以 用 111111表 示 -1的 补

码 (这

也 是 补 码 与 原 码 和 反

码 的

区 别 )。

3.4.2按

位 取 反 运 算 符 ~

~ 是

一 元 运 算 法 ,对

数 据 的 每 个 二 进 制 位 取 反 ,即

把 1变

为 0,把 0变 为 1。

例 如 :

0010101

1101010

注 意 ,~ 运

算 符 与 - 运

算 符 不 同 ,~ 21≠ -21。

3.4.3按

位 与 运 算 符 &

参 与

运 算 的 两 个 值 ,如 果

两 个 相 应 位 都 为 1,则

该 位 的 结 果 为 1,否 则

为 0。

即 :

0 & 0 = 0,0 &1 = 0,1 & 0 = 0,1 & 1 = 1

0010101 java_JAVA入门教程运算符和表达式相关推荐

  1. java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组

    java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...

  2. 除号java_Java基础教程-运算符

    所谓运算符,就好比日常生活中的运算符号"+"."-"."*"."/",这些符号几乎天天都要用到.在Java中,运算符就和 ...

  3. 【Delphi入门】运算符与表达式

    运算符 Delphi 7.0 有 8 类运算符 算术运算符 取正.取负:+.- 加减乘除:/ 与 C++ 中不同,除法得到的是实型数据 整除:div 取余:mod 字符串运算符 "+&quo ...

  4. python入门之一运算符与表达式:第一关正确写出表达式

    #(1)从测试集获取整数数值a,b,c,d,e a=int(input())                            #输入a并转换为整型 b=int(input())         ...

  5. 鸡啄米:C++编程入门系列之五(运算符和表达式)

    转载自: http://www.jizhuomi.com/software/32.html 上一讲鸡啄米给大家讲了一些数据类型,这一讲主要讲解编程入门知识-运算符和表达式.运算符,顾名思义,就是用于计 ...

  6. 取得数组下标_《零基础C++入门教程》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<零基础看得懂的C语言入门教程>--(二) ...

  7. 【python教程入门学习】Python的运算对象、运算符、表达式和语句

    编程的本质就是数据和运算,数据由基本数据类型.数据结构来表示,运算就是对这些数据的各种操作,基本的加减乘除.是非判断.流程控制等等.这些操作就是今天我们要讲的运算符.表达式和语句. 前面我们学习Pyt ...

  8. 《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

    一.学习目标 了解变量之间的计算 了解什么是表达式 了解什么是自增.自减 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和 ...

  9. ES6 入门教程 9 数组的扩展 9.1 扩展运算符

    ES6 入门教程 ECMAScript 6 入门 作者:阮一峰 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录 ES6 入门教程 9 数组的扩展 9.1 扩展运算符 9.1.1 含义 9.1 ...

最新文章

  1. vscode 终端 进入node_安装了Node.js 从VScode 使用node -v 和 npm -v等命令却无效
  2. matlab 灰色预测(有点离谱)
  3. 【PC工具】文件压缩解压工具winrar解压缩装机必备软件,winRAR5.70免费无广告
  4. 执行SQL-获取缓存
  5. ES6 (总结篇二)
  6. codeblocks如何导入项目_T3如何利用系统工具导入导出复制存货档案
  7. Redis锁的简单应用
  8. [安卓] 14、安卓HTTP——POST和GET用法分析
  9. 21秋期末考试工程项目管理10324k2
  10. idea解決tomcat乱码问题
  11. 关于多目标跟踪的一点理解
  12. 东师《《证据法学》》在线作业一二三离线作业网考
  13. i12蓝牙耳机怎么设置成中文_耳朵里的小精灵——乐迈车载智能蓝牙耳机
  14. 北京飞漫软件魏永明:浏览器技术与三网融合
  15. keepalived高可用集群实战项目
  16. Python moviepy 快速视频剪辑编辑神器
  17. 用python播放声音文件(mp3、wav、m4a等)
  18. CSS初始化样式应该怎么写
  19. 提高win7系统运行速度的方法
  20. 【谈天说地】巴洛克建筑

热门文章

  1. python3.6串口编程实例_使用python3实现操作串口详解
  2. Python学习入门基础:一篇文章搞定函数基础、函数进阶
  3. Python爬虫开发:反爬虫措施以及爬虫编写注意事项
  4. Mybatis入门(一)
  5. 【CCF】201903-1小中大
  6. 如何快速查找下载java项目所需jar包
  7. 添加附件列表的方法 (数组或)arraylist为datalist的datasource时 datalist中的绑定方式
  8. jQuery学习笔记之jQuery的DOM操作
  9. Win7下VS2008进入维护模式不能显示升级输入框,无法升级到正式版~~~!!!
  10. 网页边框和网页文字阴影