愉快的五一假期到了,在家里除了白天陪陪老婆带带娃,我想着这五天的小长假也不能荒废,今年的疫情让我们只能窝在家里,尤其像博主在武汉,出个小区要扫码、进超市要扫码、坐公交还是要扫码。出门戴口罩、护目镜把自己裹得严严实实~
所以我就想着把以前学习java的笔记和案例在博客中分享给大家,先申明一下,此模块只针对刚入门的学习者,已经入门的老鸟们可以自行忽略~~~
一、变量和运算符
1、变量
什么是变量:在程序运行过程中,暂时保存信息的量称为变量
1.定义变量的语法
数据类型 变量名; 例如:int temp;
注意:变量名是由字母,下划线,数字,$组成,但不能以数字开头或使用关键字
2.变量赋值
变量名=值; 例如: temp=5;
3.使用变量
变量名;
4.定义变量并初始化
int temp=5;
5.同时定义多个变量
int a,b=5,c;
请看例子
package 变量;
public class 定义不同类型的变量 {
public static void main(String[] args) {
//存学生姓名,年龄,性别,身高,是否休学
String name="张三";
int age=21;
char sex='男';
//double height=1.67;
//double height=1.67d;
float height=1.67f;
boolean state=true;
System.out.println("姓名是:"+name+"\n 年龄是:"+age);
System.out.println("性别是:"+sex);
System.out.println("身高是:"+height);
System.out.println("休学状态是:"+state);
}
}
2、数据类型
作用:区分变量存储不同的数据
数据类型分类:数值类型、非数值类型
常用的数据类型:
byte 存字节
int 存整数
short 短整型
long 长整型
float 单精度浮点型(小数)
double 双精度浮点型(小数)
char 字符型 注意:字符需用单引号引起来 例如:‘a’
String 字符型 注意:字符串需用双引号引起来 例如:“abc”
boolean 布尔型 注意:存放true(真)、false(假)
请看例子
3、运算符与表达式
表达式=操作数+运算符
1.常用运算符
赋值运算符:=
算术运算符:+ - * / %(取模) ++(自加) --(自减)
关系运算符:< <= > >= ==(等于) !=(不等于)
逻辑运算符:||(或) &&(且) !(非)
作用:连接多个关系表达式
注意:用什么运算符连接的式子即称为什么表达式
2.运算符的优先级
括号>算术运算符>关系运算符>逻辑运算符
package 运算符;
public class Test {
public static void main(String[] args) {
System.out.println(1+1);
System.out.println("1"+1);
System.out.println(10%3);
//面试题:++在前和在后的区别
int i=1;
System.out.println(i++);
System.out.println(++i);
//注意:加加在后表示计算再自加,加加在前表示先自加再计算
//面试题: 整数除整数还是整数
System.out.println(10/3.0);
int temp=234;
System.out.println(temp/10%10);
System.out.println(1>2);
}
}
4、使用Scanner类实现用户输入
实现步骤:
1.导入Scanner类
import java.util.Scanner; 或import java.util.*;
2.创建Scanner类的对象
//Scanner 对象名=new Scanner(System.in);
Scanner input=new Scanner(System.in);
3.接收用户输入
String str=input.next(); //接收输入字符串
int temp=input.nextInt(); //接收整数
double d= input.nextDouble(); // 接收小数
代码示例
package 输入;
//import java.util.*; //*表示所有类
import java.util.Scanner;
public class 使用Scanner实现输入 {
public static void main(String[] args) {
//1.导入Scanner类
// import java.util.Scanner; 或import java.util.*;
//2.创建Scanner类的对象
//Scanner 对象名=new Scanner(System.in);
Scanner input=new Scanner(System.in);
// 3.接收用户输入
//String str=input.next(); //接收输入字符串
// int temp=input.nextInt(); //接收整数
//double d= input.nextDouble(); // 接收小数
System.out.println("请输入姓名:");
String str=input.next(); //接收输入字符串
System.out.println(str);
}
}
package 输入;
import java.util.Scanner;
public class 请输入姓名和年龄 {
public static void main(String[] args) {
//输入对象
Scanner input=new Scanner(System.in);
System.out.print("请输入姓名:");
String name=input.next();
System.out.print("请输入年龄;");
int age=input.nextInt();
System.out.println("姓名是:"+name);
System.out.println("年龄是:"+age);
}
}
请输入半径求圆的面积
package 输入;
import java.util.Scanner;
public class 请输入半径求圆的面积 {
public static void main(String[] args) {
//接收输入半径
System.out.print("请输入圆的半径:");
//创建输入对象
Scanner input=new Scanner(System.in);
//接收输入
double r=input.nextDouble();
//计算
double res=r*r*3.14;
//输出
System.out.println("结果为:"+res);
}
}
5、基本数据类型转换
基本数据类型由低到高顺序
char->short->int->long->float->double
隐式转换(默认机制):数据类型由低到高自动转换
强制转换:数据类型由高到低转换 (目标类型)变量
代码示例
package 类型转换;
public class 基本类型的转换 {
public static void main(String[] args) {
/* int a=1;
double b=a; //隐式转换
System.out.println(b);
double d=1.7;
int k=(int)d; //强制转换
System.out.println(k);*/
char c='<'; //字符型
int i=c;
System.out.println(i);
int temp=120;
System.out.println((char)temp);
}
}
二、java控制结构:1.顺序结构 2.选择结构 3.循环结构
1、流程图
作用:描述程序的执行过程
流程图的表示符号:
椭圆表示程序开始和结束
平形四边形表示输入输出
菱形表示判断
矩形表示执行代码块
线条表示走向
2、if选择结构
语法:
if(条件){
条件成立时执行的代码块
}
else{
条件不成立时执行的代码
}
注意:1.条件返回值一定是boolean类型,通常情况下条件为关系表达式,逻辑表达式
2.else块可有可无
3.当代码块执行只有一行语句时可省大括号
代码示例
package 选择结构; //声明包
import java.util.Scanner; //导入包|类
public class if选择结构 {
public static void main(String[] args) {
//输入
Scanner input=new Scanner(System.in);
System.out.println("请输入语文成绩:");
int cj=input.nextInt(); //30
//判断语句
if(cj>=60){
System.out.println("通过考试");
}
else
{
System.out.println("没有能过考试");
System.out.println("后期参加考补");
}
}
}
3、逻辑运算符
作用:连接多个关系表达式
语法:条件1 逻辑运算符 条件2
逻辑运算符:&&且 ||或 !非
且表示左右两边同为真时结果为真
或表示左右两边有一边为真时结果为真
非表示非真非假
代码示例
package 选择结构; //声明包
import java.util.Scanner; //导入包|类
public class 逻辑表达式 {
public static void main(String[] args) {
System.out.println("随机数为:"+Math.random());
//输入
Scanner input=new Scanner(System.in);
System.out.println("请输入语文成绩:");
int cj=input.nextInt(); //30
System.out.println("请输入数学成绩:");
int math=input.nextInt();
//判断语句
if(cj>=60 && math>=60){
System.out.println("通过考试");
}
else
{
System.out.println("没有能过考试");
System.out.println("后期参加考补");
}
}
}
4、嵌套if语句
所谓嵌套if就是在if语句中再加入if语句
if(条件){
if(条件){}else{}
}else
{
if(条件){}else{}
}
代码示例
package 选择结构; //声明包
import java.util.Scanner; //导入包|类
public class 嵌套if选择结构 {
public static void main(String[] args) {
System.out.println("随机数为:"+Math.random());
//输入
Scanner input=new Scanner(System.in);
System.out.println("请输入语文成绩:");
int cj=input.nextInt(); //30
System.out.println("请输入数学成绩:");
int math=input.nextInt();
//嵌套if语句
if(cj>=60){
if(math>=60){
System.out.println("通过考试");
}
else
{
System.out.println("数学没有通过考试");
}
}else{
if(math>=60){
System.out.println("语言没有通过考试");
}else{
System.out.println("双挂。。。。。");
}
}
}
}
5、多重if语句
作用:如果有多种可能性
语法:
if(条件1){
}else if(条件2){
}else if(条件3){}
else{}
代码示例
package 选择结构;
import java.util.Scanner;
public class 理解多重if语句 {
public static void main(String[] args) {
//请输入一个成绩显示优>80,中等>60,差 <60
Scanner input=new Scanner(System.in);
System.out.println("请输入成绩:");
int cj=input.nextInt();
//多重if语句
if(cj>=80){
System.out.println("优");
}else if(cj>=60 && cj<80){
System.out.println("中等...");
}else if(cj<60){
System.out.println("差..没用死了算了");
}
}
}
6、switch语句
作用:实现等值判断
语法:
switch(变量){
case 值1:
代码块
break;
case 值2:
代码块
break;
…
default:
代码块
break;
}
注意:1.break不能省表示退出switch
2.default块可有可无
3.case可以并列出现
case 值1:
case 值2: 代码块 break;
4.switch中的变量不支持String,long
代码示例
package 选择结构;
import java.util.Scanner;
public class switch语句 {
public static void main(String[] args) {
//请输入一个数显示对应的星期
//1=>星期一
Scanner input=new Scanner(System.in);
System.out.println("请输入一个星期数:");
int wk=input.nextInt();
/*多重if语句
if(wk==1){
System.out.println("星期一");
}else if(wk==2){
System.out.println("星期二");
}else if(wk==3){
System.out.println("星期三");
}else if(wk==4){
System.out.println("星期四");
}else if(wk==5){
System.out.println("星期五");
}else if(wk==6){
System.out.println("星期六");
}else if(wk==7){
System.out.println("星期天");
}else{
System.out.println("没有对应的星期");
}
*/
//switch语句
switch(wk){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
default:
System.out.println("星期不存在..");
break;
}
}
}
package 选择结构;
import java.util.Scanner;
public class switch语句2 {
public static void main(String[] args) {
//请输入一个星期显示对应工作日,及双休
//1=>星期一
Scanner input=new Scanner(System.in);
System.out.println("请输入一个星期数:");
int wk=input.nextInt();
switch (wk) {
//并列case
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("双休日");
break;
}
}
}
7、多重if语句与switch的区别
多重if语句多用于解决区间问题
switch语句多用于解决等值判断
8、其它语句:
Math.random() 产生0-1之间的随机数
三、循环结构
1、循环结构
作用:解决重复要做事情
循环结构:while循环、do…while循环、for循环
代码示例
package while循环;
public class 理解循环 {
public static void main(String[] args) {
//理解循环
//输出自己的姓名十次
//使用while控制固定次数的循环
int i=0; //此变量控制次数
while(i<10){
System.out.println("第"+(i+1)+"次输出:姓名是:王建兵");
i++; //实现变量自增
}
System.out.println("循环完毕");
}
}
2、while循环语法
while(条件){
循环体…
}
特点:先判断再执行
(1) .使用while控制固定次数的循环
int 变量=起始值;
while(变量条件){
循环体
变量自加或自减
}
(2).由用户主导不确定次数的循环
System.out.println(“今天能跑吗?y/n”);
String flag=input.next(); //y
while(flag.equals(“y”)){
System.out.println(“跑完一圈…”);
//询问
System.out.println("你还能继续跑吗?");
flag=input.next(); //y
}
package while循环;
public class 应用循环 {
public static void main(String[] args) {
//1+2+3+4+5+...100=?
/* int sum=0; //累加器
sum=sum+1; 1
sum=sum+2; 3
sum=sum+3; 6
sum=sum+4; 10
....
sum=sum+100*/
/*
int sum=0; //累加器
int i=1;
while(i<=100){
sum=sum+i;
i++;
}
System.out.println("1-100和为:"+sum);
*/
//1-100的奇数和
int sum=0; //累加器
int i=1;
while(i<=100){
if(i%2!=0)
{
sum=sum+i;
}
i++;
//i+=2; //==>i=i+2
}
System.out.println("1-100和为:"+sum);
}
}
package while循环;
import java.util.Scanner;
public class while控制不确定次数的循环 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
//模拟跑圈
//由用户主导不确定次数的循环
System.out.println("今天能跑吗?y/n");
String flag="y";//input.next(); //y
while(flag.equals("y")){
System.out.println("跑完一圈.....");
//询问
System.out.println("你还能继续跑吗?");
flag=input.next(); //y
}
System.out.println("结束程序..");
}
}
3、do…while循环的语法
do{
循环体…
}while(条件);
特点:先执行,再判断
代码示例
package dowhile循环;
public class 理解dowhile循环 {
public static void main(String[] args) {
//输出姓名五次
/*int i=1;
do{
System.out.println("第"+i+"次输出:王发");
i++;
}while(i<=5);
*/
int i=1;
do{
if(i%2!=0){
System.out.println("奇为:"+i);
}
i++;
}while(i<=10);
}
}
4、变量的作用域
全局变量:在大括号外定义的变量称为全局变量
局部变量:在大括号内定义的变量称为局部变量
代码示例
package dowhile循环;
public class 理解变量的作用域 {
/**
* @param args
*/
public static void main(String[] args) {
int temp=10; //全局变量
int temp2=20;
if(true){
//int temp2=20; //局部变量
System.out.println(temp);
}
System.out.println(temp2);
}
}
5、其它:
1.使用equals方法判断字符串是否相等
如果相等返回true,反之返回false
例如:
if(字符串变量.equals(“字符串”)){
}else{}
代码示例
package 选择结构作业;
import java.util.Scanner;
public class 字符串判断是否相等 {
public static void main(String[] args) {
//用户名 admin 密码:123
Scanner input=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=input.next();
System.out.println("请输入密码:");
String pwd=input.next();
// if(name=="admin" && pwd=="123"){
if(name.equals("admin") && pwd.equals("123")){
System.out.println("登入成功");
}else
System.out.println("登入失败");
}
}
四、for循环+跳转语句+数组
循环结构语句:while循环、dowhile循环、for循环
1、for循环语句
for(变量初始化;变量条件;变量自加自减){
循环体
}
注意:多用于解决固定次数的循环
代码示例
package 循环;
public class for循环 {
public static void main(String[] args) {
//输出1-10之间的数
for( int i=1;i<=10;i++){
System.out.println(i);
}
}
}
package 循环;
import java.util.Scanner;
public class for示例一 {
public static void main(String[] args) {
//输入五门课的成绩求平均分
Scanner input=new Scanner(System.in);
int count=5; //存几门课
int sum=0; //累加器
for(int i=1;i<=count;i++){
System.out.println("请输入第"+i+"门课的成绩");
int cj=input.nextInt();
sum=sum+cj;
}
System.out.println("总分为:"+sum);
System.out.println("平均分:"+sum/count);
}
}
package 循环;
import java.util.Scanner;
public class for示例二 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入几的拆分:");
int count=input.nextInt(); //6
/*for(int i=0;i<=count;i++)
{
System.out.println(i+"+"+(count-i)+"="+count);
}*/
for(int i=0,j=count;i<=count;i++,j--){
System.out.println(i+"+"+j+"="+count);
}
}
}
2、跳转语句用于循环
1).break语句
作用:用于循环表示退出循环
package 跳转语句;
public class break示例 {
public static void main(String[] args) {
//break的用法
for(int i=1;i<=5;i++){
if(i%2==0)
{
break; //退出循环
}
System.out.println(i);
}
System.out.println();
}
}
2).continue语句
作用:只用于循环表示退出本次循环,继续下一次
package 跳转语句;
public class continue示例 {
public static void main(String[] args) {
// continue的用法
/*for(int i=1;i<=5;i++){
if(i%2==0)
{
continue;//表示退出本次循环
}
System.out.println(i);
}*/
int sum=0;
for(int i=1;i<=10;i++){
if(i%2!=0)
continue;
sum=sum+i;
}
System.out.println("偶数和为:"+sum);
}
}
3)、数组(Array)
什么是数组:数组是存储一组相同数据类型的数据
4)、使用数组
1.声明数组
数据类型 [] 数组名;
String [] names;
2.分配数组长度【分配内存空间】
数组名=new 数据类型[长度];
names=new String[3];
3.声明数组并初始化长度
数据类型 []数组名=new 数据类型[长度];
String []names=new String[3];
4.给数组赋值
数组名[索引位置]=值; //注意:索引从0开始
names[0]=“张三”;
names[1]=“王宝强”;
names[2]=“马蓉”;
5).获取数组中的某个元素
数组名[索引位置];
System.out.println(names[1]);
6).获取数组长度
数组名.length;
System.out.println(names.length);
7).获取所有元素
for(int i=0;i<names.length;i++)
{
System.out.println(names[i]);
}
8).定义数组初始化
String[] names1=new String[]{“张三”,“李四”,“麻子”};
String[] names1={“张三”,“李四”,“麻子”};
代码示例
package 数组;
public class 理解数组 {
public static void main(String[] args) {
//数组是用来存放一组相同类型的数据
//存三个人的姓名==>数组
//1.声明数组
//数据类型 [] 数组名;
String [] names;
//2.分配数组长度【分配内存空间】
//数组名=new 数据类型[长度];
names=new String[3];
//3.声明数组并初始化长度
//数据类型 []数组名=new 数据类型[长度];
//String []names=new String[3];
//4.给数组赋值
//数组名[索引位置]=值; //注意:索引从0开始
names[0]="张三";
names[1]="王宝强";
names[2]="马蓉";
//5.获取数组中的某个元素
//数组名[索引位置];
System.out.println(names[1]);
//6.获取数组长度
//数组名.length;
System.out.println(names.length);
//7.获取所有元素
for(int i=0;i<names.length;i++)
{
System.out.println(names[i]);
}
//8.定义数组初始化
//String[] names1=new String[]{"张三","李四","麻子"};
//String[] names1={"张三","李四","麻子"};
}
}
package 数组;
import java.util.Scanner;
public class 数组示例二 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
//输入一个学生的五门课成绩,存入数组并进行显示
//定义数组
int [] cjs=new int[5];
//循环输入成绩
for (int i = 0; i < cjs.length; i++) {
System.out.println("请输入第"+(i+1)+"门课的成绩 ");
int temp=input.nextInt(); //输入值
//存入数组
cjs[i]=temp;
}
//循环显示
System.out.println("序号\t成绩");
for (int i = 0; i < cjs.length; i++) {
System.out.println((i+1)+"\t"+cjs[i]);
}
System.out.println("总分:");
}
}
五、二重循环+二维数组
1、二重循环
1).什么是二重循环:所谓二重循环是在循环中嵌入循环
2).构成二重循环:任意两个循环语句嵌套都可构成二重循环
例如:
for(…){ //外层循环
for(…){} //内层循环
}
3).二重循环的应用:
解决矩阵图形(表格)问题
4).在二重环中使用跳转语句(break,continue)
跳转语句只作用当前循环
理解二重循环
package 二重循环;
public class 理解二重循环 {
public static void main(String[] args) {
//二重循环
//注意:外层循环一次,内层循环一轮
for(int i=1;i<=3;i++){ //外层循环
for(int j=1;j<=2;j++){ //内层循环
System.out.println("你好!");
}
}
}
}
package 二重循环;
import java.util.Scanner;
public class 二重循环Demo1 {
public static void main(String[] args) {
//求各班级的三名学生平均分
Scanner input=new Scanner(System.in);
//使用外层循环控制班级
for(int j=1;j<=2;j++)
{
System.out.println("第"+j+"个班及的学生");
//求每个班的平均分
int sum=0;
for(int i=1;i<=3;i++){ //内层循环
System.out.println("请输入第"+i+"个学生的成绩");
int cj=input.nextInt();
sum=sum+cj;
}
System.out.println("平均分为:"+sum/3);
}
}
}
** 二重循环中的跳转语句 **
package 二重循环;
public class 二重循环中的跳转语句 {
public static void main(String[] args) {
for(int i=1;i<=3;i++){ //A
for (int j = 1; j <= 3; j++) { //B
System.out.println("*");
break; //退出循环
}
}
}
}
运用二重循环输出乘法表
package 二重循环;
public class 输出成法表 {
public static void main(String[] args) {
for(int i=1;i<=9;i++){ //行
for(int j=1;j<=i;j++){//列
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println(""); //换行
}
}
}
二重循序输出矩形、三角形
package 二重循环;
import java.util.Scanner;
public class 应用二重循环 {
public static void main(String[] args) {
//输出矩形
for(int i=1;i<=5;i++) { //外层循环控制行
for(int j=1;j<=5;j++){ //内层循环控制列
System.out.print("*"); //单元格的内容
}
//换行
System.out.println("");
}
//输出三角形
for (int i =1; i <= 5; i++) { //行
for (int j = 1; j <= 2*i-1; j++) {//列
System.out.print("*");
}
System.out.println("");
}
//输出等腰三角形
Scanner input=new Scanner(System.in);
System.out.println("请输入多少行的三角形:");
int row=input.nextInt();
for(int i=1;i<=row;i++){ //行
//控制空格
for(int j=1;j<=row-i;j++){
System.out.print(" ");
}
//控制*
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
System.out.println("");
}
}
}
2、理解(扩展二维数组)
数组分类:一维数组,二维数组,三维数组
1).对一维数组进行排序:
Arrays.sort(数组); //升序
注意:使用Arrays必需先导入java.util.Arrays类
2).二维数组
//使用二维数组存放表格数据(面:行列组成的面)
//1.定义二维数组
//String [][] ary=new String[行数][列数];
String [][]ary=new String[3][3];
//2.赋值
//数组名[行位置][列位置]=值;
ary[0][0]=“张三”;
ary[0][1]=“李四”;
ary[0][2]=“麻子”;
ary[1][0]="小桂子";
ary[1][1]="小李子";
ary[1][2]="小麻子";
ary[2][0]="追风年华";
ary[2][1]="无情马蓉";
ary[2][2]="经纪人";
//获取二维数组中的某个值
//数组名[行位置][列位置];
System.out.println(ary[1][1]);
//显示所有信息
for (int i = 0; i <3; i++) { //行
for (int j = 0; j <3; j++) { //列
System.out.print(ary[i][j]+"\t");
}
System.out.println("");
}
一维数组
package 数组;
import java.util.Arrays;
import java.util.Scanner;
public class 一维数组 {
public static void main(String[] args) {
//输入五笔购物金额并输出显示
Scanner input=new Scanner(System.in);
//定义数组存五笔金额
double [] moneys=new double[5];
for (int i = 0; i <5; i++) {
System.out.println("请输入第"+(i+1)+"笔金额");
double money=input.nextDouble();
//存入数组
moneys[i]=money;
}
//排序
Arrays.sort(moneys);
//显示
System.out.println("序号\t金额");
for (int i = 0; i < moneys.length; i++) {
System.out.println((i+1)+"\t"+moneys[i]);
}
System.out.println("最小值:"+moneys[0]);
System.out.println("最大值:"+moneys[moneys.length-1]);
}
}
理解二维数组
package 数组;
public class 理解二维数组 {
public static void main(String[] args) {
//使用二维数组存放表格数据(面:行列组成的面)
//1.定义二维数组
//String [][] ary=new String[行数][列数];
String [][]ary=new String[3][3];
//2.赋值
//数组名[行位置][列位置]=值;
ary[0][0]="张三";
ary[0][1]="李四";
ary[0][2]="麻子";
ary[1][0]="小桂子";
ary[1][1]="小李子";
ary[1][2]="小麻子";
ary[2][0]="追风年华";
ary[2][1]="无情马蓉";
ary[2][2]="经纪人";
//获取二维数组中的某个值
//数组名[行位置][列位置];
System.out.println(ary[1][1]);
//显示所有信息
for (int i = 0; i <3; i++) { //行
for (int j = 0; j <3; j++) { //列
System.out.print(ary[i][j]+"\t");
}
System.out.println("");
}
}
}
使用Arrays类对数组排序
package 数组;
import java.util.Arrays;
public class 使用Arrays类对数组排序 {
public static void main(String[] args) {
//定义一个数组
int [] ary={19,6,15,8,1};
System.out.println("没有排序:");
for (int i = 0; i < ary.length; i++) {
System.out.print(ary[i]+"\t");
}
//排序
//Arrays.sort(数组名); //默认升序
Arrays.sort(ary);
//排序以后的结果
System.out.println("\n排序后:升序");
for (int i = 0; i < ary.length; i++) {
System.out.print(ary[i]+"\t");
}
System.out.println("\n排序后:降序");
for (int i = ary.length-1; i >=0 ; i--) {
System.out.print(ary[i]+"\t");
}
System.out.println("\n最小值:"+ary[0]);
System.out.println("最大值:"+ary[ary.length-1]);
}
}