当前位置: 首页 > news >正文

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

相关文章:

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

运算符、表达式和语句 Java提供了丰富的运算符&#xff0c;如算术运算符、关系运算符、逻辑运算符、位运算符等。 Java语言中的绝大多数运算符和C语言相同&#xff0c;基本语句&#xff0c;如条件分支语句、循环语句等也和C语言类似&#xff0c;因此&#xff0c;本章就主要知识…...

【建议收藏】30个较难Python脚本,纯干货分享

本篇较难&#xff0c;建议优先学习上篇 &#xff1b;20个硬核Python脚本-CSDN博客 接上篇文章&#xff0c;对于Pyhon的学习&#xff0c;上篇学习的结束相信大家对于Pyhon有了一定的理解和经验&#xff0c;学习完上篇文章之后再研究研究剩下的30个脚本你将会有所成就&…...

01-05.Vue自定义过滤器

目录 前言过滤器的概念过滤器的基本使用给过滤器添加多个参数 前言 我们接着上一篇文章01-04.Vue的使用示例&#xff1a;列表功能 来讲。 下一篇文章 02-Vue实例的生命周期函数 过滤器的概念 概念&#xff1a;Vue.js 允许我们自定义过滤器&#xff0c;可被用作一些常见的文本…...

C++系列-static成员

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 概念 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之为静态成员变量&#xff0c;用static修饰的成员函数&#xff0c;称之为静态成…...

Git | 创建和管理Pull Request总结

如是我闻&#xff1a; 在使用 GitHub 进行项目协作时&#xff0c;掌握如何创建、更新和合并&#xff08;squash&#xff09;pull request 是非常有帮助的。本文将详细介绍这些操作&#xff0c;帮助我们更好地管理项目代码&#xff0c;并解释每个操作的原因和解决的问题。 1. 什…...

电机控制系列模块解析(23)—— 同步机初始位置辨识

一、两个常见问题 为什么感应电机&#xff08;异步机&#xff09;不需要初始位置辨识&#xff1f;&#xff08;因此感应电机转子磁场在定子侧进行励磁&#xff0c;其初始位置可以始终人为定义为0&#xff09; 为什么同步磁阻电机需要初始位置辨识&#xff1f;&#xff08;因为…...

【数据库基础-mysql详解之索引的魅力(N叉树)】

索引的魅力目录 &#x1f308;索引的概念&#x1f308;使用场景&#x1f308;索引的使用&#x1f31e;&#x1f31e;&#x1f31e;查看MySQL中的默认索引&#x1f31e;&#x1f31e;&#x1f31e;创建索引&#x1f31e;&#x1f31e;&#x1f31e;删除索引 站在索引背后的那个男…...

力扣739. 每日温度

Problem: 739. 每日温度 文章目录 题目描述思路复杂度Code 题目描述 思路 若本题目使用暴力法则会超时&#xff0c;故而使用单调栈解决&#xff1a; 1.创建结果数组res&#xff0c;和单调栈stack&#xff1b; 2.循环遍历数组temperatures&#xff1a; 2.1.若当stack不为空同时…...

KDE6桌面于2024年2月发布

原文&#xff1a;KDE MegaRelease 6 - KDE 社区 1. **Plasma 6 桌面环境**&#xff1a;KDE Plasma 是一个现代化、功能丰富的 Linux 操作系统桌面环境&#xff0c;以其时尚设计、可定制界面和广泛的应用程序而闻名。Plasma 6 带来了两项重大技术升级&#xff1a;过渡到最新的应…...

「TypeScript系列」TypeScript 对象及对象的使用场景

文章目录 一、TypeScript 对象1. 对象字面量2. 类实例化3. 使用接口定义对象形状4. 使用类型别名定义对象类型5. 使用工厂函数创建对象 二、TypeScript 对象属性及方法1. 对象属性2. 对象方法3. 访问器和修改器&#xff08;Getters 和 Setters&#xff09; 三、TypeScript 对象…...

