🌳🌳 三元运算符
🔻 三元运算符即三个操作数参与计算的运算符。
格式:
(布尔表达式)?结果1:结果2;
结果1或结果2可以是任何数据类型(基本数据类型,引用数据类型)
运算规则:
根据布尔表达式的值返回不同的结果:
布尔表达式为true, 返回 结果1
布尔表达式为false, 返回 结果2
int i = 10; int j = 20; System.out.println(i>j?"i的值大":"j的值大"); //打印结果为j的值大
package com.czxy.demo1; public class Demo1 { /** * 三元运算符 * (布尔表达式)?结果1:结果2; * * 1、结果1和结果2永远不会同时执行的 * 2、布尔表达式为true,运行结果1 * 布尔表达式为false,运行结果2 * 3、结果1和结果2 的值为任意类型 * @param args */ public static void main(String[] args) { System.out.println(1==1?"等于":"不等于");//等于 System.out.println(1!=1?10.55:11.55);//11.55 } }
注:三元运算符的结果必须被使用,否则Java报错。
package com.czxy.demo1; public class Demo2 { /** * 三元运算符 * 三元运算符的结果必须被使用,否则会报错 * @param args */ public static void main(String[] args) { //1、结果被使用,无报错 System.out.println(1==1?"等于":"不等于"); boolean f1 = 1==1?true:false;//允许 //2、结果未被使用,就会报错 // 1==1?true:false; } }
🎃🎃小试牛刀,检验一下自己吧
1、写一个程序判断1到10的数是奇数还是偶数,打印出如下效果:
1 是奇数
2 是偶数
……
9 是奇数
10 是偶数
注:可以通过 模%运算取余来判断是奇数还是偶数。
💦 方法一:直接取余判断输出结果
/** * 1、写一个程序判断1到10的数是奇数还是偶数,打印出如下效果: * 1 是奇数 * 2 是偶数 * …… * 9 是奇数 * 10 是偶数 * @param args */ public static void main(String[] args) { //1、定义一个变量,保存1~10的数 int num = 1; //2、依次进行判断奇偶数,并展示结果 System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); }
💦 方法二:循环取余判断输出。
package com.czxy.demo1; public class Demo3_2 { /** * 1、写一个程序判断1到1000的数是奇数还是偶数,打印出如下效果: * * 引入for * 用来进行重复代码书写。 循环 * @param args */ public static void main(String[] args) { //1、定义一个变量,保存1~10的数 int num = 1; //2、依次进行判断奇偶数,并展示结果 for (int i = 1; i <=1000 ; i++) { System.out.println(num+"\t是"+((num++%2==0)?"偶数":"奇数")); } } }
2、写程序比较两个整数 22和99的大小,并且将最大值和最小值分别保存不同的变量中。
展示效果:
public static void main(String[] args) { //1、定义变量,max,min int max,min; //2、为max和min赋值 max = 99>22?99:22;//如果99比22大,保存99为最大值。 min = 99>22?22:99;//如果99比22大,保存22为最小值。 //3、展示控制台 System.out.println("最大值为:"+max); System.out.println("最小值为:"+min); }
🎃🎃 注意事项
1、 常量和变量都可以参与运算。
2、运算符一般只操作基本数据类型,不操作引用数据类型(String除外)
🌳🌳运算符的优先级
在日常开发中,一行代码中很可能 出现多个不同的运算符。
比如,当赋值运算符 = 与 + 运算符都作用在一个变量上时,先计算加法,再计算赋值。
如:
int i,j; i = 10; //对i这个变量有两个运算符操作,分别为=与+。 j = i + 20; System.out.println(j); //最终打印结果为30。说明先计算+后计算=。
优先级:每个运算符都有一个顺序等级,来决定哪个运算符更为优先执行。
💚 运算符运算的先后顺序,数字越小,优先级越高,计算顺序越靠前。例如:先做加减,后做赋值----int a=5+1;
❤️优先级相同的情况下,按照从左到右的顺序依次运算。例如:int a=5+1-1; 因为加和减优先级相同,就从左到右顺序执行。
❄️❄️ 优先级规则表:
注(这里是个小技巧哦!):如果分不清优先级想让谁先运行,就加 括号( )
因为优先级规则表并不方便开发中的程序员随时使用,
所以开发中我们通常使用小括号 ( ) 来改变运算符优先级,使得程序按照程序员的预想来执行。
嘿!朋友,运算符的运用你学会了吗?讲解中有例题,赶紧试试检验检验自己吧!