JAVA的带参数的方法

一.带参数的方法

                1.1 语法:
                            <访问修饰符>  返回类型  <方法名>(<形式参数列表>) {

                                      //方法的主体
                            }
                1.2 案例:
                            榨汁机
                            public class ZhazhiJi {
                                //带参数的方法
                                public String zhazhi(String fruit){//形参
                                    String juice=fruit+"汁";
                                    return juice;
                                }
                                
                                
                            }
                            public class ZhazhijiTest {
                                public static void main(String[] args) {
                                    //创建类的对象实例
                                    ZhazhiJi zhazhiji=new ZhazhiJi();
                                    //用.的方式进行调用
                                    String fruit="苹果";
                                    String juice = zhazhiji.zhazhi(fruit);    //实参
                                    System.out.println(juice);
                                }
                            }
                1.3 形参和实参:
                                形参代表定义方法时括号内的参数(参数列表)                public void xc(形参)
                                实参代表在调用方法时方法括号内的参数(参数列表)        .xc(实参);
                1.4 携带多个参数:

                                注意:当携带多个参数时,实参列表需要和形参列表的顺序和数据类型保持一致

                                案例:从开始位置开始查找数组中是否有学生姓名,查找到结束位置
                                        //从开始位置到结束位置查找学生
                                        public void seachStudent(int firstindex,int secondindex,String name){
                                            for (int i = firstindex; i <=secondindex; i++) {
                                                if(names[i].equals(name)){
                                                    System.out.println("找到了!");
                                                    break;
                                                }else{
                                                    System.out.println("没找到!");
                                                }
                                            }
                                        }

                                        stu.seachStudent(2,8,"陈八");

        二.数组作为参数:
                        案例:有5位学员参加了Java知识竞赛的决赛,输出决赛的平均成绩和最高成绩
                            public class JavaScore {
    
                                
                                //计算平均成绩
                                public double avgscore(double[] score){
                                    double avg=0.0;        //平均分
                                    double sum=0.0;        //总成绩
                                    for (int i = 0; i < score.length; i++) {
                                        sum=sum+score[i];
                                    }
                                    avg=sum/score.length;
                                    return avg;
                                }
                                
                                //计算数组的最高成绩
                                public double maxscore(double[] score){
                                    double max=score[0];        //最高分
                                    for (int i = 0; i < score.length; i++) {
                                        if(max<score[i]){
                                            max=score[i];
                                        }
                                    }
                                    return max;
                                }
                            }
                            public class JavaScoreTest {
                                public static void main(String[] args) {
                                    double [] scores=new double[5];
                                    Scanner input=new Scanner(System.in);
                                    for (int i = 0; i < scores.length; i++) {
                                        System.out.println("请输入第"+(i+1)+"位学员的成绩:");
                                        double score=input.nextDouble();
                                        scores[i]=score;
                                    }
                                    JavaScore javascore=new JavaScore();
                                    double avgscore = javascore.avgscore(scores);
                                    double maxscore = javascore.maxscore(scores);
                                    System.out.println("平均成绩为:"+avgscore);
                                    System.out.println("最高成绩为:"+maxscore);
                                }
                            }
        三.对象作为参数:
                        对象数组:
                                 例如:Student [] stus=new Student[5];
                                 访问对象数组中的元素通过stus[]的方式进行访问
                        案例:在实现了增加一个学生姓名的基础上,增加学生的学号、年龄和成绩,并显示这些信息
                            public class Student {

                                int stuno; // 学号
                                String name; // 姓名
                                int age; // 年龄
                                double score; // 成绩
                                /**
                                 * 创建一个数组:保存学生
                                 */
                                Student[] stus = new Student[30]; // 对象数组:存储一堆对象 对象类型

                                // 添加学生
                                public void addStudent(Student stu) {
                                    for (int i = 0; i < stus.length; i++) {
                                        if (stus[i] == null) {
                                            stus[i] = stu;
                                            break;
                                        }
                                    }
                                }

                                // 展示学生信息
                                public void showStudent() {
                                    for (int i = 0; i < stus.length; i++) {
                                        if (stus[i] != null) {
                                            System.out.println(stus[i].stuno + " " + stus[i].name + " "
                                                    + stus[i].age + " " + stus[i].score);
                                        }
                                    }
                                }

                            }
                            public class StudentTest {
                                public static void main(String[] args) {
                                    /*Student stu1=new Student();
                                    stu1.name="陈璟瑜";
                                    stu1.stuno=001;
                                    stu1.age=20;
                                    stu1.score=99.99;
                                    stu1.addStudent(stu1);
                                    Student stu2=new Student();
                                    stu2.name="杨金川";
                                    stu2.stuno=002;
                                    stu2.age=18;
                                    stu2.score=100;
                                    stu1.addStudent(stu2);
                                    stu1.showStudent();*/
                                    
                                    Scanner input=new Scanner(System.in);
                                    Student stus=new Student();
                                    for (int i = 1; i <=5; i++) {
                                        Student stu=new Student();
                                        System.out.println("请输入第"+i+"位学生编号:");
                                        stu.stuno=input.nextInt();
                                        System.out.println("请输入第"+i+"位学生姓名:");
                                        stu.name=input.next();
                                        System.out.println("请输入第"+i+"位学生年龄:");
                                        stu.age=input.nextInt();
                                        System.out.println("请输入第"+i+"位学生成绩:");
                                        stu.score=input.nextDouble();
                                        stus.addStudent(stu);
                                    }
                                    stus.showStudent();
                                    
                                    
                                }
                            }

        四.包
                好处:1.允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件
                      2.防止命名冲突
                      3.更好的保护类、属性和方法
                创建包的语法:package
                导入包的语法:import


                创建包的两种方式:
                                    1.选择项目下的src目录右键-->New-->package
                                    2.创建类的时候指定包名,如果没有包,则为默认的default package