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");

}