请定义一个交通工具(Vehicle)类

其中有属性:

速度speed

体积size

方法移动move()

设置速度setSpeed(int speed)

加速speedUp()

减速speedDown()

最后在测试类Vehicle中的main() 中实例化一个交通工具对象,并通过方法给它初始化speed,size的值并且打印出来,另外调用加速减速的方法对速度进行改变

搭建大体框架:

/*** @author LBJ* @version V1.0* @Package PACKAGE_NAME* @date 2021/1/28 17:38* @Copyright 公司*//*
请定义一个交通工具(Vehicle)类其中有属性:速度speed体积size方法移动move()设置速度setSpeed(int speed)加速speedUp()减速speedDown()最后在测试类Vehicle中的main() 中实例化一个交通工具对象,并通过方法给它初始化speed,size的值并且打印出来,另外调用加速减速的方法对速度进行改变*/
public class Test01{public static void main(String[] args) {//通过无参数构造方法创建对象Vehicle vehicle = new Vehicle();vehicle.setSpeed(100);vehicle.setSize(20);System.out.println("speed:"+vehicle.getSpeed());System.out.println("size:"+vehicle.getSize());//调用加速方法vehicle.speedUp();System.out.println(vehicle.getSpeed());//调用减速方法vehicle.speedDown();System.out.println(vehicle.getSpeed());//通过有参数构造方法创建对象//Vehicle vehicle1 = new Vehicle(100, 20);}
}class Vehicle {private int speed;private int size;public Vehicle(){}public Vehicle(int speed,int size){this.speed=speed;this.size=size;}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}//移动方法public void move(){}//加速方法public void speedUp(){}//减速方法噶public void speedDown(){}
}

结果:两个速度值并没有因为调用方法而改变

进阶调整后的代码:

/*** @author LBJ* @version V1.0* @Package PACKAGE_NAME* @date 2021/1/28 17:38* @Copyright 公司*//*
请定义一个交通工具(Vehicle)类其中有属性:速度speed体积size方法移动move()设置速度setSpeed(int speed)加速speedUp()减速speedDown()最后在测试类Vehicle中的main() 中实例化一个交通工具对象,并通过方法给它初始化speed,size的值并且打印出来,另外调用加速减速的方法对速度进行改变*/
public class Test01{public static void main(String[] args) {//通过无参数构造方法创建对象Vehicle vehicle = new Vehicle();vehicle.setSpeed(100);vehicle.setSize(20);System.out.println("speed:"+vehicle.getSpeed());System.out.println("size:"+vehicle.getSize());//调用移动方法vehicle.move();//调用加速方法vehicle.speedUp(10);System.out.println("speed:"+vehicle.getSpeed());//调用减速方法vehicle.speedDown(10);System.out.println("speed:"+vehicle.getSpeed());//通过有参数构造方法创建对象//Vehicle vehicle1 = new Vehicle(100, 20);}
}class Vehicle {private int speed;private int size;public Vehicle(){}public Vehicle(int speed,int size){this.speed=speed;this.size=size;}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}//移动方法public void move(){System.out.println("公交车开始启动");}//加速方法public void speedUp(int addSpeed){//this.getSpeed()是原来的基础速度,addSpeed是后来增加的速度this.setSpeed(this.getSpeed() + addSpeed);}//减速方法噶public void speedDown(int subSpeed){if(subSpeed<this.getSpeed()){this.setSpeed(this.getSpeed() - subSpeed);}else {System.out.println("请输入比当前速度小的值");}}
}

运行结果:

编写简单的计算器

定义名为Number 的类,其中有两个整型数据成员n1和n2应声明为私有

编写构造方法赋予 n1 和 n2 的初始值

再为该类定义 加、减、乘、除等公有实例方法

分别对两个成员变量执行加减乘除的运算

大体结构:

/*** @author LBJ* @version V1.0* @Package PACKAGE_NAME* @date 2021/1/28 17:38* @Copyright 公司*//*
编写简单的计算器定义名为Number 的类,其中有两个整型数据成员n1和n2应声明为私有编写构造方法赋予 n1 和 n2 的初始值再为该类定义 加、减、乘、除等公有实例方法分别对两个成员变量执行加减乘除的运算*/
public class Test01{public static void main(String[] args) {Number number = new Number(1,2);number.addition();number.subtration();number.multiplication();number.division();}
}class Number{private int n1;private int n2;public Number(){}public Number(int n1,int n2){this.n1=n1;this.n2=n2;}public int getN1() {return n1;}public void setN1(int n1) {this.n1 = n1;}public int getN2() {return n2;}public void setN2(int n2) {this.n2 = n2;}public void addition(){System.out.println(this.getN1()+"+"+this.getN2()+"="+(this.getN1()+this.getN2()));}public void subtration(){System.out.println(this.getN1()+"-"+this.getN2()+"="+(this.getN1()-this.getN2()));}public void multiplication(){System.out.println(this.getN1()+"*"+this.getN2()+"="+(this.getN1()*this.getN2()));}public void division(){System.out.println(this.getN1()+"/"+this.getN2()+"="+(this.getN1()/this.getN2()));}
}

测试结果:之所以1/2=0是因为int类型的取整

添加安全控制:

/*** @author LBJ* @version V1.0* @Package PACKAGE_NAME* @date 2021/1/28 17:38* @Copyright 公司*//*
编写简单的计算器定义名为Number 的类,其中有两个整型数据成员n1和n2应声明为私有编写构造方法赋予 n1 和 n2 的初始值再为该类定义 加、减、乘、除等公有实例方法分别对两个成员变量执行加减乘除的运算*/
public class Test01{public static void main(String[] args) {Number number = new Number(1,0);number.addition();number.subtration();number.multiplication();number.division();}
}class Number{private int n1;private int n2;public Number(){}public Number(int n1,int n2){this.n1=n1;this.n2=n2;}public int getN1() {return n1;}public void setN1(int n1) {this.n1 = n1;}public int getN2() {return n2;}public void setN2(int n2) {this.n2 = n2;}public void addition(){System.out.println(this.getN1()+"+"+this.getN2()+"="+(this.getN1()+this.getN2()));}public void subtration(){System.out.println(this.getN1()+"-"+this.getN2()+"="+(this.getN1()-this.getN2()));}public void multiplication(){System.out.println(this.getN1()+"*"+this.getN2()+"="+(this.getN1()*this.getN2()));}public void division(){if(this.getN2()==0){System.out.println("除数不能为0");return;}System.out.println(this.getN1()+"/"+this.getN2()+"="+(this.getN1()/this.getN2()));}
}

测试结果:

JAVA入门级教学之(简单的程序测试)相关推荐

  1. JAVA入门级教学之(猜数字测试)

    一个类A有一个实例变量v,从键盘接受一个正整数作为实例变量v的初始值 另外再定义一个类B,对类A的实例变量v进行猜测 如果大了则提示大了 如果小了则提示小了 等于则提示测试成功 猜测数字比大小的测试: ...

  2. JAVA入门级教学之(多态)

    JAVA入门级教学之(多态) 怎么理解多态:你本身就该喊你爹叫爹,你让你爹叫你爹就是强制认做爹 多态的使用: A  a = new D(); D类继承A类,父类型引用指向子类型对象 * 关于java语 ...

  3. JAVA入门级教学之(面向过程和面向对象的区别)

    目录 JAVA入门级教学之(面向过程和面向对象的区别) 面向过程和面向对象的区别: -面向过程: -面向对象: -发展历程: -生命周期中包括: -什么是类: -什么是对象: -软件开发的过程: -重 ...

  4. JAVA入门级教学之(接口)

    目录 JAVA入门级教学之(接口) 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: 2.接口中只能出现: 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方法 ...

  5. JAVA入门级教学之(abstract抽象类)

    目录 JAVA入门级教学之(abstract抽象类) 1.如何定义抽象类? 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可 ...

  6. JAVA入门级教学之(super关键字)

    目录 JAVA入门级教学之(super关键字) 1.super关键字用在构造方法中: 2.语法规则: 3.注意:super();的调用只能放在构造方法的第一行,和this();的调用规则一样 4.通过 ...

  7. JAVA入门级教学之(package和import)

    目录 JAVA入门级教学之(package和import) 1.包又称为package 2.怎么定义package? 3.包名的命名规范: 4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规 ...

  8. JAVA入门级教学之(参数传递)

    JAVA入门级教学之(参数传递) 问题引入: 参数分为形式参数还有实际参数,我们传入是的数据到底是什么呢? 方法调用的时候,涉及参数传递的问题, 传递的时候,java只遵循一种语法机制 就是将变量中保 ...

  9. JAVA入门级教学之(方法递归)

    目录 JAVA入门级教学之(方法递归) 1.关于方法的递归调用: 2.递归是很耗费栈内存的,递归算法可以不用的时候尽量别用 3.以下程序运行的时候发生了这样的一个错误[不是异常,是错误] 4.递归必须 ...

  10. JAVA入门级教学之(方法内存分配机制)

    目录 JAVA入门级教学之(方法内存分配机制) 1.方法只定义,不调用,是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间:[还有其它的内存空间] 3.关于"栈"数据结构 ...

最新文章

  1. 警惕!银行风控模型或将“摇身一变”,成为风险缔造者
  2. python笔记总结_python学习笔记总结(1)
  3. java多台_Java 多态
  4. C++工作笔记-hiredis中关于ERR wrong number of arguments for HMSET问题的解决
  5. Kubernetes 核心概念 1
  6. Hbase单机安装及使用hbase shell进行简单操作
  7. Windows11如何使用安卓子系统的Amazon Appstore
  8. Rayman的绝顶之路——Leetcode每日一题打卡7
  9. 浏览器播放RTSP、RTMP等几种编码格式视频流
  10. LATEX编译出现Undefined control sequence.
  11. 微信授权登录增加浏览器历史记录解决方法
  12. 关于如何将网页做的完整且美观的解决办法
  13. 引力波数据居然是用 Python 分析的
  14. iOS最新吊炸天的资源
  15. LeetCode日常刷题1、657、717、67
  16. 按键精灵批量递增保存图片脚本
  17. 服务器光驱坏了怎么虚拟化,光驱坏了或者没有光驱怎么装系统?
  18. 编程php计算行李托运费_飞机行李箱怎么算托运费?
  19. ppt怎么压缩文件大小?学会这几种方法
  20. 东北大学计算机应用,东北大学计算机应用技术考研

热门文章

  1. 基于类的命令行notebook的实现
  2. 排序算法Java实现(基数排序)
  3. PostgreSQL最常见问题
  4. 计算机网络——物理层设备
  5. post发送byte数组_KAFKA消息发送
  6. VS2017编译的一些小知识记录
  7. hive xmlserde_hive多分隔符
  8. hashcode是什么意思_什么才是 Java 的基础知识?
  9. react打包后图片丢失_使用 webpack 搭建 React 项目
  10. 【用word快速输入公式】希腊字母名称和大小写