shell从入门到精通(22)shell正则匹配~=

文章目录 1. 基本用法2. 正则表达式捕获组(catch group)3. 匹配结果提取1. 基本用法 在 Shell 脚本中,可以使用正则表达式进行文本匹配和提取。Bash shell 支持使用 [[ … =~ … ]] 结构进行正则表达式匹配,同时还能提取匹配结果。 以下是一个简单的例子,展示了如何在 Bas…...

【Spring】使用Spring常用导入依赖介绍

当使用Spring框架时&#xff0c;以下是常用导入的依赖的详细介绍&#xff0c;按照不同的功能和类别进行分点表示和归纳&#xff1a; 1、核心依赖 Spring Core (spring-core) 功能&#xff1a;提供了Spring框架的基础功能&#xff0c;包括IoC&#xff08;控制反转&#xff09;…...

PC端应用订阅SDK接入攻略

本文档介绍了联想应用联运sdk接入操作指南&#xff0c;您可在了解文档内容后&#xff0c;自行接入应用联运sdk。 1. 接入前准备 1. 请先与联想商务达成合作意向。 2. 联系联想运营&#xff0c;提供应用和公司信息&#xff0c;并获取商户id、app id、key&#xff08;公私钥、…...

WebService的wsdl详解

webservice服务的wsdl内容详解&#xff0c;以及如何根据其内容编写调用代码 wsdl示例 展示一个webservice的wsdl&#xff0c;及调用这个接口的Axis客户端 wsdl This XML file does not appear to have any style information associated with it. The document tree is shown…...

数据分析实战:从0到1完成数据获取分析到可视化

文章目录 1.数据分析基本流程1.1 数据采集1.2 数据提炼1.3 数据探索分析 2.数据获取的方法和工具2.1 数据解锁器2.2 爬虫浏览器2.3 数据洞察市场 3.完整案例分析&#xff1a;从数据采集到数据可视化3.1 直接按需定制数据集获取数据3.2 获取IP代理&#xff0c;利用python爬取数据…...

【Spring】深入理解 Spring 中的 ImportSelector、Aware 和 Processor 接口

前言 Spring 框架提供了一系列接口和机制&#xff0c;为开发者提供了灵活、可扩展的编程模型。其中&#xff0c;ImportSelector、Aware 接口以及 Processor 系列接口是非常重要的扩展点&#xff0c;本文将深入探讨它们的设计目的、使用方法以及示例应用。 一、ImportSelector…...

【C语言】strstr函数的使用和模拟

前言 今天给大家带来一个字符串函数&#xff0c;strstr()的使用介绍和模拟实现。 模拟实现这个函数&#xff0c;可以帮助我们更深刻地理解这个函数的功能和提高解决字符串相关问题的能力&#xff0c;有兴趣的话就请往下看吧。 strstr函数介绍 函数功能&#xff1a; strstr函…...

五分钟”手撕“异常

目录 一、什么是异常 二、异常的体系和分类 三、异常的处理 1.抛出异常 2.异常的捕获 异常声明throws&#xff1a; try-catch处理 四、finally finally一定会被执行吗&#xff1f; 五、throw和throws区别 六、异常处理的流程 七、自定义异常 一、什么是异常 顾名…...

【vue3+elementuiplus】el-select下拉框会自动触发校验规则

场景&#xff1a;编辑弹框省份字段下拉框必填&#xff0c;触发方式change&#xff0c;有值第一次打开不会触发校验提示&#xff0c;关闭弹框再次打开触发必填校验提示&#xff0c;但是该字段有值 问题的原因是&#xff1a;在关闭弹层事件中&#xff0c;我做了resetfileds&…...

【论文复现】LSTM长短记忆网络

LSTM 前言网络架构总线遗忘门记忆门记忆细胞输出门 模型定义单个LSTM神经元的定义LSTM层内结构的定义 模型训练模型评估代码细节LSTM层单元的首尾的处理配置Tensorflow的GPU版本 前言 LSTM作为经典模型&#xff0c;可以用来做语言模型&#xff0c;实现类似于语言模型的功能&am…...

