Java选择结构——输出最值(day1)
由浅入深分析:两个数比较大小 ——>三个数比较大小——>四个数比较大小——>数组输出(最大值和最小值及其角标)——>数组的遍历(冒泡排序法)
1.两个数输出最小值(求最大值同理)
//两个数中输出最小的值(if_else)
public class Two {
public static void main(String[] args) {
//调用min函数
System.out.println( min(3,1));
}
//定义一个求最小值的函数
public static int min(int a,int b) {
if(a<b) {
return a;
}
else {
return b;
}
}
}
//测试输出:1
1.1两个数输大值(条件操作符)
*min=(a<b)?a:b
就是将a和b二者中较小的一个赋给min。
public class xuanze {
public static void main(String[] args) {
/* boolean a=5==3;
System.out.println(a);
*/
/*System.out.println(2 & 3);//2 二进制转化
*/
int num1=20;
int num2=6;
int max=(num1<num2)?num1:num2;
System.out.println(max);
}
}
2.三个数输出最小值
//用一个数和另外的两个数比大小
public class Three {
public static void main(String[] args) {
System.out.println(min(1,2,3));
}
public static int min(int a,int b,int c) {
if(a<b) {
if(a<c) {
return a;//a<b&&a<c
}else {
return c;//a<b&&a>c
}
}
else {
if(b<c) {
return b;//a>b&&b<c
}else {
return c;//a>b&&b>c
}
}
}
}
//测试输出:1
3.四个数输出最小值
public class Four {
public static void main(String[] args) {
//调用min函数求最小值
min(1,2,3,4);
}
//先两个比较,在将他们的最小值比较
public static int min1(int a,int b) {
if(a<b) {
return a;
}
else {
return b;
}
}
public static int min2(int c,int d) {
if(c<d) {
return c;
}
else {
return d;
}
}
public static void min(int a,int b,int c,int d) {
if(min1(a,b)<min2(c,d)) {
System.out.println(min1(a,b));
}
else {
System.out.println(min2(c,d));
}
}
}//测试输出:1
4.1输出数组中的最大值和最小值
public class Array {
public static void main(String[] args) {
//定义一个静态数组
int []arr= {99,33,55,44,66,11,22};
//将数组的第一个元素作为最大值和最小值
int max=arr[0];
int min=arr[0];
//用for将数组元素进行遍历比较
for(int i=1;i<arr.length;i++) {
if(arr[i]<min) {
min=arr[i];
}
if(arr[i]>max) {
max=arr[i];
}
}
//输出打印
System.out.println("最大值为:"+max+"最小值为:"+min);
}
}
//测试结果:最大值为:99最小值为:11
4.2输出最大值和最小值的下标
public class Arraycope {
public static void main(String[] args) {
//定义一个静态数组
int []arr= {99,33,55,44,66,11,22};
//用下标标记
int maxloge=0;
int minloge=0;
for(int i=1;i<arr.length;i++) {
if(arr[i]<arr[minloge]) {
minloge=i;
}
if(arr[i]>arr[maxloge]) {
maxloge=i;
}
}
//输出最大值和最小值
System.out.println("最大值为:"+arr[maxloge]+"最小值为:"+arr[minloge]);
//输出最大值和最小值的下标
System.out.println("最大值的下标"+maxloge+"最小值的下标"+minloge);
}
}
/*测试结果:
最大值为:99最小值为:11
最大值的下标0最小值的下标5
*/
4.3数组排序(冒泡排序法)
public class Maopao {
public static void main(String[] args) {
int [] arr= {5,2,3,4,1};
System.out.println("原来的数组为:");
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
for(int i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-1-i;j++)//注意控制语句
{
if(arr[j+1]<arr[j]) {
//大的数向右边冒泡,大的数在右边,如果右边的数小,则需要交换位置;
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println("\n从小到大排序为:");
for ( int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
//测试结果:
原来的数组为:
5 2 3 4 1
从小到大排序为:
1 2 3 4 5
4.4将数据从大到小排列
mport java.util.Arrays;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//动态创建数组
int[] arr = new int[sc.nextInt()];
for(int i = 0 ; i< arr.length ; i++){
arr[i] = sc.nextInt();
}
/********** Begin **********/
for(int i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-1-i;j++)//注意控制语句
{
if(arr[j+1]>arr[j]) {
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
/********** End **********/
}
}
毒鸡汤打卡:
原定计划——好好活着
突发状况——活着好难
改变计划——今年别死