文章目录
引语:
今天是上Java网课的第二天,感受着被学习通和QQ群直播支配的恐惧,老师布置了这么一个作业
用? : 表达式编写程序实现两个整型数按大小顺序输出
比较大小
法一、if else
比较大小,首先想到 if
else
简单易懂,比较两个数的代码如下图所示
if(a>b) {
max=a;
}else {
max=b;
}
这个是最简单基础的比较大小了吧。如果是比较三个数的,可以再嵌套 if
else
法二、? : 三目运算符
? :
也称 条件运算符 就是常说的问号冒号运算,是if…else结构的简化形式。其名称的出处是它带有三个操作数。它可以计算一个条件,如果为真,就返回一个值;如果条件为假,则返回另一个值。
int a = ();
int b = ();
int max;
max = a > b ? a : b;
以上的代码就是两个数比较大小,这个代码运行结果,c
就是最大数了。(代码中的数,我用()来代替)
这句话的意思就是:如果 a > b 就输出a,将 a 的值赋值给 c 。如果 a < b 就输出 b , 将 b 的值赋值给 a 。
如果是三个数 a b c用三目运算符 该如何输出最大值呢
int a = ();
int b = ();
int c = ();
max = a > b ? (a>c?a:c):(b>c?b:c);
代码就在上面,你品,和两个数的比较方法是一样的,就是先比较 a 和 b 的大小,比较出大的值再和 b 比较。
上面的几个方法在C语言也是通用的,我们也可以用Java语言的一些代码来实现。
法三、Java Math.abs
这个首先要调用接口 import java.lang.Math;
这个就类似于 C 语言的 include 了。比较 整型数 a b 的大小还有
(a+b+Math.abs(a-b))/2
阿西吧,这个表达式是一个小姐姐写的,我当时惊了Σ(っ °Д °;)っ,为了掩饰尴尬,我只好去百度啥意思。
Math.abs(int a)
Math.abs(long a)
Math.abs(double a)
Math.abs(float a)
首先,这个有四个类型,分别是int
long
double
float
,也就是说,这四个类型的数,都可以用这个静态方法
该函数的作用就是,对括号的数取绝对值,例如下方代码
Math.abs('-1'); // 1
知道了Math.abs
的作用,那 那个代码,,的意思是什么呢,动笔写了一下,恍然大悟,原来这个我学过(滑稽.jpg)
数学学的都还给老师了,,(心塞.jpg)
现在,我们就可以理解那个代码是什么意思了吧。
以上内容,就是一些简单的比较大小的方法。但是我们老师出的题目可不是这个。
比较大小,且排序
法一、if else
啊哈,这里也有 if
else
的身影。简单的写法就是定义两个变量 max 和 min
int a ,b ;
int max, min;
if(a>b){
max=a;
}else{
min=b;
}
System.out.println("由大到小的顺序是:"+max+" "+min);
其实呢,这个也不需要定义 max 和 min 变量
int a ,b ;
int max, min;
if(a>b){
System.out.println("由大到小的顺序是:"+a+" "+b);
}else{
System.out.println("由大到小的顺序是:"+b+" "+a);
}
这样其实也可以的。都差不多
法二、? : 三目运算符
阿西巴,这个其实也和if
else
的第一种写法是一样的。
int a, b;
int max, min;
max=a>b?a:b;//获得最大值
min=a<b?a:b;//获得最小值
然后输出 max min 就可以了
法三、Java数组之Arrays
这个用法,,感觉有点违反游戏规则,不说太多,先来上代码感受一下
int[] a = {8, 6, 4, 9, 2, 5, 1, 3, 10, 7};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
Console:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
感觉好强,这里就先对Arrays的升序排序介绍一下
Arrays是什么呢?
- Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能
你们可能有注意到,,我说的是 升序排序,对,就是升序排序,我这里先挖坑,下一个文章再填,也就是说,这个现在只能用来升序(滑稽.jpg)
但是,但是,,为了完成老师的作业,还是有办法的
(代码中的数,我用()来代替)
int a = ();
int b = ();
System.out.println(a>b?(Arrays.toString(new int[]{a,b})):(Arrays.toString(new int[]{b,a})));
阿西巴,这个代码高深,装逼能力极强,这个下一篇文章我对 Arrays进行介绍,到时候自然就懂这个代码了。
好啦,时间也不早了,今天的内容就到这些了,下一篇文章 我将对 Arrays 进行介绍,还有我是怎么写老师布置的作业的
在Java入坑的路上,越走越远。