Kubernetes事件驱动架构设计:构建响应式微服务系统

Kubernetes事件驱动架构设计&#xff1a;构建响应式微服务系统 一、事件驱动架构概述 事件驱动架构&#xff08;EDA&#xff09; 是一种设计模式&#xff0c;其中系统的行为由事件触发。在Kubernetes环境中&#xff0c;事件驱动架构可以实现松耦合、高可扩展的微服务系统。 …...

GetQzonehistory:如何永久保存你的QQ空间记忆

GetQzonehistory&#xff1a;如何永久保存你的QQ空间记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾在深夜翻看QQ空间&#xff0c;突然发现那些记录着青春点滴的说说正在逐…...

基于决策树与Boosting的暗网流量多阶段分类系统设计与实践

1. 项目概述&#xff1a;为什么暗网流量分类是个“硬骨头”&#xff1f;在网络安全这个没有硝烟的战场上&#xff0c;流量分类技术就像是前沿阵地的“雷达”和“声呐”。它的任务很简单&#xff1a;从海量、混杂的网络数据流中&#xff0c;快速、准确地识别出哪些是正常的网页浏…...

交叉拟合与Neyman正交性:驯服机器学习因果推断中的偏差

1. 项目概述&#xff1a;当机器学习遇见因果推断&#xff0c;我们如何驯服“偏差”这头猛兽&#xff1f;在数据科学和经济学交叉的前沿地带&#xff0c;任何一个试图用机器学习模型做因果推断的研究者或工程师&#xff0c;都绕不开一个核心的噩梦&#xff1a;偏差&#xff08;B…...

工具调用失效?DeepSeek官方未公开的3个隐式约束条件,90%开发者至今仍在硬编码绕过

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;工具调用失效&#xff1f;DeepSeek官方未公开的3个隐式约束条件&#xff0c;90%开发者至今仍在硬编码绕过 DeepSeek-R1 模型虽开放了 tools 调用接口&#xff0c;但其底层推理引擎对工具参数存在三类未…...

如何解决多语言语音识别乱码问题:Vosk API的字符编码终极指南

如何解决多语言语音识别乱码问题&#xff1a;Vosk API的字符编码终极指南 【免费下载链接】vosk-api Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node 项目地址: https://gitcode.com/GitHub_Trending/vo/vosk-a…...

【DeepSeek推理加速实战指南】:20年AI系统优化专家亲授7大低开销部署技巧

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek推理加速的核心挑战与优化全景 DeepSeek系列大模型在实际部署中面临显著的推理延迟与显存压力&#xff0c;尤其在长上下文&#xff08;如32K tokens&#xff09;和高并发场景下&#xff0c;GPU利用率常…...

3分钟为Blender相机添加真实抖动:Camera Shakify新手完全指南

3分钟为Blender相机添加真实抖动&#xff1a;Camera Shakify新手完全指南 【免费下载链接】camera_shakify 项目地址: https://gitcode.com/gh_mirrors/ca/camera_shakify 想让你的Blender动画瞬间拥有电影级的真实感吗&#xff1f;Camera Shakify这款神奇的插件就是你…...

RuoYi登录接口自动化:验证码、AES加密与JWT全链路验证

1. 为什么登录接口自动化不是“点几下就完事”&#xff0c;而是RuoYi项目落地的第一道生死线在接手第7个基于RuoYi-Vue的政企内部系统交付时&#xff0c;我遇到过最尴尬的一幕&#xff1a;客户现场验收当天&#xff0c;测试同事用Postman手工执行登录接口&#xff0c;输入账号密…...

使用 Node.js 和 Taotoken 为博客网站快速搭建一个智能内容摘要生成接口

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用 Node.js 和 Taotoken 为博客网站快速搭建一个智能内容摘要生成接口 对于个人博客站长而言&#xff0c;为篇幅较长的文章提供一…...