java 运算符_详解Java表达式与运算符

课程导言

【变量的赋值与计算都离不开表达式,表达式的运算依赖于变量、常量和运算符。本节课讨论Java的表达式的构成、常量的定义、运算符的分类及应用。通过本课的学习你将掌握运用表达式和运算符完成变量赋值、条件判断、数学运算、逻辑运算等功能操作】

在讲述课程内容之前,先看一个求圆面积的问题。求圆面积的公式为;

8c2caada5efcf75c033a57a4fa9b1a3d.png

其中S为圆面积,π为圆周率,r为半径。

假设用程序来计算圆的面积,S、π、r均为变量,省略的乘号为运算符,r的2次方可以描述为r*r。则上面的公式即为求圆面积的表达式。

结合上面的案例,本节课程分为三个小节,第一小节探讨不能修改的变量—常量;第二小节探讨表达式的组成结构及运用;第三小节探讨Java的基本运算符,包括赋值运算符、算术运算符、关系运算符和逻辑运算符。

第一小节 不能修改的变量——常量

在求圆面积的表达式中,π为圆周率,它是一个不变的量,在程序运行过程中不能被修改。常量同变量一样,也占用存储单元的空间。常量的不可修改性提高了程序的稳定性,同时也提高了程序代码的可维护性。例如,可以把π定义为常量,当程序需要π参与运算时,直接调用定义的常量π即可。

在java语言中,定义常量的语法如下:

final 数据类型 常量名称 = 值;

其中,final是Java关键字,数据类型可以是Java语言支持的任何数据类型。

例如,下面的语句把圆周率定义为常量:

final double Pl = 3.14;

Java关键字是Java语言保留的一类标识符,它们用来标识一种数据类型或者程序的结构,Java关键字不能用于变量名、方法名、类名等命名。

第二小节 Java表达式

求圆面积的公式就是一个表达式,其中S、π、r为变量或常量,省略的乘号为运算符,r的2次方可以描述为r*r。求圆面积的表达式为:

S =π* r *r;

表达式是由变量、常量和运算符的组合,它执行计算并返回计算结果。在表达式中运算符作用的变量或常量称为操作数。在求圆面积的表达式中,乘号(*)为运算符,π和r为操作数。

在一些复杂的运算中,简单的表达式可以组合为复杂的表达式,其操作数本身可能就是一个表达式。例如:

(num1+num2)*(x+y)

上面的表达式中,运算符乘号(*)两边的操作数(num1+num2)和(x+y)本身就是一个表达式。表达式的计算结果一般为数值,如果表达式是一个关系表达式或逻辑表达式,表达式会返回一个布尔值,即真或假。

根据运算符的不同,可以把表达式分为赋值表达式、算术表达式、关系表达式和逻辑表达式。赋值表达式用于把等号右边的操作数赋值给等号左边的变量;算术表达式用于数值运算;关系表达式用于条件判断;逻辑表达式用于逻辑操作。

第三小节 Java运算符

运算符用于连接表达式的操作数,并对操作数执行运算。例如,表达式num1+num2,其操作数是num1和num2,运算符是”+”。在java语言中,运算符可分为5种类型:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。

根据操作数的不同,运算符又分为单目运算符、双目运算符和三目运算符。单目运算符只有一个操作数,双目运算符有两个操作数,三目运算符则有三个操作数。位运算符涉及到二进制位的运算,在java 程序中运用不是很多,因此下面主要介绍算术运算符、赋值运算符、关系运算符和逻辑运算符。

(1)算术运算符

算术运算符用在算术表达式中,其作用和数学中的运算符相同,下表列出了Java语言支持的算术运算符。

5b1e16a5ebea3bb5acda2c160f2d78d6.png

算术运算符一般用于数值运算,可对操作数进行加减乘除、取余、自增和自减操作。

加减乘除、取余运算符比较容易理解。下面重点说说自增和自减运算符。

自增自减是单目运算符,只需要一个操作数参加运算。例如:a++、++a、a--、--a等。其中,a是操作数,++是自增运算符,--是自减运算符,自增和自减运算符即可以放在变量的前面,也可以放在变量的后面,例如++a、 a++。

自增(++):将变量的值加1,分前缀式(如++a)和后缀式(如a++)。前缀式是先加1再使用;后缀式是先使用再加1。

