运算符操作 【算数运算符(四则、自增自减、赋值)、比较运算符、逻辑运算符、三元运算符】 JAVA代码演示

本文主要是介绍运算符操作 【算数运算符(四则、自增自减、赋值)、比较运算符、逻辑运算符、三元运算符】 JAVA代码演示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

运算符就是一些特定操作的符号,用运算符连起来的式子就叫表达式


四则运算

加:+
减:-
乘:*
除:/
取模(取余数):%

代码演示:

public class Demo04Operator {public static void main(String[] args) {// 俩个常量之间可以进行数学运算System.out.println(20 + 30);	// 50// 俩个变量之间可以进行数学运算int a = 20;int b = 5;System.out.println(a - b);	// 15// 变量和常量可以混合使用System.out.println(a * 10);	// 200int x = 10;int y = 3;System.out.println(x / y);	// 3System.out.println(x % y);	// 1// 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。// double + int --> double + double --> doubledouble result1 = x + 2.5;System.out.println(result1);	// 12.5}
}

注意事项:一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。 如上举例


在四则运算中存在优先级问题,一般来说常见的依旧是先乘除后加减,优先运算小括号中的。但是为了方便其实小括号可以解决所有优先级问题!!


加号的多种用途

四则运算中的加法“+”有常见的三种用法:
1.对于数值来说,就是加法。
2.对于字符char类型来说,在计算之前,char会被提升为int,然后计算。 char类型字符和int类型数字之间的对照关系:ASCII码表和Unicode码表。
3.对于字符串String(首字母大写,并不是关键字)来说,加号代表字符的拼接。

注意:任何数据类型和字符类型进行加号连接的时候,结果都是字符串!!!

代码演示:

public class Demo05Plus {public static void main(String[] args) {// 字符串类型的变量基本使用// 数据类型 变量名称 = 数据值;String str1 = "Hello";System.out.println(str1);	// HelloSystem.out.println("Hello" + " World");	// Hello WorldString str2 = "Java";// String + int --> StringSystem.out.println(str2 + 20);	// Java20// 优先级问题// String + int + int --> String + int --> StringSystem.out.println(str2 + 20 + 30);	// Java2030System.out.println(str2 + (20 + 30));	// Java50}
}


自增自减运算

自增运算符(双加号):++
自减运算符(双减号):–

++ 和 – 的用法一样!!!!


基本含义:

让一个变量涨一个数字1,或者让一个变量降一个数字1
使用格式:写在变量名称之前,或者写在变量名称之后。
例如:++num或者num++


使用方式:

1.单独使用:不和其它任何操作混合,自己独立成为一个步骤。
2.混合使用:和其它操作混合,例如与赋值混合,或者与打印操作混合,等。


使用区别:

1.在单独使用时,前++和后++无任何区别。也就是说++num与num++完全一样。
2.在混合使用时,有 【重大区别】
(1)如果是前++,那么变量立刻马上+1,然后拿着结果去使用。 【先加后用】
(2)如果是后++,那么首先使用变量本来的数值,然后再让变量+1。【先用后加】

注意事项:
只有变量才可以使用自增自减运算符,常量不可变,所以不能用。 例如错误写发:30++

对于上述内容进行代码举例演示:

public class Demo06Operator {public static void main(String[] args) {int num1 = 10;System.out.println(num1);	// 10++num1;	// 单独使用,前++System.out.println(num1);	// 11num1++;	// 单独使用,后++System.out.println(num1);	// 12// 与打印操作混合d的时候int num2 = 20;// 混合使用,先++,变量立刻+1,然后打印结果是21System.out.println(++num2);	// 21System.out.println(num2);	// 21int num3 = 30;// 混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31System.out.println(num3++);	// 30System.out.println(num3);	// 31int num4 = 40;// 和赋值操作混合int result1 = --num4;	// 混合使用,先--,立刻马上变成39,然后将39交给变量result1System.out.println(result1);	// 39System.out.println(num4);	// 39int num5 = 50;int result2 = num5--;System.out.println(result2);	// 50System.out.println(num5);	// 49int x = 10;int y = 20;// 这里x先+1,所以是11,而y先使用的是20,而后-1,所以是19int result3 = ++x + y--;System.out.println(result3);	// 31System.out.println(x);	// 11System.out.println(y);	// 19}
}


赋值运算符

赋值运算符分为俩种:

1.基本赋值运算符

=
代表将右侧的数据交给左侧的变量。
例如:int a = 30;

2.复合赋值运算符

符号举例等同于
+=a += 1a = a + 1
-=a -= 2a = a - 2
*=a * = 3a = a * 3
/=a /= 4a = a / 4
%=a %= 5a = a % 5

注意事项:
1.只有变量才可以使用赋值运算符,常量不可以
2.复合赋值运算符其中隐含了一个强制类型转换。不需要你自己进行数据类型转换,编译器帮你搞定!

JAVA数据类型转换

代码演示:

public class Demo07Opertor {public static void main(String[] args) {int a = 10;// 按照复合赋值公式进行翻译:a = a + 5// a = 10 + 5;// a = 15;// a本来是10,现在重新赋值得到15a += 5;System.out.println(a);	// 15int x = 10;// x = x % 3;// x = 10 % 3;// x = 1;// x本来就是10,现在重新赋值得到1x %= 3;System.out.println(x);	// 1byte num = 30;// num = num + 5;// num = byte + int// num = int + int// num = int// byte --> intnum += 5;System.out.println(num);	// 35}
}


比较运算符

比较运算符含义
==比较符号俩遍数据是否相等,相等结果是true
<比较符号左边的数据是否小于右边的数据,如果小于结果是true
>比较符号左边的数据是否大于右边的数据,如果大于结果是true
<=比较符号左边的数据是否小于等于右边的数据,如果小于等于,结果为true
>=比较符号左边的数据是否大于等于右边的数据,如果大于等于,结果为true
!=如果符号俩边的数据不相等,结果为true

注意事项:
1.比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false
2.如果进行多次判断,不能连着写。
数学当中的写发,例如:1 < x < 3 在程序当中就是错误写法

代码演示:

public class Demo08Opertor {public static void main(String[] args) {System.out.println(100 > 99);	// trueint num1 = 10;int num2 = 12;System.out.println(num1 < num2);	// trueSystem.out.println(num2 >= 100);	// falseSystem.out.println(num2 <= 100);		// falseSystem.out.println(num2 <= 12);		// trueSystem.out.println(10 == 10);	// trueSystem.out.println(20 != 25);	// trueSystem.out.println(20 != 20);	// falseint x = 2;// System.out.println(1 < x < 3);	// 错误写发,编译报错,不可以连着写}
}

TIPS:
以上代码最后的 1< x < 3 可以拆成 1 < x && x < 3 的逻辑方式来写方式。逻辑运算符,如下所述!!



逻辑运算符

与(并且) &&
全部都是true,结果才是true,否则为false
或(或者) ||
至少一个是true,结果就是true,全都是false,结果才为false
非(取反) |
本来是true,变成false;本来是false,变成true

注意:与“&&”,或“||”,具有短路效果:如果根据左边已经可以判断得到结果,那么右边的代码将不在执行,从而节省一定的性能。

代码演示:

public class Demo09Logic {public static void main(String[] args) {System.out.println(true && false);	// false// true && ture --> trueSystem.out.println(3 < 4 && 10 > 5);	// trueSystem.out.println(true || false);		// trueSystem.out.println(true || true);		// trueSystem.out.println(false || false);	// false	System.out.println(true);	// trueSystem.out.println(!true);	// false// 短路效果int a = 10;// false && ...System.out.println(3 > 4 && ++a < 100);System.out.println(a);	// 10}
}

注意事项:
1.逻辑运算符只能用于boolean值
2.与、或需要左右各自一个boolean值,但是取反只要有唯一一个boolean值即可。
3.与、或俩种运算符,如果有多个条件,可以连续写。
俩个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C



三元运算符

介绍:
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增、自减~~~
二元运算符:需要俩个数据才可以进行操作的运算符。例如:加法+、赋值=
三元运算符:需要三个数据才可以进行操作的运算符。


格式:
数据类型 变量名 = 条件判断 ? 表达式A : 表达式B


流程:
首先判断条件是否成立:
如果条件成立为true,那么表达式A的值赋给左侧的变量
如果不成立为false,那么表达式B的值赋值给左侧的变量
二者选其一


代码演示:

public class Demo10Opertor {public static void main(String[] args) {int a = 10;int b = 20;// 数据类型 变量名 = 条件判断 ? 表达式A : 表达式B// 判断 a > b 是否成立,如果成立将a赋值给max,如果不成立,将b赋值给max,二者选其一int max = a > b ? a : b;System.out.println(max);	// 20// int result = 3 > 4 ? 2.5 : 10;	// 错误写法!!	右边表达式不符合左边数据类型System.out.println(a > b ? a : b);	// 正确写发!!}
}

注意事项: 如上代码演示
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
2.三元运算符的结果必须被使用。

这篇关于运算符操作 【算数运算符(四则、自增自减、赋值)、比较运算符、逻辑运算符、三元运算符】 JAVA代码演示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/488216

相关文章

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin