JavaSE编程基础6
一、方法例题;
例1:登记学生信息;
写入方法:
public void checkIn(int cno,String name,String sex,int age,String xclass){
System.out.println("登记学生信息");
System.out.println(String.format("学号:%d\t姓名:%s\t性别:%s\t年龄:%d\t班级:", cno,name,sex,age,xclass));
}
写入运行程序:
Scanner input = new Scanner(System.in);
int id,nianling;
String xingming,xingbie,banji,dengji;
School xuexiao = new School();
xuexiao.checkIn(13112,"黎明","男",23,"7班");
System.out.println("登记新学生信息");
do{
System.out.println("请输入一个学生学号:");
id = input.nextInt();
System.out.println("请输入一个学生姓名:");
xingming = input.next();
System.out.println("请输入一个学生性别:");
xingbie = input.next();
System.out.println("请输入一个学生年龄:");
nianling = input.nextInt();
System.out.println("请输入一个学生班级:");
banji = input.next();
xuexiao.checkIn(id, xingming, xingbie, nianling, banji);
System.out.println("是否进行登记学生信息(yes/no)");
dengji = input.next();
}while(dengji.equals("yes"));
例2:利用调用方法,生成一个矩形;
写入方法:
public void checkIn(int i, int j){
int a,b;
for(a=1;a<=i;a++){
for(b=1;b<=j;b++){
System.out.print(" * ");
}
System.out.println();
}
}
写入程序:
zhengfangxing juxing= new zhengfangxing();
juxing.checkIn(5,10);
例3:求矩形面积与圆的面积;
写入方法:
public double getArea(double r){
return 3.14d*r;
}
写入运行程序:
Scanner input = new Scanner(System.in);
int h,w,area;
double zr,area_1;
System.out.println("求矩形的面积》》》");
System.out.println("请输入矩形的长度:");
h = input.nextInt();
System.out.println("请输入矩形的宽度:");
w = input.nextInt();
Common cm = new Common();
area = cm.getArea(h, w);
System.out.println(String.format("矩形的面积是:%d", area));
System.out.println("请输入一个圆的半径:");
zr = input.nextDouble();
area_1 = cm.getArea(zr);
System.out.println(String.format("圆的面积是:%g", area_1));
方法重载:一个方法名可以使用多个功能;
优点:便于数据的管理;
如何实现方法的重载?
(1)、在一个类中,方法名相同,参数不同;
(2)、如果参数个数相同,则参数类型必须不同;
(3)、参数个数不相同;
二、数组;
1、一维数组;对数据进行管理。可以是数据,文件,boolean类型等;是java中的第一个对数据管理的对象;
语法:类型 数组名[] = new 类型[元素个数];
(1)、空间平分大小,连续的;
(2)、顺序号从下标为0开始;顺号:索引;
(3)、一个数组的最大长度索引是它的元素个数(长度)-1;
(4)、获得数组长度:数组名.length;
(5)、数组中的每一个元素的类型是一样的;
(6)、若要取出或写入数据到数组中指定元素,通过数组[索引]方式操作;p[0]=90;int s = p[3];
2、数组的三种方式:
(1)、例:int p[] = new int [];
定义数组大小,初始化,中括号内指定元素;
(2)、例:int p[];p = new int [20];
(3)、例:int p[] = {12,34,23,1,35};
数组的大小确定数组的长度;
例题:要求:
(1)、通过键盘录入指定考生的数量;
(2)、将指定数量的考生记录在分数数组中;
(3)、最后获得所有参加考试学生的总分,平均分;
Scanner input = new Scanner(System.in);
int count,p[],i,sum,avg;
sum = 0;
System.out.println("《《《学生考试成绩信息》》》》");
System.out.println("====================");
System.out.println("请输入考试学生数量:");
count = input.nextInt();
p = new int[count];
for(i=1;i<=count;i++){
System.out.println(String.format("请输入第%d名学生的分数:", i));
p[i-1]=input.nextInt();
//求和;
sum= sum+ p[i-1];
}
System.out.println("各个学生分数的成绩:");
for(i=1;i<p.length+1;i++){
System.out.println(p[i-1]);
}
//求平均数;
avg = sum/count;
System.out.println(String.format("学生的总分是:%d", sum));
System.out.println(String.format("学生的平均分分是:%d", avg));
三、两数交换:
例题:第一种方法:
int x = 100,y=200,temp;
temp = x+y;
x = y;
y = temp - x;
第二种方法:
temp = x;
x = y;
y = temp;
四、排序:
冒泡排序:两个两个数值进行相互比较;
注意:超过数组的范围称为越界;
冒泡规律:
(1)、外部比较几轮,数组长度-1;
(2)、内部:每一轮比较都会筛出一个极值,放到最后;
(3)、每一轮两两比较的次数都会比上一轮比较少一次;
例题:
int arr[] = {5,9,24,12,7};
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
for(int i=0;i<arr.length-1;i++){
for(int m=0;m<arr.length-1-i;m++){
if(arr[m]>arr[m+1]){
int type = arr[m];
arr[m]=arr[m+1];
arr[m+1]=type;
}
}
}
System.out.println();
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}