PS:①JVM:java虚拟机,java编译后的class文件就是在虚拟机上运行的; ②java内存:栈区(存放函数值、局部变量的值等,存取速度快但无灵活性);堆区(存放由new创建的数组和对象,比 如scanner的用法;堆区则能动态分配内存但分配速度慢);静态区;代码区;
③java中使用数组:声明(int a[ ])、分配空间(a=new int[7])、赋值;
④数组的应用:排序问题,使用java.util包里面的Arrays类(可进行排序、查找等);Arrays.sort(数组名) 即可对数组(字符型数组也可排序)进行升序排序
从以下两个题练习一下数组,同时也有疑问:当数组长度(即下例学生人数)事先并不知道时又该怎样使用数组??
题目1:将从键盘输入的学生成绩按升序排序并输出;
import java.util.*;//*即代表java.util包里的所有类;
public class paixu {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int qcn[]=new int[10];
for(int i=0;i<qcn.length;i++) {
System.out.println("请输入第"+(i+1)+"个同学的总成绩");
qcn[i]=in.nextInt();
}
Arrays.sort(qcn);//Arrays类不需要定义申明,可直接使用;
for(int i=0;i<qcn.length;i++) {
System.out.print(qcn[i]+"\t");
}
}
}
题目2:将从键盘输入的字母按字典顺序倒序输出;
import java.util.*;
public class paixu2 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String qcn[]=new String[7];
for(int i=0;i<qcn.length;i++) {
qcn[i]=in.next();
}
Arrays.sort(qcn);
for(int i=qcn.length-1;i>=0;i--) {
System.out.print(qcn[i]+"\t");
}//将数组里面的倒序输出;
}
}