什么是三元运算符?
三元运算符又称为“三目运算符”和“条件运算符”,在java、C、C++、python、JavaScript、PHP等编程语言中都有三元运算符。三元运算符的作用就是判断,可以理解为if条件判断的简化版。
大多数编程三目运算符使用语法
Java/Js 条件表达式?返回值1:返回值2;
Lua第一种 条件表达式 and 返回值1 or 返回值2
Lua第二种 (条件表达式 and {返回值1} or {返回值2})[1])
Java实例-三目运算符
//Java-基本用法
public class test{
public static void main(String[] args){
int a=1;
int b=2;
//当a为1时c为10否则c为0
int c=a==1?10:0;
//控制台打印c
System.out.println(c);
}
}
//Java 实战--获取一年中大月/小月所有的天数
//大月31天,小月30天
//大月:一月、三月、五月、七月、八月、十月、十二月
//小月:二月、四月、六月、九月、十一月
//自增运算 countM+=10 等同于 countM=countM+10
public class test{
public static void main(String[] args){
int countM=0;//记录所有大月天数
int countN=0;//记录所有小月天数
for(int i=1;i<=12;i++){
//大月天数
countM+=i==1||i==3||i==5||i==7||i==8||i==10||i==12?31:0;
//小月天数
countN+=i==2||i==4||i==6||i==9||i==11?30:0;
}
//控制台打印countM大月天数
System.out.println(countM);
}
}
Js实例-三目运算符
//Js--基础用法
var a=1;
var b=2;
//当a为1时c为10否则c为0
var c=a==1?10:0;
alert(c);//弹出c
//Js 实战--获取一年中大月/小月所有的天数
//大月31天,小月30天
//大月:一月、三月、五月、七月、八月、十月、十二月
//小月:二月、四月、六月、九月、十一月
//自增运算 countM+=10 等同于 countM=countM+10
var countM=0;//记录所有大月天数
var countN=0;//记录所有小月天数
for(var i=1;i<=12;i++){
//大月天数
countM+=i==1||i==3||i==5||i==7||i==8||i==10||i==12?31:0;
//小月天数
countN+=i==2||i==4||i==6||i==9||i==11?30:0;
}
//弹出countM大月天数
alert("大月天数:"+countM);
Lua实例-三目运算符
Lua语言中需要运用第二种三目运算语法 有两种方式
第一种:条件表达式 and 返回值1 or 返回值2 来实现
第二种:(条件表达式 and {返回值1} or {返回值2})[1])
--Lua 第一种
a=1
b=2
--当a为1时c为10否则c为0
c=a==1 and a<=5 and 10 or 0
--打印c ->10
print(c)
--Lua 第二种
a=1
b=2
--当a为1时c为10否则c为0
c=(a==1 and a<=5 and {10} or {0})[1]
--打印c ->10
print(c)
--分析:第一种三目运算符使用时条件必须为ture才会返回想要的结果
--第二种三目运算为第一种的升级版解决了第一种运算表达式只能是true的情况,但是在写法上相较麻烦,根据情况可以自行调整
--Lua 实战
--获取一年中大月/小月所有的天数
-- 大月31天,小月30天
-- 大月:一月、三月、五月、七月、八月、十月、十二月
-- 小月:二月、四月、六月、九月、十一月
-- 自增运算 countM+=10 等同于 countM=countM+10
countM=0;--记录所有大月天数
countN=0;--记录所有小月天数
for i=1,12 do
--大月天数
countM=countM+((i==1 or i==3 or i==5 or i==7 or i==8 or i==10 or i==12) and {31} or {0})[1]
--小月天数
--countM=countM+(i==2 or i==4 or i==6 or i==9 or i==11 and 30 or 0 and {30} or {0})[1]
end
--弹出countM大月天数
print("大月天数:"..countM)
JosephKix
2023-03-08 14:05牛哇~还能这么玩