Java基础(运算符)

运算符

运算符和表达式

运算符:对字面量或者变量进行操作的符号

表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式。

算术运算符(加、减、乘、除、取模、取余)(字符串只有加)
一、案例:
Spackage cn.wwq.YunSuanFu;
​
import java.util.Scanner;
​
public class demo1 {/***需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台* 公式总结:* 个位:数值 % 10* 十位:数值 / 10 % 10* 百位:数值 / 100 % 10* 千位:数值 / 1000 % 10* */public static void main(String[] args) {//1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入一位三位数");int number = sc.nextInt();
​//2.获取个位,十位,百位//个位:数值 % 10// 十位:数值 / 10 % 10//百位:数值 / 100 % 10int ge = number % 10;int shi = number / 10 % 10;int bai = number / 100 % 10;System.out.println(ge);System.out.println(shi);System.out.println(bai);}
}
​
二、"+"操作的三种情况

1.数字相加

数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算。

2.字符串相加

3.字符相加

字符+字符/字符+数字时,会把字符通过 ASCII 码表查询到对应的数字再进行计算。

三.隐式转换和强制转换

隐式转换(自动类型提升):取值范围的数值转换成取值范围的数值。

取值范围从小到大:byte<short<int<long<float<double

什么时候转换?数据类型不一样,不能进行计算,需要转成一样的才可以进行计算。

隐式转换的两种提升规则:

1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

2.byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

看代码说结果:

强制转换:取值范围的数值转换成取值范围的数值。

四.注意事项:

/ 和 % 的区别:两个数据做除法,/ 取结果的商,% 取结果的余数。整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

自增自减运算符-基本使用

基本用法:

单独使用方式++ 和 -- 既可以放在变量前边,也可以放在变量后边,单独写一行结果是一样的

package cn.wwq.YunSuanFu;
​
public class demo2 {public static void main(String[] args) {//++ 和 --int a = 5;a++;System.out.println(a);//6++a;System.out.println(a);//7a--;System.out.println(a);//6--a;System.out.println(a);//5}
}

参与计算方式:1. int a = 10; int b = a++; (先用后加)

2. int a = 10; int b = ++a; (先加后用)

赋值运算符和关系运算符
赋值运算符:

注意:+=,-=,*=,/=,%=底层都隐藏了一个强制类型转换

关系运算符(比较运算符):

注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“==”误写成“=”。

package cn.wwq.YunSuanFu;
​
import java.util.Scanner;
​
/***您和您的约会对象在餐厅约会。*键盘录入两个整数,表示你和你约会对象衣服的时髦度(手动录入0-10之间的整数)* 如果你的时髦程度大于你对象的时髦程度,就相亲成功,输出true,否则输出false。*/
public class demo3 {public static void main(String[] args) {//1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入自己衣服的时髦度:");int my = sc.nextInt();System.out.println("请输入相亲对象衣服的时髦度:");int girl = sc.nextInt();
​//比较boolean result = my > girl;
​//打印System.out.println(result);}
}
​
逻辑运算符
一、逻辑运算符的分类:

提示:取反的感叹号不要写多次,要么不写,要么只写一个。

&两个都要满足,|满足一个就可以

二、短路逻辑运算符

短路逻辑运算符具有短路效果,当左边的表达式能确定最终结果,那么右边就不会参与运行了。

注意事项:

1.&|,无论左边是true还是false,右边都要执行。

&&||,如果左边能确定整个表达式的结果,右边不执行。

%%:左边为false,右边不管是真是假,整个表达式的结果一定是false。

||:左边为true,右边不管是真是假,整个表达式的结果一定是true。

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

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

package cn.wwq.YunSuanFu;
​
​
import java.util.Scanner;
​
/*** 数字6是一个真正伟大的数字,键盘录入两个整数。* 如果其中一个为6,最后结果输出true。* 如果它们的和为6的倍数,最终结果输出为true,其他情况都是false.* */
public class demo4 {public static void main(String[] args) {//键盘录入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 || (number2 + number1) % 6 == 0;
​//打印System.out.println(result);}
}
​

三元运算符
一、三元运算符的作用:

可以进行判断,根据判断的结果得到不同的内容。

二、 三元运算符(三元表达式)格式:

关系表达式?表达式1:表达式2;

package cn.wwq.YunSuanFu;
/*** 使用三元表达式,获取两个整数的较大值* */
public class demo5 {public static void main(String[] args) {//1.定义两个变量记录两个整数int number1 = 19;int number2 = 29;//2.使用三元表达式,获取两个整数的较大值int max = number1 > number2 ? number1 : number2;System.out.println(max);
​}
}
​
三、计算规则:

1.首先计算关系表达式的值

2.如果值为true表达式1的值就是运算结果

3.如果值为false表达式2的值就是运算结果

四、案例
package cn.wwq.YunSuanFu;
/*** 一座寺庙住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。* 请用程序实现获取这三个和尚的最高身高。* */
public class demo6 {public static void main(String[] args) {//1、定义三个变量记录三个和尚的身高int height1 = 150;int height2 = 210;int height3 = 165;//2、拿着第一个和尚和第二个和尚比较//  再拿结果与第三个和尚比较int result = height1 > height2 ? height1 : height2;int result2 = result > height3 ? result : height3;System.out.println(result2);}
}
​
五、运算符优先级

()优先于所有。

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

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

相关文章

Linux基础命令[24]-su

文章目录 1. su 命令说明2. su 命令语法3. su 命令示例3.1 不加参数3.2 -&#xff08;登录&#xff09;3.3 -c&#xff08;执行命令&#xff09; 4. 总结 1. su 命令说明 su&#xff1a;以用户身份执行命令&#xff0c;基本信息如下&#xff1a; Usage:su [options] [-] [USE…

数据结构四:线性表之带头结点的单向循环循环链表的设计

前面两篇介绍了线性表的顺序和链式存储结构&#xff0c;其中链式存储结构为单向链表&#xff08;即一个方向的有限长度、不循环的链表&#xff09;&#xff0c;对于单链表&#xff0c;由于每个节点只存储了向后的结点的地址&#xff0c;到了尾巴结点就停止了向后链的操作。也就…

架构师系列-消息中间件(九)- RocketMQ 进阶(三)-消费端消息保障

5.2 消费端保障 5.2.1 注意幂等性 应用程序在使用RocketMQ进行消息消费时必须支持幂等消费&#xff0c;即同一个消息被消费多次和消费一次的结果一样&#xff0c;这一点在使用RoketMQ或者分析RocketMQ源代码之前再怎么强调也不为过。 “至少一次送达”的消息交付策略&#xff…

Hive主要介绍

Hive介绍 hive是基于 Hadoop平台操作 HDFS 文件的插件工具 可以将结构化的数据文件映射为一张数据库表 可以将 HQL 语句转换为 MapReduce 程序 1.hive 是由驱动器组成&#xff0c;驱动器主要由4个组件组成&#xff08;解析器、编译器、优化器、执行器&#xff09; 2.hive本身不…

【安卓13-Framework】SystemUI定制之屏蔽下拉状态栏部分快捷按钮

1、需求 屏蔽下拉状态栏谷歌录屏、省电模式、二维码扫描器等快捷按钮。 2、修改路径 普及&#xff1a;安卓的SystemUI包提供了状态栏、导航栏、通知中心等重要的用户界面元素。 状态栏小部件UI显示修改路径&#xff1a;frameworks/base/packages/SystemUI/src/com/android/s…

Java虚拟机(jvm)常见问题总结

1.电脑怎样认识我们编写的Java代码 首先先了解电脑是二进制的系统&#xff0c;他只认识 01010101比如我们经常要编写 HelloWord.java 电脑是怎么认识运行的HelloWord.java是我们程序员编写的&#xff0c;我们人可以认识&#xff0c;但是电脑不认识 Java文件编译的过程 1. 程…

git lab 2.7版本修改密码命令

1.gitlab-rails console -e production Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux] GitLab: 14.9.0-jh (51fb4a823f6) EE GitLab Shell: 13.24.0 PostgreSQL: 12.7 2根据用户名修改密码 user User.find_by(username: ‘username’) # 替换’use…

无人驾驶(移动机器人)路径规划之RRT与RRTStar算法及其matlab实现

在自动驾驶与移动机器人路径规划时&#xff0c;必定会用到经典的算法RRT与RRT Star。下面是RRT与RRTStar的matlab实现效果。可以发现RRTStar效果明显改善。 目录 一、效果比较 1.1 RRT算法效果&#xff08;黑色为障碍物&#xff0c;红色线为最终路径&#xff0c;蓝色三角形为…

C++之STL-vector+模拟实现

目录 一、vector的介绍和基本使用的方法 1.1 介绍 1.2 迭代器 1.3 vector的一些基本使用 1.3.1 构造函数 1.3.2 迭代器 1.3.3 有关容量的接口 1.3.4 增删查改 二、模拟实现vector 2.1 成员变量 2.2 迭代器的实现 2.3 容量接口的实现 2.3.1 size函数实现 2.3.2 capa…

阿斯达年代记三强争霸新手开荒注意事项 搬砖攻略和注意问题分享

阿斯达年代记三强争霸新手开荒注意事项 搬砖攻略和注意问题分享 阿斯达年代三强争霸这款游戏刚开始公测就获得了玩家们的集体关注&#xff0c;这是一款根据影视剧改编的MMORPG游戏&#xff0c;玩家将置身于名为阿斯大陆的奇幻世界&#xff0c;加入阿斯达、亚高、不法者三大势力…

Prompt之美:如何设计提示词让大模型变“聪明”

目录 一. Prompt关键要素 二. Prompt技巧 三. 实战中的Prompt优化 四. 参考文献 一. Prompt关键要素 Prompt是一个简短的文本输入&#xff0c;用于引导AI模型生成特定的回答或执行特定任务。换句话说&#xff0c;Prompt是你与AI模型沟通的方式。一个好的Prompt可以让AI更准…

从现在开始:让AI写代码,你只负责敲tab键

如果你是一名程序员&#xff0c;你一定有过这样的经历&#xff1a;在编写代码的时候&#xff0c;突然遇到了一个棘手的问题&#xff0c;需要花费大量的时间去查找资料、尝试不同的解决方案&#xff0c;甚至有时候还需要去问同事或者在网上寻求帮助。这样的情况不仅会浪费你的时…

用立方样条联合SHAP分析在危险因素鉴定中的作用

用立方样条联合SHAP分析在危险因素鉴定中的作用 1. SHAP分析告诉我们变量之间的关系 SHAP分析计算的SHAP值代表了某变量对于结局指标的贡献&#xff0c;代表了相关性的趋势&#xff0c;SHAP分析中的散点图是对以上关系的可视化&#xff0c;从中我们可以直观看到随着变量值的变…

百度 | 如何白嫖文心一言4.0,偷偷的用!

文心一言4.0 官方价一个月 59.9&#xff0c;贵不贵&#xff0c;很贵啊 现在有个白嫖文心一言4.0的方法 分享给大家 效果比3.0好用 如何使用 这里用到文心智能体平台&#xff0c;也是百度出的&#xff0c;和字节跳动的coze很像 这里打开文心智能体平台&#xff0c;自行百度…

diskMirror docker 使用容器部署 diskMirror 服务器!!!

Welcome to diskMirror-docker 获取项目 这个项目是 diskMirror-spring-boot 镜像版本的项目&#xff0c;您可以使用下面的命令将此项目编译为一个镜像&#xff01; # 进入到您下载的源码包目录 cd diskMirror-docker# 点击脚本来进行版本的设置以及对应版本的下载 设置 和 编…

JavaEE:File类查询一个文件的路径(举例+源码 )

一、File类概述 Java 中通过 java.io.File 类来对一个文件&#xff08;包括目录&#xff09;进行抽象的描述。File 类中的方法可以对文件路径以及文件名等信息进行查询&#xff0c;也可以对文件进行各项增删改操作&#xff0c;本文主要介绍 File 类的查询方法。 二、代码示例 …

Python入门第10篇(编码)

目录 一、编码是什么&#xff1f; 二、Python中编码 1.读取文件引发的问题 2.其实是Windows的问题 3.试着改改问题 4.各种骚操作 5.终极解决 6.推荐方案 总结 Python系列文章目录 前言 编码存在于所有文件&#xff0c;比较常见的ASCII、utf8、gbk等。最常用的还是ut…

大模型 AI 框架昇思 MindSpore 2.3.RC1 发布,训练、推理性能大幅提升,JIT 编译强化

经过社区开发者们几个月的开发与贡献&#xff0c;现正式发布昇思 MindSpore2.3.RC1 版本&#xff0c;通过多维混合并行以及确定性 CKPT 来实现超大集群的高性能训练&#xff0c;支持大模型训推一体架构&#xff0c;大模型开发训练推理更简、更稳、更高效&#xff0c;并在训推一…

【产品设计】B端产品权限设计~功能权限设计篇

对于B端设计而言&#xff0c;良好的权限设计架构是支持其复杂业务的基础和关键。 一、什么是权限管理 权限管理&#xff0c;一般指根据系统设置的安全规则或者安全策略&#xff0c;用户可以访问而且只能访问自己被授权的资源。 简而言之&#xff0c;用户登录系统后&#xff0…

使用 Redux 管理全局状态

Redux 是个状态集中管理框架&#xff0c;状态可以跨组件共享&#xff0c;状态更新后&#xff0c;调用监听器。其实状态可以认为就是个全局对象&#xff0c;为什么要做一个框架来管理呢&#xff1f;如果我们自己使用一个全解字典来管理状态是不是也行&#xff1f;如果不做任何控…