自减(--):将变量的值减1,分前缀式(如--a)和后缀式(如a--)。前缀式是先减1再使用;后缀式是先使用再减1。

(2)赋值运算符

赋值运算符是双目运算符,用在赋值表达式中。它的作用是将运算符右边操作数的值赋给运算符左边的变量。下表列出了Java语言支持的赋值运算符。

d878b2d669db4f6fa51c1a040162d318.png

赋值运算符分为两类,一类是简单赋值,一类是复合赋值。简单赋值是直接把运算符右边操作数的值赋给运算符左边的变量,运算符有“=”;复合赋值运算符复合赋值是先执行运算符指定的运算,然后再将运算结果赋值给运算符左边的变量,复合赋值运算符有“+=、-=、*=、/=、%=”。

简单赋值运算符非常容易明白和理解。下面重点说说复合赋值运算符“+=”操作,其它复合赋值运算符操作原理同“+=”运算符操作原理相同,这里就不再一一讲述了。

复合赋值运算符“+=”操作执行过程如下:

1) 将运算符右侧的操作数,与运算符左侧的操作数(变量值)执行相加操作;

2) 相加的结果赋值给运算符左侧的变量。

例如下面语句:

int num = 10;

num+= 20;

声明的变量num初始值为10,然后执行num+= 20赋值操作,其操作过程是变量num先与数值20相加,相加的结果是30,然后再将30赋值给变量num,此时变量num的值为30。

(3)关系运算符

关系运算符也是双目运算符,用于关系表达式。关系运算符对两个操作数进行比较,并返回比较结果,比较结果的值为一个布尔值(true或false)。下表列出了Java语言支持的关系运算符,表中例子假设A和B不相等,并且其A小于B。

0210680d6434b667cb9838418b129f47.png

关系运算符用于比较两个操作数的大小,两个操作数共有六种比较方式。

第一种比较方式是判断两个操作数是否相等,用运算符“==”进行运算,如果两个操作数相等,比较结果返回true,否则返回false。

第二种比较方式是判断两个操作数是否不相等,用运算符“!=”进行运算,如果两个操作数不相等,比较结果返回true,否则返回false。

第三种比较方式是判断运算符左边的操作数是否大于运算符右边的操作数,用运算符“〉”进行运算,如果左边的操作数比右边的操作数大,比较结果返回true,否则返回false。

第四种比较方式是判断运算符左边的操作数是否小于运算符右边的操作数,用运算符“<”进行运算,如果左边的操作数比右边的操作数小,比较结果返回true,否则返回false。

第五和第六种比较方式是判断运算符左边的操作数是否大于等于或小于等于右边的操作数,用运算符“〉=和<=”进行运算,如果比较结果满足要求,则返回true,否则返回false。

(4)逻辑运算符

逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题,返回的运算结果为布尔值。例如,在数学中,表示一个数值的范围时,经常用不等式来表述,假设一个数值取值范围为0到100,设该数值为x,不等式0100两个关系表达式,然后用逻辑运算符进行连接。下表列出了Java语言支持的逻辑运算符,表中假设布尔变量A为真,变量B为假。

546c3352df48a33754ed239524fdaf01.png

逻辑运算符“&&”是双目运算符,用于判断两个关系表达式或布尔变量是否都为真,只有两个表达式的返回结果都为真时,运算结果为真,否则运算结果为假。

逻辑运算符“||”是双目运算符,用于判断两个关系表达式或布尔变量是否有一个为真,如果有一个为真,返回结果为true,否则返回false。

逻辑运算符“!”是单目运算符,用于取反关系表达式返回的值。例如:对于关系表达式a>b,如果a> b为真,取反后为false,如果a> b为假,取反后为true。

Java运算符的优先级

和数学中的运算符一样,Java运算符也存在优先级关系。在Java表达式中,优先级高的运算符先参与运算,优先级低的运算符后参与运算。下表给出了运算符的优先级,表中优先级栏,数字越小优先级越高,每个运算符用中文顿号分割。

db23c380c6536121315afb0d2e343474.png

表中结合性指运算符结合的顺序,通常都是从左到右。从右到左的运算符最典型的就是数值前面的正负号,例如3+-4,则意义为3加-4,符号首先和运算符右侧的内容结合。

■ 课程小结

