Java复习—运算符

news2025/1/15 13:09:21

运算符

运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子就可以称为表达式。

算数运算符

符号作用
+加法作用
-减法作用
*乘法作用
/除法法作用
%取模、取余

在代码中,如果有小数参与计算,结果可能不精确
例如:

System.out.println(1.1 + 1.01);

结果:
在这里插入图片描述
除法:整数参与运算。只能得到结果的整数部分(不是四舍五入),若想得到小数,需要写成小数格式
例如:

System.out.println(8 / 3);
System.out.println(8.0 / 3);

结果:

在这里插入图片描述
练习:

//输入一个三位数,求百位数,十位数,个位数
        System.out.println("请输入一个三位数");
        Scanner scanner=new Scanner(System.in);
        int a= scanner.nextInt();
        int b,c,d;
        b=a%10;
        c=a/10%10;
        d=a/100;
        System.out.println("个位数是"+b);
        System.out.println("十位数是"+c);
        System.out.println("百位数是"+d);

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

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

隐式转换:

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

  • 转换规则1:取值范围小的,和取值范围大的进行运算,小的先提升为大的,在进行运算
  • 转换规则2: byte short char 三种类型的数据在进行运算的时候,都会先提升为int ,再进行运算。

例如:

byte b1 = 10;
byte b2 = 20;
result = b1 +b2 ;

其结果是int类型

int i = 10;
long n = 100L;
double  d = 20.0;
result = i + n + d;
//  i和n相加 是long类型的。在相加是double类型

数据类型是double;

强制转换

强制转换:如果一个取值范围较大的数值,赋值给取值范围较小的变量,是不允许直接复制的,如果一定要赋值,需要强制转换。

格式:目标数据类型 变量名 =(目标数据类型)被强制转换的数据。

例如:

double a = 12.3;
int b = (int)a;

字符串相加

当“+”操作中出现字符串的时候,这个“+”是字符串连接符,而不是算数运算符,会将前后的数据进行拼接,二产生一个新的字符串。
例如;
“123”+123的结果是“123123”,

连续进行“+”的操作的时候,从左到右一次执行
例如:
1+ 99+“程序员” 的结果是 “100程序员”

字符串“+”的操作

当字符+字符的时候,会把字符通过ASCII码表查询到对应的数字在进行计算

自增自减:

++ 和 – 不论是放在变量前面还是放在变量后面,单独写一行结果是一样的。

a = 10;
int b = a ++ 先用后加 b= 10

int b = ++ a 先加后用 b= 11

赋值运算符

符号作用
=赋值
+=加后赋值 a-=b 将 a+b的值赋给a
-=减后赋值
*=乘后赋值
/=除后赋值
%=取余后赋值

注意:隐藏了一个强制类型转换

关系运算符

符号说明
==a==b 判断a和b的 值是否相等
!=a!=b,判断a和b的值是否不相等
>a>b 判断a是否大于b
>=a>=b判断a是否大于等于b
<a<b.判断a是否小于b
<=a<=b 判断啊是否小于等于b

(其结果是true 或者false,符号中间没有空格)

逻辑运算符:

数学中可以写3<x<5.但是在Java中,需要把上面的式子进行拆解,在进行合并表达
拆解为x>3和x<5
合并为x>3&x<5

符号说明
&逻辑与(且) ,并且,两边都为真,结果才是真

| 逻辑或 或者,两边都是假,结果才是假 |
| ^ | 逻辑异或 ,相同为false,不同为true|
| ! | 逻辑非 取反|

短路运算符
&& 短路与 结果与&相同,但是有短路效果,
|| 短路或 结果和 | 相同,但是有短路效果。

三元运算符

格式:关系表达式1?表达式2:表达式2;
例如求两个数的较大值

a>b?a:b
//表达式如果是真的,它的值等于前面的,如果是假的,则等于后面的。

快捷键(idea): ctrl+alt +L,可以格式化代码

