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次内没有猜对,下次努力吧! |
参考实现步骤如下:
|
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");
}*/
}
}