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

【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程序。在日常的编程实践中,灵活运用这些运算符将为您的代码逻辑增添无穷活力!

在这里插入图片描述

相关文章:

  • 我把Spring Cloud的超详细资料介绍给你,面试官不会生气吧?geigei
  • 【完美实现】VITE + VUE3 + SVG图片解析+element-plus开发环境初始化(基于macos)
  • 面试宝典-【redis】
  • ECharts饼图图例消失踩的坑
  • 电玩城游戏大厅计时软件怎么用,佳易王计时计费管理系统软件定时语音提醒操作教程
  • mineadmin 快速安装部署(docker环境)
  • Go Zero微服务个人探究之路(十六)回顾api服务和rpc服务的本质
  • Avalonia之ListBox模版设置
  • SpringBoot 过滤器和拦截器的区别
  • 【C语言】文件操作篇-----程序文件和数据文件,文件的打开和关闭,二进制文件和文本文件,fopen,fclose【图文详解】
  • 修复Jenkins fossa扫描的时候报错的问题
  • PostgreSQL数据优化——死元组清理
  • 前端框架的发展史可以追溯到早期的静态网页时代
  • 寄存器(内存访问)
  • 最短路 算法解析+例题
  • JavaScript学习总结——原型
  • JDK 6和JDK 7中的substring()方法
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • vue 个人积累(使用工具,组件)
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 什么是Javascript函数节流?
  • 微信小程序填坑清单
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (九)信息融合方式简介
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (五)Python 垃圾回收机制
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .gitignore文件---让git自动忽略指定文件
  • .net core 6 redis操作类
  • .Net Core与存储过程(一)
  • .net FrameWork简介,数组,枚举
  • .NET 服务 ServiceController
  • .net 提取注释生成API文档 帮助文档
  • .net 中viewstate的原理和使用
  • @angular/cli项目构建--http(2)
  • [APIO2015]巴厘岛的雕塑
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [BZOJ4010]菜肴制作
  • [C++打怪升级]--学习总目录
  • [FlareOn6]Overlong
  • [FT]chatglm2微调
  • [HarmonyOS]第一课:从简单的页面开始
  • [HTML API]HTMLCollection
  • [mit6.s081] 笔记 Lab2:system calls
  • [NISACTF 2022]easyssrf
  • [PHP]关联和操作MySQL数据库然后将数据库部署到ECS