原码:
十进制数据的二进制的表现形式,最左边是符号位,0为正,1为负
反码:
正数的补码反码是其本身,负数的反码是符号位保持不变,其余取反

补码:
正数的补码是其本身,附属的补码是其反码的基础上+1

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

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

相关文章

Qt OpenGL(05)标准化设备坐标(NDC)

文章目录OpenGL中的坐标简介标准化设备坐标标准化设备坐标绘制 x y z 三个轴线完整代码顶点着色器片段着色器Widget.hWidget.cpp总结OpenGL中的坐标简介 OpenGL 基于绘制流水线模型&#xff0c;而且绘制流水线的第一个步骤是对顶点进行一 系列的操作, 其中大部分属于几何操作。…

3-2内存管理-虚拟内存

文章目录一.虚拟内存的基本概念二.请求分页管理方式&#xff08;一&#xff09;页表机制&#xff08;二&#xff09;缺页中断机构&#xff08;三&#xff09;地址变换机构三.页面置换算法&#xff08;一&#xff09;最佳置换算法OPT&#xff08;二&#xff09;先进先出页面置换…

flowable 简介

flowable 简介目录概述需求&#xff1a;设计思路实现思路分析1.管理2.二、初识Flowable五大引擎3.2.通过编写程序的方式来构造ProcessEngineConfiguration对象4.流程引擎API架构图5.flowable 表结构说明参考资料和推荐阅读Survive by day and develop by night. talk for impor…

Leetcode_单周赛_327

6283. 正整数和负整数的最大计数 代码 直接遍历统计即可 class Solution {public int maximumCount(int[] nums) {int a 0, b 0;for (int i 0; i < nums.length; i) {if (nums[i] > 0) a;else if (nums[i] < 0) b;}return Math.max(a, b);} }6285. 执行 K 次操作…

Python代码实现:坐标轮换法求解多维最优化问题

文章目录多维最优化问题坐标轮换法原理代码实现坐标轮换法坐标轮换法优缺点多维最优化问题 此前介绍的黄金分割法和切线法都是针对一维最优化问题的解决方案。本文开始&#xff0c;我们将最优化问题从一维扩展到多维&#xff0c;暂时仍考虑无约束的优化场景。 坐标轮换法原理…

ArrayList | 简单的洗牌算法

一个洗牌程序需要包含&#xff1a; 创建一副扑克牌&#xff08;除去大小王剩下52张&#xff0c;每种花色13张&#xff09;。洗牌&#xff0c;打乱牌的顺序。揭牌&#xff0c;每位玩家轮流揭牌&#xff0c;从洗完后的牌组中获得自己的牌。因此&#xff0c;我们可以依照以下思路来…

R 语言 4.2.2安装 WGCNA

文章目录1 WGCNA库介绍2 安装踩坑还得是官方文档这样安装我出现的问题参考AppendixA. 安装RB. 配置环境C. 修改镜像1 WGCNA库介绍 WGCNA是用于加权相关网络分析的R包&#xff0c; 相关网络越来越多地用于生物信息学应用 加权基因共表达网络分析是一种系统生物学方法&#xff0…

按键控制电源通断,实现各种设备/电脑开关机低功耗IC

前言 今天记录一下一些硬件开关电的低功耗控制ic&#xff0c;代替物理机械开关&#xff0c;后续有新的更好用的芯片会继续更新此博。 环境 every machine 参考文档 正文 一版我们选择ic&#xff0c;除了功能之外还要看一些性能&#xff0c;这里我暂时录入的功能就是一个按…

SpringCloud从入门到精通(九)

bus bus-概述 • Spring Cloud Bus 是用轻量的消息中间件将分布式的节点连接起来&#xff0c;可以用于广播配置文件的更改或 者服务的监控管理。关键的思想就是&#xff0c;消息总线可以为微服务做监控&#xff0c;也可以实现应用程序之间相通信。 • Spring Cloud Bus 可选的…

【MySQL】为什么使用B+树做索引

