//整体代码部分(Demo01类中编写) import java.util.Scanner; public class Demo01 { //java语句-判断数值大小(求最值) public static void main(String[] args) { //要求:键盘录入三个数(a、b、c),求出其最大值并输出 Scanner sc = new Scanner(System.in); System.out.print("请输入第一个数a:"); int a = sc.nextInt(); System.out.print("请输入第二个数b:"); int b = sc.nextInt(); System.out.print("请输入第三个数c:"); int c = sc.nextInt(); int temp;//引入中间变量用于数值交换 //方法一(可以改变变量a、b、c中储存的数值,利用if语句默认将最大的数值存储在变量a当中并输出): //(1)利用if语句使得a>=b if (a < b) { temp = a; a = b; b = temp; } //(2)利用if语句使得a>=c if (a < c) { temp = a; a = c; c = temp; } //(3)此时a>=b并且a>=c,故a为最大值,输出最大值a System.out.println("最大值为:" + a); //注:方法一中可以默认将最大的数值储存在任何一个变量中,都是相同的方法 //方法二(不改变变量a、b、c中存储的数值,利用if语句比较出最大值并输出): //(1)首先比较a和b的大小 if (a > b) { //(2)a>b已知,只要再将较大的a与c比较,便可获得最大值 if (a > c) { //(3)a>b且a>c,故a为最大值 System.out.println("最大值为:" + a); } else { //(3)a>b且a<=c,故c为最大值 System.out.println("最大值为:" + c); } } else { //(2)a<=b已知,只要再将较大的b与c比较,便可获得最大值 if (b > c) { //(3)a<=b且b>c,故b为最大值 System.out.println("最大值为:" + b); } else { //(3)a<=b且b<=c,故c为最大值 System.out.println("最大值为:" + c); } } //方法三(利用三元运算符比较数值大小): //(1)先求前两个数的最大值mxa1 int max1 = a > b ? a : b; //(2)再将max1与c作比较,求出最大值max int max = max1 > c ? max1 : c; //可将前两步进行嵌套,直接得出最大值max=(a > b ? a : b) > c ? (a > b ? a : b) : c; //(3)输出最大值max System.out.println("最大值为:"+max); //前两种方法都利用了if语句进行判断,第一种方法可以改变变量中储存的数值,默认将最大值储存在一个变量当中并输出; //第二种方法则不改变变量中存储的数值,利用if语句逐个比较,求出最大的数值并输出,整体比较逻辑思维较为复杂。 //以上是判断数值大小(求最值)常用的三种方法,适用于比较数值较少的情况。 //如果用于比较的数值太多,则可将数值储存到定义好的数组中,利用数组遍历求最值会更为简便。 //补充: //方法四(定义一个第三方变量,如:m,用来记录比较过程中的较大值及最大值) //(1)定义一个变量m,并让其默认储存a当中的数值 int m = a; //(2)利用if语句比较m和b中所储存数值的大小,并确保m中储存的为较大值 if (b > m) m = b;//注:如果if语句中的语句体只有一句,则可以省略{} //(3)利用if语句比较m和c中所储存数值的大小,并确保此时m中储存的为最大值 if (c > m) m = c; //(4)输出最大值m System.out.println("最大值为:" + m); } }
//整体代码部分(Demo02类中编写)
package Demo; import java.util.Scanner; public class Demo02 { //if语句-判断数值大小并排序 public static void main(String[] args) { //键盘录入三个数值,比较大小后,按照由小到大的顺序打印在控制台上 Scanner sc = new Scanner(System.in); System.out.println("请输入第一个整数:"); int a = sc.nextInt(); System.out.println("请输入第二个整数:"); int b = sc.nextInt(); System.out.println("请输入第三个整数:"); int c = sc.nextInt(); int temp;//引入中间变量用于两个变量之间数值的交换 //方法一:可以改变变量中存储的数值,数值默认由小到大的排序为abc //(1)让a中存储的数值最小(三个变量中最小) 故需满足:a<b且a<c if (a > b) {//保证a<b temp = a; a = b; b = temp; } if (a > c) {//保证a<c temp = a; a = c; c = temp; } //(2)让b中存储的数据为bc中最小的 故需满足:b<c if (b > c) { temp = b; b = c; c = temp; } //(3)通过比较,可以将数值按照由小到大的顺序分别存储在abc三个变量当中,按照顺序打印即可 System.out.println("三个整数按照由小到大的顺序排列为:" + a + b + c); //注:数值默认由小到大的变量排序(abc)是可以改变的,方法一样,改变用于比较的变量名称即可 //方法二:不改变变量中存储的数值,利用if语句进行比较,并按照由小到大的顺序将数值打印在控制台上 //(1)比较a和b的大小 if (a > b) { //(2)比较a和c的大小 if (a > c) {//a>b且a>c 故a为最大值 // (3)再比较b和c的大小 if (b > c) {//a>b且a>c且b>c System.out.println("三个整数按照由小到大的顺序排列为:" + c + b + a); } else {//a>b且a>c且b<c System.out.println("三个整数按照由小到大的顺序排列为:" + b + c + a); } } else {//a>b且a<c System.out.println("三个整数按照由小到大的顺序排列为:" + b + a + c); } } else {//a<b //(2)比较b和c的大小 if (b > c) {//a<b且b>c 故b为最大值 //(3)再比较a和c的大小 if (a > c) {//a<b且b>c且a>c System.out.println("三个整数按照由小到大的顺序排列为:" + c + a + b); } else {//a<b且b>c且a<c System.out.println("三个整数按照由小到大的顺序排列为:" + a + c + b); } } else {//a<b且b<c System.out.println("三个整数按照由小到大的顺序排列为:" + a + b + c); } } //注:方法二整体代码逻辑思维较为复杂,现在是在三个数排序,如果是四个数排序,使用这种方法几乎无法操作 //以上两种方法仅适用于数值较少时进行排序,如排序数值较多则不便使用; //排序数值较多的情况下,可将其存储在定义好的数组中,利用数组的冒泡或选择排序会更为简便 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?