• 第三章类与对象基础 ② 代码


    1.课前测试

    使用java循环输入5个人的分数,求总分,平均分,要求:
    1.所有分数都输入正确,才输出总分,平均分
    2.有任意分数错误,则终止循环,输出错误提示

    代码如下:

    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 8:54
     */
    import java.lang.reflect.Array;
    import java.util.Scanner;
    public class ceshi {
        public static void main(String[] args) {
            //使用java循环输入5个人的分数,求总分,平均分,要求:
            //1.所有分数都输入正确,才输出总分,平均分
            //2.有任意分数错误,则终止循环,输出错误提示
            double sum = 0;
            double max=0;
            double min=0;
            boolean flag=true;  //设定终止判断条件标志!!!! 一慌就想不起来
            for (int i = 1; i <= 5; i++) {
                System.out.println("请输入第"+i+"次成绩");
                Scanner sc = new Scanner(System.in);
                double score = sc.nextDouble();
    
                if(score>100 || score<0){
                    System.out.println("输出错误!");
                    flag=false;
                    break ;
                }
                sum+=score;
    
                if(i==1){
                    max=score;
                    min=score;
                }
    
                if (max<score){
                    max=score;
                }
    
                if (min>score){
                    min=score;
                }
    
            }
            if(flag==true){
                System.out.println("和是"+sum+",平均值是"+sum/5+"最大值"+max+"最小值"+min);
            }
    
    //                int i;
    //                int sum=0;
    //                for(i=1;i<=5;i++){
    //                    Scanner sc = new Scanner(System.in);
    //                    System.out.println("请输入第"+i+"个学生分数");
    //                    int price = sc.nextInt();
    //                    sum += price;
    //                    if(price>100||price<0){
    //                        System.out.println("输入成绩有误");
    //                        return;
    //                    }
    //
    //                }
    //                System.out.println("总分为"+sum);
    //                System.out.println("平均分为"+sum/5);
                }
                
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65

    运行结果如下:

    在这里插入图片描述

    package com.yzh70627;
    import java.util.Scanner;
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class boke {
    
            public static void main(String[] args) {
                //创建输入工具类对象
                Scanner scanner = new Scanner(System.in);
                int sum = 0;
                //定义标记变量,假设输入都是对的
                boolean flag = true;
                for (int i=1;i<=5;i++){
                    System.out.println("请输入第"+i+"个学生的成绩:");
                    try {
                        int score = scanner.nextInt();
                        if(score<0 || score>100){
                            System.out.println("输入分数有误");
                            flag=false;
                            break;
                        }
                        sum+=score;
                    }catch (Exception ex){
                        System.out.println("输入不合法");
                        flag=false;
                        break;
                    }
                }
    
                if(flag==true) {
                    System.out.println("分数和:" + sum + " 平均分:" + (sum / 5.0));
                }
            }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    运行结果如下:
    在这里插入图片描述

    package com.yzh70627;
    import java.util.Scanner;
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class boke {
        
            public static void main(String[] args) {
                //输入分数,求最大值,最小值,统计80分以上的学生比例
    
                //创建输入工具类对象
                Scanner scanner = new Scanner(System.in);
                //求和
                int sum = 0;
                //最大值
                int max = 0;
                //最小值
                int min = 1000;
                //记录80以上的人数
                int count = 0;
                //定义标记变量,假设输入都是对的
                boolean flag = true;
                for (int i=1;i<=5;i++){
                    System.out.println("请输入第"+i+"个学生的成绩:");
                    int score = scanner.nextInt();
                    if(score<0 || score>100){
                        System.out.println("输入分数有误");
                        flag=false;
                        break;
                    }
                    sum+=score;
    
                    //比较最大值
                    if (score>max){
                        max=score;
                    }
                    //比较最小值
                    if(score<min){
                        min=score;
                    }
    
                    //统计80分以上的比例
                    if (score<80){
                        continue;
                    }
                    count++;
                }
    
                if(flag==true) {
                    System.out.println("分数和:" + sum + " 平均分:" + (sum / 5.0));
                    System.out.println("最大值:"+max+" 最小值:"+min+" 80分以上比例:"+((count/5.0)*100)+"%");
                }
            }
        
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    运行结果如下:
    在这里插入图片描述

    2.定义学生 成员方法

    代码如下:

    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class Student {
        //属性(定义变量):
        //姓名
        String name;
        //性别
        String sex;
        //年龄
        int age;
        //身高
        double tall;
        //学校
        String school;
    
        //方法/行为(定义方法):
        //吃饭
        public void eat(){
            //this:表示调用方法的当前对象
            System.out.println(this.name+"在吃早饭");
        }
    
        //学习
        public void study(String course){
            System.out.println(this.school+"的学生"+this.name+"学习"+course);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class Test {
        public static void main(String[] args) {
            //普通变量的使用
            //定义类型变量,赋值
            int age = 20;
    
            //2.创建学生类的对象
            //定义类型变量,赋值一个类型的对象
            Student stu = new Student();
            //为对象属性赋值
            stu.name="张三";
            stu.sex="男";
            stu.age=20;
            stu.tall=1.7;
            stu.school="清华";
            //调用对象的方法
            stu.eat();
            stu.study("java");
    
            //创建第二个学生
            Student stu2 = new Student();
            stu2.name="李四";
            stu2.sex="女";
            stu2.age=18;
            stu2.tall=1.6;
            stu2.school="北大";
            stu2.eat();
            stu2.study("html");
    
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    运行结果如下:
    #pic_center

    2.定义人 构造方法(类名和方法名一致)

    代码如下:

    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class People {
        //对象属性其实就是成员变量/全局变量,不赋值的时候有默认值
        // String : null 整数 :0 小数:0.0 布尔:false
    
        String name;
        String sex;
        int age;
        String address;
    
        //无参构造:1.方法名与类名完全一样 2.没有返回值,不能写void
        public  People(){
            System.out.println("调用了People的无参构造");
        }
        //有参构造:1.在构造方法中定义参数 2.用于为对象的属性赋值
        public People(String name,String sex,int age,String address){
            this.name=name;
            this.sex=sex;
            this.age=age;
            this.address=address;
        }
    
        //有参构造
        public People(String xm,String xb){
            name=xm;
            sex=xb;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class Test {
        public static void main(String[] args) {
            //new People():当类中没有定义构造时,系统会提供默认的无参构造
            //             一旦在类中定义构造,则必须调用自己的构造
    //        new People();
    
    //        People p = new People();
    //        System.out.println(p.name);
    //        System.out.println(p.sex);
    //        System.out.println(p.age);
    //        System.out.println(p.address);
    
            //调用无参构造创建对象,一个一个赋值属性时,容易漏掉某个属性
            /*People p = new People();
            p.name="张三";
            p.sex="男";
            System.out.println(p.name+" "+p.sex+" "+p.age+" "+p.address);
             */
    
    
            //调用有参构造:必须按参数个数传值,避免漏掉某些属性
            People p = new People("张三","男",18,"河南");
            System.out.println(p.name+" "+p.sex+" "+p.age+" "+p.address);
    
            //new People();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    运行结果如下:
    #pic_center

    4.定义手机 成员方法

    题目:
    请定义一个手机类
    1.定义属性: 品牌,价格,颜色
    2.定义方法:充电,打电话
    3.定义构造
    4.创建测试类。在测试类main方法中,创建手机类的对象,并设置属性
    5.调用对象的方法完成测试

    代码如下:

    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class Phone {
        //定义属性
        //品牌
        String brand;
        //价格
        int price;
        //颜色
        String color;
    
        public Phone(){
    
        }
    
        public Phone(String brand,int price,String color){
            this.brand=brand;
            this.price=price;
            this.color=color;
        }
    
        public void chongdian(){
            System.out.println("给"+this.brand+"的手机充电");
        }
    
        public void call(){
            System.out.println("使用价值"+this.price+"的"+this.color+"的"+this.brand+"手机给别人打电话");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    package com.yzh70627;
    
    /**
     * @author: XYT
     * @create-date: 2022/6/27 20:06
     */
    public class Test {
        public static void main(String[] args) {
            Phone p1 = new Phone();
            p1.brand="小米";
            p1.color="红色";
            p1.price=2000;
    
            p1.chongdian();
            p1.call();
    
            Phone p2 = new Phone("华为",3000,"黑色");
            p2.chongdian();
            p2.call();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    [机缘参悟-31]:鬼谷子-抵巇[xī]篇-危机是危险与机会并存
    百度地图发布2022国庆出行预测
    Spring Boot 学习-基础
    使用位移基本场方法对空间扩展光源进行建模
    Spring IOC的应用
    【Spring系列】- Spring事务底层原理
    一个很骚的sql报错:分页查询,每次返回数据可能不同
    JavaScript-Object.is()和‘===’ ‘==’比较运算符的区别
    echarts-直角坐标系通用配置
    【HarmonyOS】鸿蒙开发之Stage模型-应用配置文件——第4.2章
  • 原文地址:https://blog.csdn.net/Liu_wen_wen/article/details/125490915