各代码三元运算符表达式实用技巧分享

  • 三目运算符介绍
  • 大多数编程语言三目运算符使用语法
  • 1.Java语言
  • 2.Js语言
  • 3.Lua语言


三目运算符介绍

什么是三元运算符?
三元运算符又称为“三目运算符”和“条件运算符”,在java、C、C++、python、JavaScript、PHP等编程语言中都有三元运算符。三元运算符的作用就是判断,可以理解为if条件判断的简化版。

大多数编程语言三目运算符使用语法

1.Java语言

条件表达式?返回值1:返回值2;

//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);
 }
}

2.Js语言

js的用法跟Java完全一样 举例如下:

//Js--基础用法
var a=1;
var b=2;

//当a为1时c为10否则c为0
var c=a==1?10:0;

alert(c);//弹出c

Java 实战–获取一年中大月/小月所有的天数

//大月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);

3.Lua语言

Lua语言使用三目运算符比较特殊可用两种…
Lua第一种 条件表达式 and 返回值1 or 返回值2
Lua第二种 (条件表达式 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)

希望本帖对你的开发有所帮助~