第二章第一天类和对象

1、类和对象的概述

类:一个概念。将一组具有相同特征的对象放在一起抽取出来的一个概念。

对象:一个实际存在的实体

学生类: 特征:名词,描述一个对象的基本信息;能力:可以执行的动作或行为 动词

特征:姓名 性别  年龄  身高 体重 学历 手机号码 家庭住址  籍贯

能力:学习  睡觉  吃饭  考试  编程

学生对象:任凯  鲁京   金梁   黄昌

Oop:oritied  Object program  面向对象编程

类和对象的关系:类是一个概念,对象是一个实体,对象依赖类进行创建

创建对象语法://类的实例化

类 对象名=new 类名();

成员变量:定义在class里面,成员变量不赋值,会有默认值

局部变量:定义方法里面,局部变量不赋值,不能使用,会报错,因为没有默认值

 

例一、编写Calculator类:定义成员变量为运算数1(num)和运算数2(num2).

实施成员方法“加”(add)、”减”(minus)、”乘”(multiple)和“除”(divide)(无参)

package day04;

public class Calculator {
    int num1;
    int num2;
    String operator;
    public void calculator(int num1,int num2,String operator){
        if(operator.equals("+")){
            System.out.println(num1+"+"+num2+"="+(num1+num2));
        }else if(operator.equals("-")){
            System.out.println(num1+"-"+num2+"="+(num1-num2));
        }else if (operator.equals("*")){
            System.out.println(num1+"*"+num2+"="+(num1*num2));
        }else {
            System.out.println(num1+"/"+num2+"="+(num1/num2));
        }
    }
}
package day01;

import day01.Calculater;

import java.util.Scanner;

public class Day1_1
{
    public static void main(String[] args){
        Calculater ceter=new Calculater();
        Scanner input=new Scanner(System.in);
        System.out.println("请输入第一个整数:");
        ceter.num1=input.nextInt();
        System.out.println("请输入第二个整数:");
        ceter.num2=input.nextInt();
        System.out.println("请输入运算符:1.加,2.减,3.乘,4.除");
        ceter.operator=input.nextInt();
        ceter.show();
    }
}

例二、

现有电视商品价格竞猜活动,活动的规则:随机出现一个商品名,用户猜测它的价值,如果在规定次数内猜对,便可获得此商品。模拟竞猜活动,运行结果如下所示:(带参和返回值)

请猜测“公主电动车”的价格:1000

再大点!

再猜一次吧:5000

再小点!

再猜一次吧:2500

在小点!

再猜一次吧:2200

4次内没有猜对,下次努力吧!

参考实现步骤如下:

  • 定义类QuessMachine,编写它的initial()方法预定义商品信息,根据产生的随机数字,选定一款竞猜的商品
  • 编写QuessMachine类的guess()方法,如果猜测正确,返回“猜对了!”;如果偏大,返回“再小些”;如果偏小,返回“再大些!”
  • 编写测试类模拟竞猜
package day02;

public class QuessMachine {
    String commodityName;//商品名称
   
    //int 返回值类型
    public int initial() {
        int randomValue = (int) (Math.random() * 5000); //生成0-5000的随机数
        if (randomValue >= 0 && randomValue <= 500) {
            commodityName = "电磁炉";
        } else if (randomValue > 500 && randomValue <= 2000) {
            commodityName = "空调电风扇";
        } else {
            commodityName = "公主电动车";
        }
        return randomValue;  //返回值
    }

    //带参方法
    public  int quess(int randomValue1 ,int randomValue) {
        if(randomValue1==randomValue){
            System.out.println("恭喜你,猜对了!");
        }else if(randomValue1>randomValue){
            System.out.println("再小点!");
        }else if(randomValue1<randomValue){
            System.out.println("再大点!");
        }
        return randomValue1;
    }

}


    public void monster() {
        System.out.println("\n"+"怪兽:");
        System.out.println("姓名:"+monster+"\t"+"生命值:"+lifes+"\t"+"类型:"+form);
    }
    public void weapon() {
        System.out.println("\n武器:");
        System.out.println("姓名:"+weapon+"\t"+"攻击力:"+ATK+"\n");
    }
}
package day02;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        QuessMachine random=new QuessMachine(); //创建对象
        int randomValue=random.initial();
        System.out.println(randomValue);
        System.out.println("请猜测\""+random.commodityName+"\"的价格:");
        int randomValue1=input.nextInt();
        int i=0;
        do{
            random.quess(randomValue1,randomValue);
            if(randomValue1 == randomValue){
                break;
            }
            System.out.println("再猜一次吧:");
            randomValue1=input.nextInt();
            i++;
            if(i==3){
                System.out.println("4次内没有猜对,下次努力吧!");
                break;
            }
        }while (i<4);

    }
}

例三编写程序,向整型数组的指定位置插入元素,并输出插入前后数组的值(将数组作为方法的参数)

方法insertArray()定义如下:

Public void insertArray(int[] arr,int index,int value)

package day02;

public class Insert {
    public  void insertArray(int[] arr,int index,int value){
        // index 下标   value插入的数据
        for(int i=arr.length-2;i>index;i--){
            arr[i+1]=arr[i];
        }
        arr[index]=value;
    }
}
package day02;

import java.util.Arrays;
import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        Insert insert1=new Insert();  //创建对象
        System.out.println("请输入数组的长度:");
        int arrLength=input.nextInt();
        int arr1[] =new int[arrLength]; //定义数组
        //int arr1[] =new int[arrLength+1];   数组长度加1

        for(int i=0;i<arrLength;i++){
            System.out.print("请输入第"+(i+1)+"个数:");
            arr1[i]=input.nextInt();
        }

        System.out.println("原数组为:");
        for(int i:arr1){
            System.out.print(i+"\t");
        }

        /*System.out.println();
        Arrays.sort(arr1);  //对数组排序
        System.out.println("排序后的数组:");
        for(int i:arr1){
            System.out.print(i+"\t");
        }*/

        System.out.println();
        int[] arr = Arrays.copyOf(arr1,arr1.length+1);//可以直接传回一个新的数组对象,而当中包括复制的内容
        System.out.println("请输入要插入的数字:");
        int value1=input.nextInt();
        System.out.println("请输入插入数字的下标");
        int index1=input.nextInt();
        insert1.insertArray(arr,index1,value1); //方法调用
        System.out.println("插入后的数组:");
        for(int i:arr){
            System.out.print(i+"\t");
        }

        /*System.out.println();
        Arrays.sort(arr);  //对数组排序
        System.out.println("排序后的数组:");
        for(int i:arr){
            System.out.print(i+"\t");
        }*/
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40115919/article/details/81292846