赋值运算符和关系运算符

赋值运算符和关系运算符

赋值运算符

分类

符号作用说明
=赋值int a =10, 将10赋值给变量a
+=加后赋值a += b,将a + b的值赋值给a
-=减后赋值a -= b,将a - b的值赋值给a
*=乘后赋值a *= b,将a ×= b的值赋值给a
/=除后赋值a /= b,将a ÷ b的商赋值给a
%=取余后赋值a %= b,将a ÷ b的余数赋值给a
  • 注意事项:扩展的赋值运算符隐含了强制类型转换

代码演示

public class AssigningoperatorDemo1 {public static void main(String[] args) {// +=//规则:将左边和右边进行相加,然后再把结果赋值给左边int a = 10;int b = 20;//把a+b,再把结果赋值给左边的变量aa += b;//等同于 a = (int)(a + b);System.out.println(a);//30System.out.println(b);//20//细节://+= -= *= /= %=底层都隐藏了一个强制类型转换//把short s = 1;//把左边和右边进行相加,得到结果2,再赋值给左边的ss += 1;//等同于s = (short)(s + 1);System.out.println(s);//2}
}

(关系运算符/比较运算符)的分类

符号说明
==a==b,判断a和b的值是否相等,成立为true,不成立为false
!=a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>a>b,判断a是否大于b,成立为true,不成立为false
>=a>=b,判断a是否大于等于b,成立为true,不成立为false
<a<b,判断a是否小于b,成立为true,不成立为false
<=a<=b,判断a是否小于等于b,成立为true,不成立为false
  • **注意:**关系运算符的结果都是boolean类型,要么是true,要么是false.
  • 千万不要把**“==“误写成”=”**
public class CompareoperatorDemo1 {public static void main(String[] args) {//1.== 判断左右两边是否相等int a = 10;int b = 10;int c = 20;System.out.println(a == b);//trueSystem.out.println(a == c);//false//!= 判断左右两边是否不相等System.out.println(a != b);System.out.println(a != c);}
}

练习

约会

**需求:**您和您的约会对象在餐厅里面正在约会。

键盘录入两个整数,表示你和你的约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录其他)。如果你的时髦程度大于你对象的时髦程度,相亲就成功,输出true。否则输出false

import java.util.Scanner;public class test2 {public static void main(String[] args) {/* 需求:您和您的约会对象正试图在餐厅获得一张桌子。键盘录入两个整数,表示你和你约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录入其他。)如果你的时髦程度大于你约会对象的时髦程度,相亲就成功,输出true。否则就输出false*///1.键盘录入两个整数表示衣服的时髦度Scanner sc = new Scanner(System.in);System.out.println("请输入我们自己的衣服时髦度");int myFashion = sc.nextInt();System.out.println("请输入约会对象衣服的时髦度");int girlFashion = sc.nextInt();//2.把我衣服的时髦度和女孩衣服的时髦度进行对比就可以了。boolean result = myFashion > girlFashion;//3.打印结果System.out.println(result);}
}

短路逻辑运算符&&

请添加图片描述
请添加图片描述

符号作用说明
&&短路与结果和**&相同,但是有短路**效果
||短路或结果和 | 相同,但是有短路效果

代码演示

public class LogicoperatorDemo3 {public static void main(String[] args) {//1.&&//运行结果和单个&是一样的// 表示两边都为真,结果才是真System.out.println(true && true);System.out.println(false && true);System.out.println(false && true);System.out.println(true && false);//2.||//运行结果和单个|一样//表示两边都为假,结果才为假。System.out.println(true || true);//falseSystem.out.println(false || false);//trueSystem.out.println(false || true);//trueSystem.out.println(true || false);//true//3.短路逻辑运算符具有短路效果//简单理解:当左边的表达式能确定最终结果,那么右边就不会参与运行了。int a = 10;int b = 10;boolean result = ++a < 5 && ++b < 5;System.out.println(result);System.out.println(a);//11System.out.println(b);//10}
}

注意:

  • & |,无论左边是true还是false,右边都要执行。
  • && ||,如果左边就能确定整个表达式的结果,右边不执行。
  • &&,左边为false,右边不管是真是假,整个表达式的结果一定是false
  • ||,左边为true,右边不管是真是假,整个表达式的结果一定是true.

这两种情况下,右边不执行,提高了效率。

  • 最常用的逻辑运算符:&& || !.

练习

需求:数字6是一个真正伟大的数字,键盘录入两个整数。

如果其中一个是6,最终结果输出true

如果它们的和为6的倍数,最终结果输出true

其他情况均为false.

代码演示

import java.util.Scanner;public class test3 {public static void main(String[] args) {/*数字6是一个真正伟大的数字,键盘录入两个整数。如果其中一个是6,最终结果输出true。如果它们的和为6的倍数,最终结果输出true。其他情况均为false.*///分析://1.键盘录入两个整数//变量a 变量b//2.a == 6 || b == 6 || (a + b) % 6 == 0;//键盘录入两个整数Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int number1 = sc.nextInt();System.out.println("请输入第二个整数");int number2 = sc.nextInt();//可以用短路逻辑运算符去连续三个判断boolean result =  number1 == 6 || number2 == 6 || (number1 + number2) % 6 == 0;System.out.println(result);}
}

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

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

相关文章

运维知识点-Sqlite

Sqlite 引入 依赖 引入 依赖 <dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.36.0.3</version></dependency>import javafx.scene.control.Alert; import java.sql.*;public clas…

第二证券:抢占技术前沿 中国光伏企业结伴“走出去”

2024年新年前后&#xff0c;光伏职业分外忙碌。据证券时报记者不完全统计&#xff0c;晶澳科技、华晟新动力、高测股份、华民股份等多家企业宣告新建项目投产&#xff0c;安徽皇氏绿能等企业的项目也迎来设备安装的重要节点。 证券时报记者采访多家企业的负责人后了解到&#…

tessreact训练字库

tessreact主要用于字符识别&#xff0c;除了使用软件自带的中英文识别库&#xff0c;还可以使用Tesseract OCR训练属于自己的字库。 一、软件环境搭建 使用Tesseract OCR训练自己的字库&#xff0c;需要安装Tesseract OCR和jTessBoxEditor(配套训练工具)。jTessBoxEditor需要…

基于SSM的社区老年人关怀服务系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【23种设计模式应用场景汇总】

23种设计模式应用场景汇总 设计模式是一种在软件开发中解决特定问题的通用解决方案。下面我将尝试将23种设计模式融入到一个场景中&#xff1a; 假设我们正在开发一个在线购物系统&#xff0c;我们可以使用以下设计模式&#xff1a; 1. 工厂方法模式&#xff1a;当用户在网站上…

力扣hot100 只出现一次的数字 位运算

Problem: 136. 只出现一次的数字 文章目录 思路复杂度Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public int singleNumber(int[] nums) {int res 0;for(int x : nums)res ^ x;return res;} }

UI自动化测试框架

文章目录 UI自动化基础什么是UI自动化测试框架UI自动化测试框架的模式数据驱动测试框架关键字驱动测试框架行为驱动测试框架 UI自动化测试框架的作用UI自动化测试框架的核心思想UI自动化测试框架的步骤UI自动化测试框架的构成UtilsLog.javaReadProperties.Java coreBaseTest.ja…

【分布式技术】监控技术zabbix实操

目录 一、脚本监控nginx的连接状态 步骤一&#xff1a;做好nginx的配置 步骤二&#xff1a;完成监控数据脚本编写&#xff0c;并使用zabbix_get测试 步骤三&#xff1a;在zabbix agent配置目录中&#xff0c;编写以conf结尾的用户参数文件 步骤四&#xff1a;在zabbix web…

Python 网络编程之TCP详细讲解

【一】传输层 【1】概念 传输层是OSI五层模型中的第四层&#xff0c;负责在网络中的两个端系统之间提供数据传输服务主要协议包括**TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;** 【2】功能 **端到端通信&#xff1a;**传输层负责…

HackerGPTWhiteRabbitNeo的使用及体验对比

1. 简介 WhiteRabbitNeo&#xff08;https://www.whiterabbitneo.com/&#xff09;是基于Meta的LLaMA 2模型进行特化的网络安全AI模型。通过专门的数据训练&#xff0c;它在理解和生成网络安全相关内容方面具有深入的专业能力&#xff0c;可广泛应用于教育、专业培训和安全研究…

什么是非电离辐射与电离辐射?

摘要: 非电离辐射和电离辐射是两种不同类型的辐射&#xff0c;它们主要区别在于能量水平和与物质相互作用的方式。 非电离辐射 非电离辐射是指能量较低&#xff0c;不足以使原子或分子的电子脱离其原子核束缚而产生电离现象的电磁波。这类辐射不 ... 非电离辐射和电离辐射是两…

Centos 更换内核

文章目录 一、查看/更换系统内核1.1 查看当前运行环境的内核1.2 查看系统上所有可用内核1.3 切换内核方法一&#xff1a;通过启动菜单更换内核方法二&#xff1a;更换默认启动内核 二、安装内核2.1 使用ELRepo安装2.2 安装指定内核版本参考资料 一、查看/更换系统内核 1.1 查看…

docker搭建SSH镜像、systemctl镜像、nginx镜像、tomcat镜像

目录 一、SSH镜像 二、systemctl镜像 三、nginx镜像 四、tomcat镜像 五、mysql镜像 一、SSH镜像 1、开启ip转发功能 vim /etc/sysctl.conf net.ipv4.ip_forward 1sysctl -psystemctl restart docker 2、 cd /opt/sshd/vim Dockerfile 3、生成镜像 4、启动容器并修改ro…

面试题:你知道 Spring lazy-init 懒加载的原理吗?

文章目录 前言一、先睹为快二、原理分析三、总结 前言 普通的bean的初始化是在容器启动初始化阶段执行的&#xff0c;而被lazy-init修饰的bean 则是在从容器里第一次进行context.getBean(“”)时进行触发。 Spring 启动的时候会把所有bean信息(包括XML和注解)解析转化成Spring…

这可能是最全面的Java并发编程八股文了

内容摘自我的学习网站&#xff1a;topjavaer.cn 分享50道Java并发高频面试题。 线程池 线程池&#xff1a;一个管理线程的池子。 为什么平时都是使用线程池创建线程&#xff0c;直接new一个线程不好吗&#xff1f; 嗯&#xff0c;手动创建线程有两个缺点 不受控风险频繁创…

SpringBoot基础:一步步创建SpringBoot工程

摘要 本文介绍了&#xff0c;从零开始创建SpringBoot工程&#xff0c;且在每一步给出分析和原因。创建maven – 转Springboot – 引入jdbc – 引入数据库操作框架&#xff0c;最后给出了不同场景指定不同配置文件的方案。 背景 为什么要使用SpringBoot工程&#xff1f; 使用Sp…

Python 网络编程之粘包问题

【一】粘包问题介绍 【1】粘包和半包 粘包&#xff1a; 定义&#xff1a; 粘包指的是发送方发送的若干个小数据包被接收方一次性接收&#xff0c;形成一个大的数据包。原因&#xff1a; 通常是因为网络底层对数据传输的优化&#xff0c;将多个小数据包组合成一个大的数据块一次…

Linux搭建和使用redis

官网地址&#xff1a;http://redis.io/download 文件上传到服务器 tar包解压 tar zxvf redis-5.0.14.tar.gz安装 进入解压目录下&#xff0c;找到Makefile所在目录&#xff0c;执行make命令 make执行之后&#xff0c;会产生src等目录&#xff0c;进入执行make install命令…

locust快速入门--使用分布式提高测试压力

背景&#xff1a; 使用默认的locust启动命令进行压测时&#xff0c;尽管已经将用户数设置大比较大&#xff08;400&#xff09;&#xff0c;但是压测的时候RPS一直在100左右。需要增加压测的压力。 问题原因&#xff1a; 如果你是通过命令行启动的或者参考之前文章的启动方式…

【论文阅读】Speech Driven Video Editing via an Audio-Conditioned Diffusion Model

DiffusionVideoEditing&#xff1a;基于音频条件扩散模型的语音驱动视频编辑 code&#xff1a;GitHub - DanBigioi/DiffusionVideoEditing: Official project repo for paper "Speech Driven Video Editing via an Audio-Conditioned Diffusion Model" paper&#…