【Java语言】 | 您所在的位置:网站首页 › java语言运算符的有趣案例有哪些 › 【Java语言】 |
运算符
运算符:对字面量或者变量进行操作的符号。 1.算术运算符 符号作用说明+加/-减/*乘//除在Java中两个整数相除结果还是整数%取余// 需要注意什么,为什么? 如果两个整数做除法,其结果一定是整数,因为最高类型是整数。 案例:数值拆分需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台。 int data = 589; int ge = data % 10; System.out.println(ge); int shi = data / 10 % 10; System.out.println(shi); int bai = data /100; System.out.println(bai); 复制代码“+” 符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。 能算则算,不能算就在一起。 3.自增自减运算符 符号作用说明++自增变量自身的值加1- -自减变量自身的值减1注意: ++和- - 既可以放在变量的后边,也可以放在变量的前边。 ++ 、- - 只能操作变量,不能操作字面量。 自增自减的使用事项++、- -如果不是单独使用(放在表达式中、或者同时有其他操作),放前后或有明显的区别。 放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。 int a = 10; int rs = ++a; 复制代码 放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1。 int b = 10; int rs = b++; 复制代码 自增自减的案列 System.out.println("----拓展案列----"); int k = 3; int p = 5; // k 3 4 5 4 // p 5 4 3 4 // ks 3 + 5 - 4 + 4 - 5 + 4 + 2 int rs = k++ + ++k - --p + p-- - k-- + ++p + 2; System.out.println(k); // 4 System.out.println(p);// 4 System.out.println(rs); // 9 复制代码结果为: 注意:扩展的赋值运算符隐含了强制类型转换。 5.关系运算符对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。
可以把多个布尔结果放在一起运算,最终返回一个布尔结果。 注意:逻辑与“&”、逻辑或“|”:无论左边是false还是true,右边都要执行。 System.out.println("----&& & || |的区别-----"); int a = 10; int b = 20; System.out.println(a > 100 && ++b > 10);//false System.out.println("&&后面的不执行,b的值未变:"+ b);//20 int i = 10; int j = 20; System.out.println(i > 100 & ++j > 10);//false System.out.println("&后面的运行,j的值加1:" + j);//21 int m = 10; int n = 20; System.out.println(m > 2 || ++n > 10);//true System.out.println("||后面的不执行,n的值加1:" + n);//20 int x = 10; int y = 20; System.out.println(x > 2 | ++y > 10);//true System.out.println("|后面的运行,y的值加1:" + y);//21 复制代码运行结果: ①逻辑与“&”:有一个为false、结果是false。 ②短路与“&&”:一个为false、结果是false。前一个为false,后一个条件不执行。 ③逻辑与“|”:有一个为true、结果是true。 ④短路与“||”:一个为true、结果是true。前一个为true,后一个条件不执行。 ⑤逻辑非“!”:!false=true、!true=false。 ⑥逻辑异或“^”:相同是false、不同是true。 ==注意:实际开发中、常用的逻辑运算符还是:&&、||、!。== 7.三元运算符 三元运算符介绍 格式:条件表达式 ?值1 : 值2; 复制代码执行流程: 首先计算表达式的值,如果值未true,返回值1,如果为false,返回值2。 场景:
结果:
需求:定义三个整数,找出最大值并打印在控制台。 分析: ①用三元运算符获取前两个整数的最大值,并用临时变量保存起来。 num1 > num2 ?num1 : num2;②用三元运算符,让临时变量和第三个整数比较,并记录结果。 temp > num3 ? temp : num3;③输出结果。 int i = 10; int j = 30; int k = 50; //1.找出2个整数的最大值 int temp = i > j ? i : j; //2.拿临时变量与第三个值继续比较 int rsMax = temp > k ? temp : k; System.out.println(rsMax);//50 复制代码 拓展知识:三元运算符的嵌套 System.out.println("-------拓展知识------"); int i = 10; int j = 30; int k = 50; // 三元运算符的嵌套使用 int rsMax1 = i > j ? i > k ? i : k : j > k ? j : k; //辅助理解:int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k); System.out.println(rsMax1); 复制代码运行结果如下: 运算符的先执行后执行要看优先级 下载API文档: www.oracle.com/technetwork… 键盘录入功能实现的三个步骤①导包:告诉程序去JDK的哪个包找扫描器技术。 ②写一行代码代表得到键盘扫描对象。 ③等待接收用户输入数据。 注意: System、String在JDK中的Java.long包下。 lang包不需要我们导包,是默认的包。 案例代码: package xuexi.scanner; // 1.导包(不需要自己写,通过工具进行导入更加方便) import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { // 目标:学会使用键盘录入技术 // 2.得到一个键盘扫描器对象 Scanner sc = new Scanner(System.in); //3.调用sc对象的功能等待接收用户输入的数据 //这个代码会等待用户输入数据,直到用户输入完成数据并按了回车键就会把数据拿到 System.out.println("请您输入您的年龄:"); int age = sc.nextInt(); System.out.println("您的年龄是:" + age); System.out.println("请您输入您的名称:"); String name = sc.next(); System.out.println("欢迎:" + name); } } 复制代码效果展示: |
CopyRight 2018-2019 实验室设备网 版权所有 |