前言
Java中关于三元运算符的一些知识。包括在Java中用户输出两个数,利用三元运算符知识求两个数的最大公约数和最小公倍数。提示:仅供参考,如有不对,敬请改正!
一、Java中的三元运算符
三元运算符又叫做条件运算符
表达式形式: (条件表达式) ? 表达式2(如果条件对): 表达式1(如果条件不对)
注意:
1.条件表达式的结果为Boolean
2.如果条件表达式为真,则执行表达式1;
3.如果条件表达式为假,则执行表达式2;
4.三元运算符和流程控制中选择结构差不多(if-else,switch-case)但是三元运算符和switch-case的执行效率稍微好一点
二、使用步骤
代码如下(示例):
public class test{
public static void main(String[] args){
int a , b;
a = 20;
// 如果 a 等于 20 成立,则进入表达式 b 为 15,否则为 25
b = (a == 20) ? 15 : 25;
System.out.println( "b的值为 " + b );
// 如果 a 等于 2 成立,则进入表达式 b 为 15,否则为 25
b = (a == 2) ? 15 : 25;
System.out.println( "b的值为 : " + b );
}
}
三、实战练习
输入两个正整数m和n,求其最大公约数和最小公倍数。
public class demo{
public static void main(String[] agrs){
Scanner in = new Scanner(System.in);
System.out.println("输入一个正整数m:");
int m =in.nextInt();
System.out.println("输入一个正整数n:");
int n = in.nextInt();
//得两个数的最大公约数,先比较两个数,取最小值之后往前遍历,用break退出,这样执行效率比较高
int min = (m <= n) ? m : n;
for(int i = min; i >= 1;i--){
if(m % i == 0 && n % i ==0){
System.out.println("这两个数的最大公约数:"+i);
break;
}
}
//得两个数的最小公倍数,先比较两个数,取两个数中比较大的一个书,之后往后遍历直至两个数中相乘的数值
int max = (m >=n )? m : n;
for(int i =max; i < m * n; i++){
if(i % m ==0&& i % n ==0){
System.out.println("这两个数的最小公倍数:"+i);
break;
}
}
}
}