🌲本文收录于专栏《Java入门练习100例》——试用于学完「Java基础语法」后的巩固提高及「LeetCode刷题」前的小试牛刀。
Java入门练习100例1-10源码 提取码: uqqe
题目描述
难度:简单
用if语句实现a、b、c的值按从小到大排序
知识点
if
判断- 两数交换
解题思路
1.if判断
本题整理的思路就是比较 - > 交换。
if
作为一种分支结构,用来根据判断条件的不同做不同的后续处理。
2.两数交换
通常的做法,好比交换两个杯子的水,需要先找来一个空杯子,也就是一个临时变量存值。代码如下:
int t=a;
a=b;
b=t;
高级做法,不使用其他变量如何做?思考🤔一下,文末给出答案。
代码实现
/**
* 用if语句实现a、b、c的值按从小到大排序
*/
public class question_04 {
public static void main(String args[]){
int a=9,b=5,c=7,t;
if(a>b) {
t=a; a=b; b=t;
}
if(a>c) {
t=a; a=c; c=t;
}
if(b>c) {
t=b; b=c; c=t;
}
System.out.println("a="+a+",b="+b+",c="+c);
}
}
输出结果
总结
如何不用其他变量交换两个数的值?
答,将两个数做加/乘法。在做减/除法。代码如下:
a=a*b;
b=a/b; //等价于 a*b/b=a,即将a的值赋给了b
a=a/b; //等价于 a*b/a=b,即将b的值赋给了a
加减的方式留给大家去实现。