【java程序设计期末复习】chapter3 运算符、表达式和语句

运算符、表达式和语句

Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。
Java语言中的绝大多数运算符和C语言相同,基本语句,如条件分支语句、循环语句等也和C语言类似,因此,本章就主要知识点给予简单的介绍 。

运算符和运算表达式

加减运算符: +,-
加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级。
乘、除和求余运算符: * / %
以上运算符是二目运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型数据。运算符的优先级是3级。
关系运算符: > , < , >= , <= , == , !=
特点:关系运算符是二目运算符,用来比较两个值的关系,见表4.1。
关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。
运算规则:
(1)在关系运算符中,当操作数是基本数据类型时,比较的是数据内容;
(2)在关系运算符中,当操作数是引用类型时,比较的是引用对象的引用值,
(3)判断是否是同一对象,而没有比较对象的内容
逻辑运算符 && || !
其中:&&、|| 为二目运算符,实现逻辑与、逻辑或;
!为单目运算符,实现逻辑非。
规则:
逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式,见表4.2。

&&,||也称短路运算符
当前面的表达式op1的值为false时,&&运算符在运算时就不再去计算op2表达式的值;
当op1为true时,||运算符就不再计算op2的值。
(op1&&op2;op1||op2)。
public static void main(String args[])   {    int x=10,y=10;if( ((x=0)==0) || ((y=20)==20) )    {  System.out.println("现在x的值是:"+x);System.out.println("现在y的值是:"+y);}}} 
//x的值是0,但y值依旧是10

位运算符
位运算符:是指对两个整型数据按照对应的位进行运算,结果为新的整型数据。
“按位与”运算,“&”是双目运算符。
运算法则是:如果a,b两个数据对应位都是1,则c的该位是1,否则是0。
“按位或”运算“|”是双目运算符
运算法则是:如果a,b两个数据对应位都是0,则c的该位是0,否则是1。
“按位非”运算“~”是单目运算符。
运算法则是:如果a对应位都是0,则c的该位是1,否则是1。
“按位异或”运算“^”是双目运算符。
运算法则是:如果a,b两个数据对应位相同,则c的该位是0,否则是1。

class Example3_1 
{  public static void main(String args[]){ char a1='十',a2='点',a3='进',a4='攻';char secret='8';a1=(char)(a1^secret);   a2=(char)(a2^secret);a3=(char)(a3^secret);   a4=(char)(a4^secret);System.out.println("密文:"+a1+a2+a3+a4);a1=(char)(a1^secret);   a2=(char)(a2^secret);a3=(char)(a3^secret);  a4=(char)(a4^secret);System.out.println("原文:"+a1+a2+a3+a4);}
}
/*
密文:卹炁迣攃
原文:十点进攻
*/

算术表达式
用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式。
如:

x+2*y-30+3*(y+5) 

自增,自减运算符
单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1,
如:
++x(–x)表示在使用x之前,先使x的值增(减)1。
x++(x–)表示在使用x之后,使x的值增(减)1。

int f=2;
int m=2; 
int x=(f*m++)+m; //x=7;
int y=(f*++m)+m; //y=9;

算术混合运算的精度问题

java中数据类型的精度从“低”到“高”排列的顺序是:

byte  short  char  int  long  float  double  

Java在计算算术表达式的值时,使用下列计算精度规则:
(1)如果表达式中有双精度浮点数(double型数据),则按双精度进行运算.
(2)如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算.
(3)如果表达式中最高精度是long型整数,则按long精度进行运算.
(4)如果表达式中最高精度低于int型整数,则按int精度进行运算.
(5)char型数据和整型数据运算结果的精度是int。

最低的计算精度是int
例如:5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。
例如:byte x=7; 则执行表达式 ‘B’+x; 的结果是int型。
import java.util.*;
public class Example3_9 {public static void main (String args[ ]){Scanner reader=new Scanner(System.in);double sum=0;int m=0;while(reader.hasNextDouble()){double x=reader.nextDouble();m=m+1;sum=sum+x;}System.out.printf("%d个数的和为%f\n",m,sum);System.out.printf("%d个数的平均值是%f\n",m,sum/m); }
}

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

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

相关文章

聊聊ChatGPT的本质

这是鼎叔的第九十八篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 阶段性总结下我对ChatGPT的基础理解&#xff0c;算是一篇学习思考笔记吧。其中难免有很多不准确的&#xff0c;或过于简略的地方&#xff0c;将来再迭代学习。 OpenAI做ChatGPT的底层逻辑…

GitLab的原理及应用详解(六)

本系列文章简介&#xff1a; 随着软件开发的不断进步和发展&#xff0c;版本控制系统成为了现代软件开发过程中不可或缺的一部分。而GitLab作为其中一种流行的版本控制工具&#xff0c;在软件开发领域享有广泛的应用。GitLab不仅提供了强大的版本控制功能&#xff0c;还集成了项…

如何利用线程池实现互联网验证码保护服务

如何利用线程池实现互联网验证码保护服务 1、业务背景与实现思路2、代码实操1、业务背景与实现思路 首先介绍一下业务背景,假设我们的系统是一个短视频播放网站,每个新加入的用户都需要注册账号并绑定手机号。为了验证用户手机的正确性,我们的系统会发送一条验证码到用户注…

HBase到底是列式存储还是行式存储?

行存和列存 在行存储的数据库系统中&#xff0c;一行中的所有字段值都是连续存储的&#xff1b;在基于行存储的表中&#xff0c;即使只需要读取指定列时&#xff0c;也需要先将对应行的数据读取到内存&#xff0c;再过滤目标列&#xff0c;这样会导致过多的磁盘IO、内存和时间…

