java疑问(关于swap)

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:47:38
import java.awt.Graphics;
import java.applet.Applet;

class IntSort{
public String sort(int a,int b,int c){
int swap;
if(a<b){
swap=a;
a=b;
b=swap;
}
if(a<c){
swap=a;
a=c;
c=swap;
}
if(b<c){
swap=b;
b=c;
c=swap;
}
return a+" "+b+" "+c;
}
}

public class B4 extends Applet{
IntSort s=new IntSort();
public void paint(Graphics g){
int a=30,b=12,c=40;
g.drawString("三个数的排序结果:"+s.sort(a,b,c),30,30);
}
}

程序如上,想知道定义个swap做什么用,也就是第6行到第21行该怎么理解,if语句为什么只见if不见else.

首先,if语句是可以没用else部分的。如果不需要,可以不加。
sort函数想把3个数排列顺序,排序过程中通常会出现有些数据次序不对,需要交换。交换最常用最简单的方法就是:第三量<==A,A<==B,B<==第三量。这时需要一个临时数据暂存要交换的数据之一。在此程序中,swap变量起的就是暂存作用。

swap交换两个数。
sort的含义是将a,b,c从大到小排序然后输出一个字符串。

if语句可以没有else吧……表示一个条件满足……

swap 是用来交换 两个数的值时缓存一个数的值
if可以不跟else单独使用

swap是一个中间变量,起到临时保存一个数据的作用、因为如果你要交换2个数的值:假设a=1,b=2不能a=b、b=a这样会把a的值覆盖掉使得最后的结果是a=b=2
if可以不跟else配对!只起到判断条件~没有进行选择