1、常量是相对于变量来说的,变量在程序运行过程中,其值可以被修改,而常量是不允许被修改的。常量多用于固定不变的值,如圆周率、数值、光速等。同变量一样,常量也可以用标识符命名,并占用存储单元空间。在表达式中,数值可以直接参与运算,参与运算的数值也称为字面常量。

2、表达式同数学中的算式相同,是由变量、常量和运算符组合而成的。最简单的表达式仅由一个运算符和一个操作数构成,较复杂的表达式则由多个运算符以及多个操作数构成。表达式必须返回计算结果,计算结果或为值或为布尔值。

3、运算符对参与的操作数进行运算,根据参与运算的操作数的个数可把运算符分为单目运算符、双目运算符和三目运算符。当一个表达式包含多个运算符时,就需要考虑运算符的优先级,优先级高的运算符先参与运算,优先级低的运算符后参与运算。在实际的开发中,不需要特别去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号辅助进行优先级管理。

■ 思考与练习

1、常量和变量有什么不同?

2、表达式中的数值是常量吗?

3、算术表达式返回的计算结果是数值还是布尔值?

4、a>b属于什么类型的表达式?其返回结果是数值还是布尔值?

5、假设变量a的值为5,执行a+=10操作后,变量a的值是多少?

6、请给出表达式a+=b*2的执行顺序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

将你一张表的值覆盖_精准度可达亚米级,山东“北斗一张网”向社会免费开放...

齐鲁晚报齐鲁壹点记者张阿凤通讯员苏彬8月21日,山东省北斗卫星导航定位基准站网(以下简称“北斗一张网”)推广应用座谈会在济南举行。“北斗一张网”自2019年8月建成后,现已免费向社会提供实时、动态、高精度的卫星导航定位基础服务,在自然资…

okhttp 工具类_日语学习工具推荐,小白必备!

有很多同学问我,有没有好用的日语学习工具?当然有啦~这些学习工具大概分为辞典类、翻译类、日语知识类等等。今天呢,在自身使用的工具里挑选了下面8个学习工具网站,适合各个学习阶段,从日语初级到精通,它们…

des和aes相比较有哪些特点_栓流气力输送相比较传统的高速气力输送方式而言,有哪些优势?...

南京翔瑞粉体:“气力输送”是指运用物料载体压缩空气(或气体),将散装物料从一处输送到另一处的输送系统,与传统的输送机械相比,气力输送系统在输送过程中不易出现沾染粉尘、受潮、污损等现象,并…

32位java虚拟机_微软Java虚拟机-Microsoft VM32位下载V5.0.3805.0安装版-MicrosoftJavaVirtualMachine西西软件下载...

Microsoft VM32位是一款微软Java虚拟机(Microsoft Java Virtual Machine),为IE浏览器提供Java支持。Microsoft VM for Java 是在由Microsoft开发类别 Servers Shareware 软件。安装在WinNT上之前必须打有 NT4 Service Pack 3 以上。安装检测检查是否已安装 Microsof…

iframe src 传参数_剧本杀测评|本友投稿——蜀山传(非剧透)

点击蓝字关注“我爱剧本杀”以下内容不会剧透请放心阅读本友投稿——《蜀山传》前言:这一次的“本友测评”真的是早早早早早鸟测评了,更加难得的是,这一次是曾经制作发行过《夜来香》的发行团队小本买卖和作者紧张齐聚南宁并亲自带本&#xf…

gnss单频软件接收机应用与编程_GNSS/GPS RTK定位 (手机,无人车定位,无人驾驶,因子图优化)...

Global navigation satellite system (GNSS)是手机或者无人车定位中的关键一个部分。GNSS是当前主要的可以提供绝对定位信息的一种信息来源。无人车的基于地图匹配定位的这一个部分中,GNSS经常用来提供初始化。就目前来看,GNSS的定位方式主要包括单点定位…

windows系统改装为linux系统_Linux怎么克隆系统?备份系统跟Windows系统有区别吗?...

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本文主要讲解在Linux系统中怎么克隆系统镜像、克隆分区、整盘克隆。它跟Windows系统有何区别?您可能想要克隆Linux分…

c++ hough变换代码_hough变换原理以及实现(转载)

原理链接如下:陌归:霍夫(Hough)变换之直线检测代码链接:Ganso:Fundamentals——从车道线检测谈到霍夫变换同样是一篇讲解原理的番外,这一篇主要讲解CV中常用的霍夫变换的数学原理。霍夫变换的由…

