本文适合入门选手,老玩家可以帮忙看看写的有没有问题。学会这几个小练习,就可以正式进入JAVA进阶了~
打印姓名年龄
编写Java程序用于显示人的姓名和年龄。
定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。
定义构造方法用来初始化数据成员。再定义显示display方法将姓名和年龄打印出来。
在main方法中创建人类的实例然后将信息显示
public class Homework4{
public static void main(String[] args) {
Person person = new Person("凡",27);
person.display();
Person person1 = new Person();
person1.setAge(14);
person1.setName("阿珍");
person1.display();
Person person2 = new Person();
person2.display();
}
}
class Person{
private String name;
private int age;
public Person(){}
public Person(String name,int age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void display(){
System.out.println("姓名:" + this.name);
System.out.println("年龄:" + this.age);
}
}
输出
姓名:凡引丽
年龄:27
姓名:阿珍
年龄:14
姓名:null
年龄:0
总结
以上就是打印姓名年龄的学习了,主要掌握了初始化变量的方法,第一种是构造函数中直接定义,第二种是采用set方法
入门练习(1)打印姓名年龄结束,经验++
简易计算器
编写Java程序模拟简单的计算器
定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。
编写构造方法赋予n1和n2初始值
再为该类定义加addition(),减subtration(),乘multiplcation(),除division()等共有实例方法
分别对两个成员变量执行加、减、乘、除的运算
在main方法中创建Number类的对象调用各个方法并显示计算结果
public class Homework4 {
public static void main(String[] args) {
Number num = new Number(5,0);
num.addition();
num.subtration();
num.multiplcation();
num.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 multiplcation(){
System.out.println(n1 + "*" + n2 + '=' + n1 * n2);
}
public void division(){
if(n2 == 0){
System.out.println("除数不能为0");
return;
}
System.out.println(n1 + "/" + n2 + '=' + n1 / n2);
}
}
输出
5+0=5
5-0=5
5*0=0
除数不能为0
总结
以上就是简易计算器的学习了,没有什么难度,唯独在做除法的时候需要加一个判断,其他的按部就班的做就可以了。私有变量n1和n2可以通过n1.get方法或直接用n1两种方法获取。功能函数直接采用void,Sout输出结果即可。
入门练习(2)简易计算器结束,经验++
交通工具类
请定义一个交通工具(Vehicle)的类
其中有属性:
速度(speed)
体积(size)
方法移动(move())
设置速度(setSpeed(int speed))
加速speedup()
减速speedDown()…
最后在测试类Vehicle中main()中实例化一个交通工具对象
并通过方法给它初始化speed,size的值打印出来
另外调用加速减速的方法对速度进行改变
public class Homework2 {
public static void main(String[] args) {
//无参数构造方法创建对象
Vehicle v = new Vehicle();
//方法一、通过set方法给属性赋值
v.setSize(5);
v.setSpeed(120);
v.move();
System.out.println("speed: " + v.getSpeed());
System.out.println("size: " + v.getSize());
//方法二、有参数构造方法创建对象
//Vehicle v1 = new Vehicle(120,5);
//调用加速方法
v.speedUp(10);
System.out.println("加速 speed: " + v.getSpeed());
//调用减速方法
v.speedDown(5);
System.out.println("减速 speed: " + v.getSpeed());
//调用加速方法
v.speedUp1();
System.out.println("加速 speed: " + v.getSpeed());
//调用减速方法
v.speedDown1();
System.out.println("减速 speed: " + v.getSpeed());
}
}
class Vehicle{
private int speed;
private int 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 Vehicle(){
}
public Vehicle(int speed,int size){
this.speed = speed;
this.size = size;
}
public void move(){
System.out.println("交通工具: 起步行驶");
}
//方法一、一开始的想法是直接讲this.speed++;但是这样速度只能加1加1的控制,并且不知道这样是否可行
//方法二、较为清晰的思路是设置一个速度增值变量
public void speedUp(int addspeed){
this.setSpeed(this.getSpeed() + addspeed);
}
public void speedDown(int subspeed){
this.setSpeed(this.getSpeed() - subspeed);
}
public void speedUp1(){
this.speed++;
}
public void speedDown1(){
this.speed--;
}
}
输出
交通工具: 起步行驶
speed: 120
size: 5
加速 speed: 130
减速 speed: 125
加速 speed: 126
减速 speed: 125
总结
以上就是对交通工具类的实现了,主要通过不同的方式来更改变量值。方法一是采用set方法并且在方法中使用实参,第二种则是直接对变量进行++/–。
入门练习(3)交通工具类结束,经验++
时间的实现
在程序中经常要对时间进行操作但是并没有时间类型的数据
那么我们可以自己实现一个时间类来满足程序中的需要
定义名为MyTime的类其中应有三个整型成员时:hour,分:minute,秒:second
为了保证数据的安全性这三个成员变量应声明为私有
为MyTime类定义构造方法以方便创建对象时初始化成员变量
再定义display方法用于将时间信息打印出来
为MyTime类添加以下方法:
addSecond(int sec)
addMinute(int min)
addHour(int hou)
subSecond(int sec)
subMinute(int min)
subHour(int hou)
分别对时、分、秒进行加减运算。
public class Homework4{
public static void main(String[] args) {
MyTime mytime = new MyTime(17,18,20);
mytime.display();
mytime.addHour(1);
mytime.display();
mytime.addMinute(1);
mytime.display();
mytime.addSecond(1);
mytime.display();
mytime.subHour();
mytime.display();
mytime.subMinute();
mytime.display();
mytime.subSecond();
mytime.display();
}
}
class MyTime{
private int hour;
private int minute;
private int second;
public MyTime(){
}
public int getHour() {
return hour;
}
public void setHour(int hour) {
this.hour = hour;
}
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
this.minute = minute;
}
public int getSecond() {
return second;
}
public void setSecond(int second) {
this.second = second;
}
public MyTime(int hour, int minute, int second){
this.hour = hour;
this.minute = minute;
this.second = second;
}
public void display(){
System.out.println("当前时间: " + hour + ":" + minute + ":" + second);
}
public void addSecond(int addsecond){
this.setSecond(this.getSecond() + addsecond);
}
public void addMinute(int addminute){
this.setMinute(this.getMinute() + addminute);
}
public void addHour(int addhour){
this.setHour(this.getHour() + addhour);
}
public void subSecond(){
second--;
}
public void subMinute(){
minute--;
}
public void subHour(){
hour--;
}
}
输出
当前时间: 17:18:20
当前时间: 18:18:20
当前时间: 18:19:20
当前时间: 18:19:21
当前时间: 17:19:21
当前时间: 17:18:21
当前时间: 17:18:20
总结
以上就是时间的实现了,主要锻炼了对set方法的使用。
入门练习(4)时间的实现结束,经验++
总结
- (1)打印姓名年龄,主要掌握了初始化变量的方法,第一种是构造函数中直接定义,第二种是采用set方法。
- (2)简易计算器,在做除法的时候需要加一个判断,其他的按部就班的做就可以了。私有变量n1和n2可以通过n1.get方法或直接用n1两种方法获取。功能函数直接采用void,Sout输出结果即可。
- (3)交通工具类的实现,主要通过不同的方式来更改变量值。方法一是采用set方法并且在方法中使用实参,第二种则是直接对变量进行++/–。
- (4)时间的实现,主要锻炼了对set方法的使用。
在学完这几个小例子之后,我们的JAVA开发水平进一步提升了,bingo!觉得不错的话点个赞再走哦~
参考自Java零基础教程视频(适合Java 0基础,Java初学入门)P481-485
原文链接:https://blog.csdn.net/qq_16488989/article/details/125837050