【Java探索之旅】运算符解析 算术运算符,关系运算符

个人头像
🎥 屿小夏 : 个人主页
🔥个人专栏 : Java编程秘籍
🌄 莫道桑榆晚,为霞尚满天!

文章目录

  • 📑前言
  • 一、什么是运算符
  • 二、算术运算符
    • 2.1 基本四则运算(+-*/%)
    • 2.2 增量运算
    • 2.3 自增运算
  • 三、关系运算符
  • 🌤️全篇总结

📑前言

Java中运算符是非常重要的概念,它们用于对变量进行操作和比较,是实现各种算法和逻辑的基础。本文将介绍Java中的算术运算符和关系运算符,解释它们的基本用法和注意事项,帮助读者更好地理解和运用这些运算符。

一、什么是运算符

计算机的最基本的用途之一就是执行数学运算,比如:

int a = 10;
int b = 20;
a < b;
b > a;
a + b;
a * b;

上述 + * > < 等就是运算符

即:对操作数进行操作时的符号,不同运算符操作的含义不同。作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+ - */)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等.

二、算术运算符

2.1 基本四则运算(±*/%)

int a = 10;
int b = 5;
System.out.println(a+b);    //15
System.out.println(a-b);    //5
System.out.println(a*b);    //50
System.out.println(a/b);    //2
System.out.println(a%b);    //取模,相当于数学除法中的取余数

注意:

  • 都是二元运算符,使用时必须要有左右两个操作数
  • int / int 结果还是int类型,而且会向下取整
int a = 3;
int b = 2;
System.out.println(a/b);    
//数学中应该输出1.5,java会向下取整,即小数点之后全部舍弃了(相当于是两个整数的除法,输出的结果也就是整数)
//想要实现数学中的除法可以使用下面方法(只要两边有一个数是浮点数,那么输出的结果就是浮点数)
double d = a * 1.0 / b;
System.out.println(d);
  • 做除法和取模时,右操作数不能为0
int a = 3;
int b = 0;
System.out.println(a/b);
System.out.println(a%b);

否则就会报错:

image-20240307104012071

  • % 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的
System.out.println(11.5%2); //1.5
  • 两侧操作数类型不一致时,向类型大的提升
System.out.println(1+0.5);//1是int类型,0.5是double类型,在运算的时候,1会先提升为double类型再参与计算1.0+0.5=1.5

2.2 增量运算

+= -= *= %=该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。

int a = 8;
a -= 1; //相当于 a = a - 1
System.out.println(a);

a += 2; //相当于 a = a + 2
System.out.println(a);

a *= 5; //相当于 a = a * 5
System.out.println(a);

a /= 3; //相当于 a = a / 3
System.out.println(a);

a %= 2; //相当于 a = a % 2
System.out.println(a);

**注意:**只有变量才能使用该运算符,常量不能使用。

2.3 自增运算

++是给变量的值+1,–是给变量的值-1

int a = 7;
a++;    //后置++,表示给a的值+1
++a;    //前置++,表示给a的值+1
System.out.println(a++);    //后置++,先使用再++,先输出a原来的值,然后再对a进行+1
System.out.println(--a);    //前置++,先++再使用,先对a原本的值进行+1,然后再对其输出

int b = 6;
b--;    //后置--,表示给a的值-1
--b;    //前置--,表示给a的值-1
System.out.println(--b);    //前置--,先--再使用,先对b原来的值-1,然后再输出
System.out.println(b--);    //后置--,先使用再--,先输出b原来的值,然后再对b进行-1

注意:

  • 如果单独使用,【前置++、–】和【后置++、–】没有任何区别

  • 如果混合使用,【前置++、–】先+1、-1,然后使用变量+1、-1之后的值,【后置++、–】先使用变量原来的值,表达式结束时给变量+1、-1

  • 只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

三、关系运算符

关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false 。

int a = 10;
int b = 20;
// 注意:在Java中 = 表示赋值,要与数学中的含义区分
// 在Java中 == 表示相等
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a < b); // true
System.out.println(a > b); // false
System.out.println(a <= b); // true
System.out.println(a >= b); // false

注意:当需要多次判断时,不能连着写,比如:3 < a < 5,Java程序与数学中是有区别的

🌤️全篇总结

本篇详细Java中的算术运算符和关系运算符,包括基本的四则运算、增量运算、自增自减运算以及关系运算符的使用方法和注意事项。看到这里相信你已经可以熟练地运用这些运算符,编写出更加高效和准确的Java程序。在日常的编程实践中,灵活运用这些运算符将为您的代码逻辑增添无穷活力!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2049.不容易系列之(4)——考新郎

2048的升级 当nm时则全排错&#xff0c;与上题一样 当n>m时&#xff0c;则有n-m个是排对的&#xff0c;剩下m个全错 import java.util.*;public class Main {public static void main(String[] args) {Scanner scannernew Scanner(System.in);int num scanner.nextInt()…

LeetCode2.07链表相交

2.07链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结…

洛谷 P5018 对称二叉树

题目背景 NOIP2018 普及组 T4 题目描述 一棵有点权的有根树如果满足以下条件&#xff0c;则被轩轩称为对称二叉树&#xff1a; 二叉树&#xff1b;将这棵树所有节点的左右子树交换&#xff0c;新树和原树对应位置的结构相同且点权相等。 下图中节点内的数字为权值&#xf…

Compose UI 之 BottomAppBar 底部应用栏