【MySQL】为什么使用B树做索引? 索引这个词&#xff0c;相信大多数人已经相当熟悉了&#xff0c;很多人都知道MySQL的索引主要以B树为主&#xff0c;但是要问到为什么用B树&#xff0c;恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。 索引是一…

linux系统中QT控件的操作的基本方法

大家好&#xff0c;今天主要和大家聊一聊&#xff0c;如何学习QT中的控件使用方法。 目录 第一&#xff1a;QT控件基本简介 第二&#xff1a;QPushButton使用方法 第三&#xff1a;QTableWidget简介 第四&#xff1a;最终运行效果 第一&#xff1a;QT控件基本简介 老子曾说…

Rad Studio 11.2 安装 OrangeUI 组件教程

官方文档&#xff1a;http://www.orangeui.cn/components/install 本文参考官方文档进行 11 版本的安装 开始 打开 Rad Studio 11&#xff0c;点击 FIle–Open Project… 找到解压的目录下的 .groupproj 文件 出现移动端提示弹窗&#xff0c;关掉 即可 右键 点击右侧第一个程序…

大数取余公式

ab)modP[(amodP)(bmodP)]modP (ab)modP[(amodP)(bmodP)]modP欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 …

数据结构-随机化快速排序

一、概念及其介绍 快速排序由 C. A. R. Hoare 在 1960 年提出。 随机化快速排序基本思想&#xff1a;通过一趟排序将要排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另外一部分的所有数据都要小&#xff0c;然后再按此方法对这两部分数据分别进行快速排…

Jenkins凭证/凭据管理详解

文章目录一、Jenkins中的凭证凭证类型凭证范围系统全局用户凭证域凭证提供者系统凭证提供者 &#xff08;Jenkins 凭证提供者&#xff0c;常用&#xff09;用户凭证提供者文件夹凭证提供者BlueOcean 凭证插件凭证存储二、管理凭证选择凭证提供者选择凭证类型通过提供者指定凭证…

JavaScript---DOM---DOM重点核心---1.8

关于DOM操作&#xff0c;我们主要针对于元素的操作。主要有创建、增、删、改、查、属性操作、事件操作。 创建 document.writeinnerHTMLcreateElement 增 appendChildinsertBefore 删 removeChild 改 主要修改dom的元素属性&#xff0c;dom元素的内容、属性、表单的值等 …

websocket的实现

websocket的实现 本文的websocket实现基于单线程Reactor网络模型的代码实现 初步了解websocket&#xff08;必读&#xff09;:参考连接 websocekt的实现基于http&#xff0c;数据传输与处理过程也很类似&#xff1a;基于reactor的http服务器 websocket握手 websocket基于T…

Python-123练习-02数值运算

文章目录1. 整数四则运算2. 除法运算3. 计算矩形面积4. 计算矩形面积结果保留两位小数5. 计算存款利息6. 计算多个垫片面积的和7. 换披萨8. 表达式求值9. 三角函数计算10. 三角形周长及面积1. 整数四则运算 描述 编写程序&#xff0c;计算2个正整数的和、差、积、商并输出。题…

2023春节祝福系列第一弹(放飞孔明灯,祝福大家身体健康)

2023年春节祝福第一弹 放飞孔明灯&#xff0c;祝福大家身体健康&#xff01; 目录 一、前言 二、一片星光闪烁的旋转星空 &#xff08;1&#xff09;、效果展示&#xff1a; &#xff08;2&#xff09;、相关源代码 &#xff08;3&#xff09;、语法解释 &#xff08;3.…

[ 数据结构 ] 堆排序--------思路、图解、代码

0 基本介绍 堆定义:首先是完全二叉树,分为大顶堆和小顶堆大顶堆:顾名思义,如果将父子节点看成一个堆(三个节点的组合),那么顶的值需要大于其两个子节点的值,即顶大;小顶堆即顶小升序排序使用大顶堆,降序使用小顶堆回顾顺序存储二叉树中,父子节点的关系为:下标为n的节点,它的左…