java filter url匹配规则_java过滤器filter使用

一:filter:过滤器,拦截servlet的请求和响应。1、1 package jd.com.filter;23 import javax.servlet.*;4 import java.io.IOException;56 public classMyFilter implements Filter {7 Override8 public voiddestroy() {910 }1112 Override13 public voidi…

怎么对document.write写出来的内容调整对齐方式_干不过写PPT的?麦肯锡老阿姨教你4招...

PPT是我真正花过10,000小时以上的技能,毕竟在麦肯锡呆了7年。麦肯锡PPT重视内容与逻辑,我改行做营销后又开始注意视觉效果。怎么干过我们这些画PPT的?:)从内容到形式,我来讲讲4步流程,有助于提高效率。/ 01…

iphone查看删除的短信_苹果删除的短信

苹果删除的短信怎么恢复?大家在使用手机的时候,有些没用的短信就习惯清除了,但是有时候比较重要的短信很可能也会误删,后期想要找确又找不到,那么苹果删除的短信能恢复吗?怎么恢复呢?下面就来详细介绍一下。苹果删除的短信怎么…

vscode代码运行时间工具_代码编辑器横评:为什么 VS Code 能拔得头筹

2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本。短短四年时间里,VS Code 高速成长。根据 2019 年 2 月的 PYPL Top IDE index 的排名,VS Code 的涨势迅猛,在所有编辑器与 IDE 中排名第六&…

ie浏览器网页版进入_Win10系统中IE和edge浏览器无法打开网页如何解决

Win10系统中IE和edge浏览器无法打开网页如何解决最近有Win10系统用户们反馈最新Win10系统中的IE和edge浏览器都无法上网,打不开网页,而第三方浏览器却可以,遇到这样的情况该如何解决呢?引起IE和edge浏览器无法打开网页的可能原因&#xff0c…

cad插件_CAD素材与插件合集

CAD素材与插件合集CAD字体包下载链接:https://pan.baidu.com/s/16Wq4boqm254qJNJG5fD5EA提取码:h28nCAD经典模式下载链接:https://pan.baidu.com/s/18U6vSetQxg6bCNJDElZtFA提取码:wlje电气符号下载链接:https://pan.b…

一个form 如何做两次提交_如何做一个自信魅力的女人

有一种常见的说法是外观完全决定了吸引力,错,如果你希望人们被你吸引,如果你想做一个优秀的、成功的、万众瞩目的女性,那么你必须做很多努力,才能成为一个有魅力的人。1做自己不要复制像杰西卡兰格或安德里亚汤普森这样…

vbs代码炫酷效果_Python|实现黑客帝国代码雨效果

Python|实现黑客帝国代码雨效果估计大家都看过电影《黑客帝国》吧,片中的一段代码雨片段实在是炫酷,试想一下,片中的代码雨效果在自己电脑屏幕上实现了会是一种什么样的感觉,会不会有种身临黑客之境呢?本着满足好奇心和…

电脑手写输入法_百度输入法“手写输入”为什么不是老年人的专利?AI的进步...

智能手机的不断普及,也让人机交互取得了很快的发展,就从大家一下常用的设计输入法来看,效果也是越来越智能化了,一个输入法的自我修养选择gboard的原因有很多种,这也是作为一款我国国民输入法的第一要素,毕…

台式电脑如何设置开机密码_设置苹果Mac电脑的开机密码-macw资讯

有很多用户刚从windows系统转过来使用mac系统,可能有很多东西都不知道在哪里,不知道怎么去设置?下面我们就来看下mac是怎样设置开机密码的。非常简单,来跟小编一起来学习然后设置苹果Mac电脑的开机密码吧!1、首先&…

java重写面试题_Java面试题:重写了equals方法,为什么还要重写hashCode方法?

核心问题:重写了equals方法,为什么还要重写hashCode方法?这不仅仅是一道面试题,而且是关系到我们的代码是否健壮和正确的问题。在前面两篇文章涉及到了equals方法的底层讲解:《说说和equals的区别?你的回答…

电脑显示器闪屏_Win7系统电脑显示器屏幕闪屏的解决办法

Win7系统电脑闪屏怎么办?近日一个用户反馈,在使用Win7系统电脑的时候,会出现闪屏的问题,该如何解决呢?请看下文具体解决办法。解决办法:1、首先右击桌面空白处,并在右键菜单中,直接选…