这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战
点赞再看,养成习惯。微信搜索【一条coding】关注这个在互联网摸爬滚打的程序员。
本文收录于技术专家修炼,里面有我的学习路线、系列文章、面试题库、自学资料、电子书等。欢迎star⭐️
题目描述
难度:简单
用if语句实现a、b、c的值按从小到大排序
知识点
if判断- 两数交换
解题思路
1.if判断
本题整体的思路就是比较 - > 交换。
if作为一种分支结构,用来根据判断条件的不同做不同的后续处理。
结构
if(){
}else if(){
}else{
}
复制代码
注意:一旦进入其中一个else 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
复制代码
加减的方式留给大家去实现。
最后,如果文章对你有帮助。
记得给文章点个赞呀!
有空欢迎来看看,分享大厂面试和算法刷题,期待和你成为朋友。




近期评论