队列——链式存储

核心思路&#xff1a; 1、首先定义队列结点&#xff0c;包含数据域和指针域&#xff1b;然后定义链式队列&#xff0c;包含队列节点类型的队头和队尾指针。 2、初始化&#xff1a;     带头结点&#xff1a;给头结点分配内存&#xff0c;然后队头和队尾指针指向头结点&…

每日一题 字符串排序

目录 1.前言 2.题目解析 3.算法原理 4.代码实现 1.前言 在编程练习中&#xff0c;字符串的全排列问题是一个经典的算法问题。通过对字符串进行全排列&#xff0c;可以得到该字符串的所有可能的排列组合。本文将探讨如何对含有重复字符的字符串进行全排列&#xff0c;并且解决…

K8s的kubectl的基本操作

K8s的kubectl的基本操作 K8s基本信息的查看 查看版本信息 kubectl versio查看资源对象简写 kubectl api-resources查看集群信息 kubectl cluster-info配置kubectl自动补全 source <(kubectl completion bash)查看master节点状态 kubectl get cs查看命名空间 kubectl…

10.js预解析

就是在代码执行之前&#xff0c;对代码进行通读解释 只解析两个内容&#xff1a; &#xff08;1&#xff09;对var声明的变量 &#xff08;2&#xff09;声明式函数 &#xff08;1&#xff09;对var声明的变量进行提前声明&#xff0c;但不赋值 var x console.log(x) //undefi…

【找出第 K 大的异或坐标值】python

4层循环暴力超时 class Solution:def kthLargestValue(self, matrix: List[List[int]], k: int) -> int:nums[]for a in range(len(matrix)):for b in range(len(matrix[0])):num0for i in range(a1):for j in range(b1):num^matrix[i][j]nums.append(num)nums.sort()retu…

web安全渗透测试十大常规项(一):web渗透测试之CSRF跨站请求伪造

渗透测试之CSRF跨站请求伪造 CSRF跨站请求伪造 CSRF跨站请求伪造

类的内存对齐位段位图布隆过滤器哈希切割一致性哈希

文章目录 一、类的内存对齐1.1规则1.2原因 二、位段2.1介绍2.2内存分配问题2.3跨平台问题2.4使用的注意事项 三、位图的应用3.1 给40亿个不重复的无符号整数&#xff0c;找给定的一个数。&#xff08;int的范围可以到达42亿多&#xff09;3.2 给定100亿个整数&#xff0c;设计算…

Golang实现文件复制

方法&#xff1a;三种 package zdpgo_fileimport ("errors""io""os" )// CopyFile 使用io.Copy进行文件的复制&#xff0c;同时也会复制文件的所有权限 // param src 复制文件 // param des 目标文件 // return error 错误信息 func CopyFile(s…

2024年弘连网络FIC大会竞赛题线下决赛题

总结&#xff1a; FIC决赛的时候&#xff0c;很多小问题没发现&#xff0c;在pve平台做题确实很方便。 这套题目复盘完&#xff0c;服务器这块的知识确实收获了很多&#xff0c;对pve集群平台和网络拓扑也有了一定的认识&#xff0c;感谢各位大佬悉心指导。 接下来&#xff0…

【FPGA】Verilog:奇校验位生成器的实现(Odd Parity bit generator)

解释奇数奇偶校验位生成器和检查器的仿真结果及过程。 真值表和卡洛图: Odd Parity Bit Generator A B C

怎么在pyqt中显示matplotlib的绘图?

想要在pyqt中显示matplotlib的绘图&#xff0c;在绘图时&#xff0c;其实不必使用以下语句&#xff1a; matplotlib.use("Qt5Agg") # 声明使用QT5最关键的语句是&#xff1a; from matplotlib.backends.backend_qt5agg import FigureCanvasQTAggFigureCanvasQTAgg…

学 Python 具体能干什么?

Python 是一种功能强大、用途广泛的编程语言&#xff0c;因其简洁易读的语法和丰富的库生态系统而备受欢迎。学习 Python后&#xff0c;你可以从事以下几方面的工作&#xff1a; 1. Web 开发 Python 有很多流行的 Web 框架&#xff0c;如&#xff1a; Django&#xff1a;一个…

Android studio的Gradle出问题

Gradle sync failed: Plugin [id: com.android.application, version: 7.1.1, apply: false] was not found in any of the following sources: 在src里面的build.gradle中 plugins { id ‘com.android.application’ } 的上面加上 buildscript {repositories {jcenter()}depen…

从 0 开始实现一个网页聊天室 (小型项目)

实现功能 用户注册和登录好友列表展示会话列表展示: 显示当前正在进行哪些会话 (单聊 / 群聊) , 选中好友列表中的某个好友, 会生成对应的会话实时通信, A给B发送消息, B的聊天界面 / 会话界面能立刻显示新的消息 TODO: 添加好友功能用户头像显示传输图片 / 表情包历史消息搜…

禅道密码正确但是登录异常处理

禅道密码正确&#xff0c;但是登录提示密码错误的异常处理 排查内容 # 1、服务器异常&#xff0c;存储空间、数据库异常 # 2、服务异常&#xff0c;文件丢失等异常问题定位 # 1、df -h 排查服务器存储空间 # 2、根据my.php排查数据库连接是否正常 # 3、修改my.pho,debugtrue…

探索切片索引:列表反转的艺术

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;列表反转的挑战 二、切片索引的基本概念 三、切片索引实现列表反转 …