BottomAppBar 底部应用栏 BottomAppBar 是一个在 Jetpack Compose 中用于创建底部应用栏的组件。它提供了一个高度可定制且功能丰富的底部导航解决方案。 它的使用方式与 TopAppBar 类似。下面的图是 BottomAppBar 的基本样式图。 常见使用场景 BottomAppBar 在应用中常用于…

【JavaScript】使用debugger语句快速开启浏览器调试代码工具

简言 有的时候我们想开启浏览器代码调试功能&#xff0c;这个时候应该使用debugger语句。 debugger debugger 语句调用任何可用的调试功能&#xff0c;例如设置断点。如果没有调试功能可用&#xff0c;则此语句不起作用。 debugger;可以多次使用 debugger语句&#xff0c;使…

蓝桥杯练习系统(算法训练)ALGO-976 P0804字符串压缩

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 编写一个函数void strcompress(char *s)&#xff0c;输入一个字符串&#xff08;只包含小写字母和空格&#xff0c;且长度小于1000&am…

基于springboot社团管理系统的设计与实现

互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#xff0c;劳…

leetcode代码记录(有效的括号

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&…

香港理工大学主办!2024年第八届电力能源系统与应用国际会议(ICoPESA 2024)即将召开!

2024年第八届电力能源系统与应用国际会议&#xff08;ICoPESA 2024&#xff09; 2024年6月24日-26日 中国香港 ICoPESA 2024-Hong Kong (icpesa.org)https://icpesa.org/index.html 会议组织单位 会议出版及检索&#xff1a; 会议录用并注册的论文将由IEEE出版&#xff0c;…

Let’s Move Sui , 一起来学习吧

Let’s Move Sui是一个全新的交互式学习平台&#xff0c;通过SuiFrens的帮助教您如何在Sui上构建。设计供新手和经验丰富的开发者使用&#xff0c;Let’s Move Sui提供了一次非凡的Sui开发之旅&#xff0c;利用了Move在Sui上的独特之处&#xff0c;从基于对象的数据模型的基础知…

3、鸿蒙学习-在AGC创建HarmonyOS 项目或应用

项目和应用介绍 关于项目 项目是资源、应用的组织实体。资源包括服务器、数据库、存储&#xff0c;以及您的应用、终端用户的数据等。在您使用部分服务时&#xff0c;您是数据的控制者&#xff0c;数据将按照您设置的数据处理位置来存储在指定区域。 通常&#xff0c;您不需…

SE园区综合实验(未补齐版)

实验要求&#xff1a; 1.局域网存在vlan10和vlan20两个业务vlan&#xff0c;ip网段分别对应192.168.1.0/24和192.168.2.0/24 2.业务vlan可以在所有链路上传输数据 3.sw1和sw2之间的直连链路上配置静态链路聚合实现链路冗余&#xff0c;并提高链路带宽 4.sw3为某接入点二次交…

C# ListView 控件使用

1.基本设置 listView1.Columns.Add("序号", 60); //向 listView1控件中添加1列 同时设置列名称和宽度listView1.Columns.Add("温度", 100); //下同listView1.Columns.Add("偏移", 100);listView1.Columns.Add("分割", 50);listView1…

Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%

亲爱的社区小伙伴们&#xff0c;我们很高兴地向大家宣布&#xff0c;在 3 月 8 日我们引来了 Apache Doris 2.1.0 版本的正式发布&#xff0c;欢迎大家下载使用。 在查询性能方面&#xff0c; 2.1 系列版本我们着重提升了开箱盲测性能&#xff0c;力争不做调优的情况下取得较好…

Nacos安装遇到的问题

Windows安装nacos双击startup.cmd执行出错 改成用cmd窗口输入命令 startup.cmd -m standalone启动之后登录的问题 权限认证失败 没有 命名空间的访问权限&#xff01; 把默认的登录url改成&#xff1a; http://127.0.0.1:8848/nacos/#/login登录之后&#xff0c;点击导入配置…

Postman定义全局变量和环境

Postman定义全局变量和环境 一. 问题二. 配置环境解决 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一. 问题 问题前因&#xff1a;在使用postman调用elasticsearch接口的时候&…

XML 简介及用法详解

XML 是一种用于存储和传输数据的与软件和硬件无关的工具。 什么是XML&#xff1f; XML代表eXtensible Markup Language&#xff08;可扩展标记语言&#xff09;。XML是一种与HTML非常相似的标记语言。XML被设计用于存储和传输数据。XML被设计成具有自我描述性。XML不执行任何操…

VX防撤回以及多开

功能&#xff1a; 打破微信只能登录一个账号的局限&#xff0c;同时让撤回的消息不再神秘 安装步骤 获得文件后&#xff0c;直接双击文件就可以进入到安装界面&#xff0c;软件自动定位安装到D盘&#xff0c;可以省去更改安装位置的操作 点击确定&#xff0c;稍等一会安装成功即…

IDEA自定义Maven仓库

Maven 是一款广泛应用于 Java 开发的工具&#xff0c;其作用类似于一个全自动的 JAR 包管理器&#xff0c;能够方便地导入开发所需的相关 JAR 包。在使用 Maven 进行 Java 程序开发时&#xff0c;开发者能够极大地提高开发效率。以下是关于如何安装 Maven 以及在 IDEA 中配置自…

后渗透--利用ebpf隐藏后门用户

原理 首先我们要搞清楚ssh登陆的流程 先获取到ssh的pid 然后利用strace strace -f -p 830可以看到他打开了/etc/passwd去读取内容 那么我们的思路就很简单&#xff0c;hook ssh进程的read syscall exit,然后篡改返回内容 代码 ebpf // build ignore#include "my…
最新文章