运算符操作 【算数运算符(四则、自增自减、赋值)、比较运算符、逻辑运算符、三元运算符】 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

相关文章

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti