Java运算符介绍及其用法

运算符

1.算数运算符

符号说明
+加法
-减法
*乘法
/除法
如果符号前后都是整数,结果取整数部分
如果符号前后有一个为小数,结果就是正常小数
%模,取余数部分
public class Demo01Arithmetic {public static void main(String[] args) {int i = 10;int j = 3;int add = i+j;//推荐使用System.out.println(add);//13System.out.println(i+j);//13int sub = i-j;System.out.println(sub);//7int mul = i*j;System.out.println(mul);//30int div = i/j;System.out.println(div);//3int mo = i%j;System.out.println(mo);//1}
}
+:1.运算2.字符串拼接:任何类型的数据遇到字符串都会变成字符串,此时+就不再是运算了,而是字符串拼接,将内容直接往后拼接    
public class Demo02Arithmetic {public static void main(String[] args) {int i = 10;int j = 3;System.out.println(i+j+"");//13System.out.println(i+j+""+1);//131System.out.println(i+""+j);//103System.out.println("i和j相加只和为:"+(i+j));}
}

1.2.自增自减运算符(也算算数运算符的一种)

1.格式:变量++ -> 后自加++变量 -> 前自加变量-- -> 后自减--变量 -> 前自减自增和自减只变化12.使用:a.单独使用: ++ -- 单独为一句,没有和其他的语句掺和使用i++;符号前在在后都是先运算b.混合使用: ++ -- 和其他的语句掺和使用了(比如:输出语句,赋值语句)符号在前:先运算,在使用运算后的值符号在后:先使用原值,使用完毕之后,自身再运算
public class Demo03Arithmetic {public static void main(String[] args) {int i = 10;//i++;++i;System.out.println("i = " + i);System.out.println("==================");int j = 100;int result01 = ++j;System.out.println("result01 = " + result01);//101System.out.println(j);//101System.out.println("==================");int k = 10;int result02 = k++;System.out.println("result02 = " + result02);System.out.println(k);System.out.println("==================");int z = 100;System.out.println(z++);System.out.println(z);System.out.println("==================");int x = 10;int y = 20;/*10+19 = 2929+12 = 41以后开发肯定不会这么写*/int result03 = x++ + --y + ++x;System.out.println("result03 = " + result03);System.out.println("=======================");int c = 10;c = c++;System.out.println(c);//10System.out.println(c);//10}
}

3.赋值运算符

1.基本赋值运算符:=  -> 先看等号右边的,再将右边的数据赋值给等号左边的变量2.复合赋值运算符:+=:int i = 10;i+=2 -> i = i+2-=*=/=  : 取整数部分%=  : 取余数部分  3.注意:byte short 遇到复合赋值运算符,jvm会自动转型      
public class Demo01Assignment {public static void main(String[] args) {int i = 10;i+=2;//i = i+2System.out.println(i);}
}
public class Demo02Assignment {public static void main(String[] args) {byte b = 10;//b = (byte)(b + 1);b+=1;//b = b+1System.out.println(b);}
}

4.关系运算符(比较运算符)

1.结果:boolean-> 要么是true,要么是false
2.作用:做条件判断使用    
符号说明
==如果符号前后相等为true;否则为false
>如果符号前的数据大于符号后的数据为true,否则为false
<如果符号前的数据小于符号后的数据为true,否则为false
>=如果符号前的数据大于或者等于符号后的数据为true,否则为false
<=如果符号前的数据小于或者等于符号后的数据为true,否则为false
!=如果符号前后不相等为true;否则为false
public class Demo01Compare {public static void main(String[] args) {int i = 10;int j = 20;boolean result01 = i == j;System.out.println("result01 = " + result01);//falseSystem.out.println(i>j);//falseSystem.out.println(i<j);//trueSystem.out.println(i>=j);//falseSystem.out.println(i<=j);//trueSystem.out.println(i!=j);//true}
}

5.逻辑运算符

 1.作用:连接多个boolean结果的2.结果:boolean型结果    
符号说明
&&(与,并且)有假则假,符号前后有一个结果为false,整体就是false
||(或者)有真则真,符号前后有一个结果为true,整体就是true
!(非,取反)不是true,就是false;不是false,就是true
^(异或)符号前后结果一样为false;不一样为true
true^true -> false
true^false -> true
false^true -> true
false^false -> false
public class Demo01Logic {public static void main(String[] args) {int i = 10;int j = 20;int k = 10;boolean result01 = (i>j) && (i==k);System.out.println("result01 = " + result01);//falseboolean result02 = (i>j) || (i==k);System.out.println("result02 = " + result02);//trueboolean result03 = (i>j) ^ (i==k);//false ^ trueSystem.out.println("result03 = " + result03);//trueboolean result04 = !(i>j) ;System.out.println("result04 = " + result04);//true}
}
符号说明
&1.单与,如果前后都是布尔型,有假则假,但是如果符号前为false,符号后的判断会继续执行
2.如果该符号前后都是数字,看做是位运算符
&&1.双与,有假则假,但是有短路效果,如果符号前为false,符号后的判断就不会执行了
|1.单或,如果前后都是布尔型,有真则真,但是如果符号前为true,符号后的判断会继续执行
2.如果该符号前后都是数字,看做是位运算符
||1.双或,有真则真,但是有短路效果,如果符号前为true,符号后的判断就不会执行了
public class Demo02Logic {public static void main(String[] args) {int a = 10;int b = 20;//boolean result01 = (++a>100)&(++b>10);//boolean result01 = (++a > 100) && (++b > 10);//boolean result01 = (++a<100)|(++b>10);boolean result01 = (++a<100)||(++b>10);System.out.println("result01 = " + result01);System.out.println("a = " + a);System.out.println("b = " + b);}
}

问题:定义一个变量(a),随意给一个值,判断这个变量接收的值是否在1-100之间

1<=a<=100 -> 错误,这是数学写法

i>=1 && i<=100 -> java写法,用逻辑运算符拼接多个判断

6.三元运算符

1.格式:boolean表达式?表达式1:表达式22.执行流程:先判断,如果是true,就走?后面的表达式1,否则就走:后面的表达式2

6.1练习1

需求:小明考完试了,判断小明的分数是否及格,返回结果
public class Demo01Ternary {public static void main(String[] args) {//定义一个变量,表示小明的分数int score = 60;String result = score>=60?"及格":"不及格";System.out.println("result = " + result);}
}

6.2练习2

有两个老人,年龄分别为70  80  求出两个老人的最高年龄
public class Demo02Ternary {public static void main(String[] args) {int old1 = 70;int old2 = 80;int max = old1>old2?old1:old2;System.out.println("max = " + max);}
}

6.3 练习3

有三个老人,年龄分别为70  80  60  求出三个老人的最高年龄
public class Demo03Ternary {public static void main(String[] args) {int old1 = 70;int old2 = 80;int old3 = 60;int temp = old1>old2?old1:old2;int max = temp>old3?temp:old3;System.out.println("max = " + max);}
}

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

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

相关文章

问题:在本案复议阶段,复议机关()。 #其他#媒体

问题&#xff1a;在本案复议阶段&#xff0c;复议机关&#xff08;&#xff09;。 A&#xff0e;有权责令被申请人纠正违法的征税行为 B&#xff0e;应当对被申请人作出的税务具体行政行为所依据的事实证据、法律程序、法律依据及设定权利义务内容的合法性、适当性进行全面审…

【JMeter接口测试工具】第二节.JMeter基本功能介绍(上)【入门篇】

文章目录 前言一、获取所有学院信息接口执行二、线程组的介绍 2.1 并发和顺序执行 2.2 优先和最后执行线程组 2.3 线程组的设置细节三、HTTP请求的介绍四、查看结果树的配置使用总结 前言 一、获取所有学院信息接口执行 我们先针对一条简单的接口进行执行&#…

sql server 把表的所有的null改为0,不要限制某列

DECLARE tableName NVARCHAR(256) Linear -- 替换为你的表名 DECLARE sql NVARCHAR(MAX) SELECT sql UPDATE tableName SET COLUMN_NAME 0 WHERE COLUMN_NAME IS NULL; FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME tableName AND TABLE_SCHEM…

docker_如何推送镜像到仓库(hub.docker.com)

在执行 docker push 时收到 denied: requested access to the resource is denied 错误通常意味着你没有权限将镜像推送到目标存储库。这可能有几个原因,包括: 未登录 Docker Hub:你还没有登录到 Docker Hub,或者你登录的账户没有权限推送到目标存储库。存储库不存在:目标…

【Spring Cloud Alibaba】13.自建存储对象服务与集成(minio版)

文章目录 简介什么是云存储服务&#xff08;OSS&#xff09;为什么选择MiniIOMiniIO相关地址 搭建(docker)安装Docker部署MinIO创建存储桶配置存储桶设置存储桶可以直接在浏览器访问 集成到Spring Cloud Alibaba项目创建子模块引入依赖包项目结构配置文件工具类接口类测试 简介…

别让你的品牌失去声音,品牌策划如何成为你的王牌?

品牌策划可不仅仅是一个简单的概念&#xff0c;它是一门真正的艺术和科学。 它涉及到在确立品牌定位之后&#xff0c;进行一系列精心设计的传播和推广活动&#xff0c;从而塑造和管理品牌&#xff0c;让品牌价值达到最大化。 在这个竞争激烈的市场中&#xff0c;想要让你的品…

频谱 搬移

为什么一个信号与一个频率固定的余弦信号相乘&#xff0c;频域上&#xff0c;相当于对信号的频谱进行了一个移动处理? 这个现象可以通过傅里叶变换和调制定理来解释。 数学解释 设信号 x ( t ) x(t) x(t) 和余弦信号 cos ⁡ ( 2 π f c t ) \cos(2\pi f_c t) cos(2πfc​t)…

什么是 Spring Boot 的起步依赖和自动配置?它们的作用是什么?

Spring Boot 的起步依赖和自动配置是 Spring Boot 框架的两个核心特性&#xff0c;它们的作用主要是简化了 Spring Boot 项目的搭建和配置过程。 起步依赖&#xff08;Starter Dependencies&#xff09;&#xff1a;起步依赖是一种预先定义好的依赖关系集合&#xff0c;它包含…

【人工智能】第三部分:ChatGPT的应用场景和挑战

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

docker搭建mongo单机单节点副本集模式

1.先说问题 现有如下问题: 1.在springboot环境下,连接mongo,报如下错误: Caused by: com.mongodb.MongoCommandException: Command failed with error 20 (IllegalOperation): Transaction numbers are only allowed on a replica set member or mongos on server xxx:…

FactoryTalk View Site Edition的VBA基本应用

第一节 在VBA中标签的读取和写入 本例要达到的目标是通过FactoryTalk View Site Edition&#xff08;以下简称SE&#xff09;的VBA来访问PLC中的下位标签&#xff0c;并实现标签的读写。 1.准备工作 打开SE&#xff0c;选择应用程序类型&#xff08;本例是Site Edition Netwo…

解决Ubuntu系统/usr/lib/xorg/Xorg占用显卡内存问题原创

在Ubuntu系统中&#xff0c;/usr/lib/xorg/Xorg进程占用显卡内存的问题可能会影响系统性能&#xff0c;特别是在使用GPU进行计算任务时。以下是一些解决方法&#xff0c;可以帮助你减少或解决这个问题&#xff1a; 1. 更新显卡驱动 首先&#xff0c;确保你使用的是最新版本的…

【C++面向对象编程】(二)this指针和静态成员

文章目录 this指针和静态成员this指针静态成员 this指针和静态成员 this指针 C中类的成员变量和成员函数的存储方式有所不同&#xff1a; 成员变量&#xff1a;对象的成员变量直接作为对象的一部分存储在内存中。成员函数&#xff1a;成员函数&#xff08;非静态成员函数&am…

燃烧截稿倒计时,NDSS‘25大会即将召开,你的论文准备好了吗?

燃烧截稿倒计时&#xff01;NDSS25大会即将召开&#xff0c;你的论文准备好了吗&#xff1f; 第32届NDSS25(Network and Distributed System Security Symposium)即网络与分布式系统安全研讨会将于2025年2月23日至28日在加利福尼亚州圣地亚哥举行&#xff01; 作为信息安全领域…

【Python机器学习】将PCA用于cancer数据集并可视化

PCA最常见的应用之一就是将高维数据集可视化。一般对于有两个以上特征的数据&#xff0c;很难绘制散点图&#xff0c;。对于Iris&#xff08;鸢尾花&#xff09;数据集&#xff0c;我们可以创建散点矩阵图&#xff0c;通过展示特征所有可能的两两组合来展示数据的局部图像。 不…

MI-SegNet: 基于互信息的超越领域泛化的超声图像分割

文章目录 MI-SegNet: Mutual Information-Based US Segmentation for Unseen Domain Generalization摘要方法实验结果 MI-SegNet: Mutual Information-Based US Segmentation for Unseen Domain Generalization 摘要 针对医学图像分割在不同领域间泛化能力有限的问题,特别是针…

Docker搭建redis-cluster集群

1. 前期准备 1.1 拉redis镜像 docker search redis docker pull redis1. 2 创建网卡 docker network create myredis --subnet 172.28.0.0/16#查看创建的网卡 docker network inspect myredisdocker network rm myredis #删除网卡命令 多个中间 空格隔开 docker network --h…

Python中的Paramiko与FTP文件夹及文件检测技巧

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; Python代码的魅力与实用价值 在当今数字化时代&#xff0c;编程已成为一种不可或缺的技能。Python作为一种简洁、易读且功能强大的编程语言&#xff0c;受到了全球开发者的喜爱。它不仅适用于初学者入门&#xff0c…

配置 jDK 和 Android环境

目录 一、配置jDK 1. 安装 JDK 2. JDK 环境配置 3. JDK的配置验证 二、配置 Android环境 1、下载 2、SDK配置 3、配置Android环境 一、配置jDK 1. 安装 JDK 安装链接&#xff1a;Java Downloads | Oracle 我安装的是 .zip &#xff0c;直接在指定的文件夹下解压就好。…

上位机快速开发框架

右上角向下按钮 -> 后台配置 系统菜单 角色管理 分配权限 用户管理 设备配置 通道管理 首页界面设计 设备1配置 带反馈按钮&#xff0c;如&#xff1a;用户按键00105&#xff0c;PLC反馈状态00106 设备2配置 参数说明&#xff1a; TagName_Main&#xff1a;主要信息&#…