java2019常见基础练习题(内附答案视频)

在本文中,我们给大家总结了几个java最常见的基础练习题----这是根据我的经验总结出的几个比较适合java小白的题目,如果你能把这些题目都了解透彻,相信在java的初级学习中你会有很大的突破。如果试题及答案你没有看明白,可以+qq群850038101领取相关习题资料及答案视频,群内更有专业老师在线实时解答问题,希望可以帮到你。

【练习题】14.综合题 

定义一个抽象的"Role" 有姓名 年龄 性别等成员变量 

1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有) 再通过GetXXX()SetXXX()方法对各变量进行读写。具有一个抽象的play()方法 该方法不返回任何值 同时至少定义两个构造方法。Role类中要体现出this的几种用法。 

2. Role类派生出一个"Employee" 该类具有Role类的所有成员 构造方法除外 并扩展 salary成员变量 同时增加一个静态成员变量职工编号 ID ”。同样要有至少两个构造方法 要体现出thissuper的几种用法 还要求覆盖play()方法 并提供一个final sing()方法。 

3. "Manager"类继承"Employee" 有一个final成员变量"vehicle" 4. main()方法中制造ManagerEmployee对象,并测试这些对象的方法。

abstract class Role{
	
	private String name;
	
	private int age;
	
	private int gender;
	
	public Role(){
		
	}
	
	public Role(String name, int age){
		this.name = name;
		this.age = age;
	}
	
	public Role(String name, int age, int gender){
		this(name, age);
		this.gender = gender;
	}
	
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return name;
	}
	
	public void setAge(int age){
		this.age = age;
	}
	
	public int getAge(){
		return age;
	}
	
	public void setGender(int gender){
		this.gender = gender;
	}
	
	public int getGender(){
		return gender;
	}
	
	
	public abstract void play();
}


class Employee extends Role{
	
	static int id;
	
	private int salary;
	
	
	public Employee(){
		
	}
	
	public Employee(String name, int age, int gender, int salary){
		super(name, age, gender);
		this.salary = salary;
	}
	
	public void setSalary(int salary ){
		this.salary = salary;
	}
	
	public int getSalary(){
		return salary;
	}
	
	
	public void play(){
		System.out.println("员工下班后在公司打乒乓球");
	}
	
	public final void sing(){
		System.out.println("公司给员工提供KTV,员工可以唱歌");
	}
	
	public void info(){
		System.out.println("工号:"+id+"   姓名:"+getName()+" 年龄:"+getAge()+" 性别:"+getGender()+  "  薪资:"+salary);
	}
}

class Manager extends Employee{
	
	final String vehicle;
	
	public Manager(String name, int age, int gender, int salary, String vehicle){
		super(name, age, gender, salary);
		this.vehicle = vehicle;
	}
	
	
	public void info(){
		System.out.println("工号:"+id+"   姓名:"+getName()+" 年龄:"+getAge()+" 性别:"+getGender()+  "  薪资:"+getSalary()+ "   交通工具:"+vehicle);
	}
}

public class TestRole{
	public static void main(String[] args){
		Employee e = new Employee("亮哥", 23, 1, 1000);
		Employee.id++;
		
		e.info();
		e.play();
		e.sing();
		
		System.out.println("-----------------");
		Manager m = new Manager("龙姐", 33, 2, 2000,"自行车");
		Employee.id++;
		m.info();
		m.play();
		m.sing();
	}
}

【练习题】15.构造方法与重载、包 编写Addition类 该类中应包含一组实现两数相加运算的重载方法。 实现加法运算的方法 应接受两个参数 即加数和被加数 方法将两个参数进行加法运算后 返回相加结果。考虑可能针对不同的数据类型进行计算 重载一组方法 包括整型、长整型、浮点型、双精度浮点型、还有字符串。 在main方法中创建Addition类的实例 分别调用重载方法测试其效果。 应将Addition类打入到包中 以自己名字的拼音为包命名。

package ren.liang;
public class Addition{
	
	
	public int add(int a, int b){
		return a + b;
	}
	
	
	public float add(float a, int b){
		return a + b;
	}
	
	public double add(double a, int b){
		return a + b;
	}
	
	public double add(double a, long b){
		return a + b;
	}
	
	
	public String add(String  a, int b){
		return a + b;
	}
	
	public static void main(String[] args){
		Addition a = new Addition();
		String str = a.add("亮哥",  100000000);
		System.out.println(str);
	}
	
}

【练习题】16.构造方法与重载 将上次练习题三中编写的MyTime类打到以自己名字的拼音命名的包中 并为该类重载一组构造方法 以方便使用者能够以多种形式初始化该类的实例。

package ren.liang;

public class MyTime{
	
	//hour分minute秒second
	
	private int hour;
	
	private int minute;
	
	private int second;
	
	public MyTime(int hour, int minute, int second){
		this.hour = hour;
		this.minute = minute;
		this.second = second;
	}
	
	
	public void setHour(int hour){
		this.hour = hour;
	}
	public int getHour(){
		return hour;
	}
	
	public void setMinute(int minute){
		this.minute = minute;
	}
	
	public int getMinute(){
		return minute;
	}
	
	
	public void setSecond(int second){
		this.second = second;
	}
	
	public int getSecond(){
		return second;
	}
	
	public void display(){
		System.out.println(hour+"时"+minute+"分"+second+"秒");
	}
	
	
	//加秒
	public void addSecond(int sec){
		this.second += sec;
	}
	
	public void subSecond(int sec){
		this.second -= sec;
	}
	//加分钟
	public void addMinute(int min){
		this.minute += min;
	}
	
	public void subMinute(int min){
		this.minute -= min;
	}
	
	//加小时
	public void addHour(int hou){
		this.hour += hou;
	}
	
	public void subHour(int hou){
		this.hour -= hou;
	}
}

class Test{
	
	public static void main(String[] args){
		//创建Mytime对象
		MyTime mt = new MyTime(12, 33, 55);
	
		
		mt.display();
		
		//修改时间
		mt.addHour(3);
		mt.display();
		
		mt.subMinute(10);
		mt.display();
		
		mt.addSecond(3);
		mt.display();
		
		
		
	}
}

【练习题】18.Scanner使用 

三个数字进行排序。从控制台输入三个数,例如:接收用户输入的三个整数a,b,c, 输入完毕后通过程序对三个数进行排序(要使用API)

import java.util.Arrays;
import java.util.Scanner;
public class APIDemo1{

	
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		
		//创建一个数组
		int[] arr = new int[3];
		arr[0] = a;
		arr[1] = b;
		arr[2] = c;
		
		//给数组排序
		Arrays.sort(arr);
		
		//打印数组
		String result = Arrays.toString(arr);
		
		System.out.println(result);
		
	}
}

【练习题】19.Object

创建三个类,分别为学生,老师,校长,分别为三个类设置相应的属性

创建一个长度为6Object数组

每个类创建两个对象后依次存入数组中

循环遍历数组,判断数组内对象的类型并打印对象的信息

package cn.tx.demo;

public class Student {

    private int sNo;

    private String name;

    private int age;


    public Student(int sNo, String name, int age) {
        this.sNo = sNo;
        this.name = name;
        this.age = age;
    }

    public int getsNo() {
        return sNo;
    }

    public void setsNo(int sNo) {
        this.sNo = sNo;
    }

    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;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sNo=" + sNo +
                ", name='" + name + '\'' +
                ", age='" + age + '\'' +
                '}';
    }
}

package cn.tx.demo;

public class Teacher {

    private int tNo;

    private String name;

    private String teach;

    public Teacher(int tNo, String name, String teach) {
        this.tNo = tNo;
        this.name = name;
        this.teach = teach;
    }

    public int gettNo() {
        return tNo;
    }

    public void settNo(int tNo) {
        this.tNo = tNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTeach() {
        return teach;
    }

    public void setTeach(String teach) {
        this.teach = teach;
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "tNo=" + tNo +
                ", name='" + name + '\'' +
                ", teach='" + teach + '\'' +
                '}';
    }
}

package cn.tx.demo;

public class SchoolMaster {


    private String name;

    private String schoolName;

    private String schoolType;

    public SchoolMaster(String name, String schoolName, String schoolType) {
        this.name = name;
        this.schoolName = schoolName;
        this.schoolType = schoolType;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public String getSchoolType() {
        return schoolType;
    }

    public void setSchoolType(String schoolType) {
        this.schoolType = schoolType;
    }

    @Override
    public String toString() {
        return "SchoolMaster{" +
                "name='" + name + '\'' +
                ", schoolName='" + schoolName + '\'' +
                ", schoolType='" + schoolType + '\'' +
                '}';
    }
}

package cn.tx.demo;

public class Demo {


    public static void main(String[] args) {

        Object[] objs = new Object[6];

        Student s = new Student(1, "张三", 20);
        Student s1 = new Student(2, "李四", 20);

        objs[0] = s;
        objs[1] = s1;

        Teacher t = new Teacher(1, "亮哥", "java");
        Teacher t1 = new Teacher(2, "樱木", "java");

        objs[2] = t;
        objs[3] = t1;

        SchoolMaster sm  = new SchoolMaster("王校长", "游戏学校", "游戏");
        SchoolMaster sm1  = new SchoolMaster("张校长", "编程学校", "IT");

        objs[4] = sm;
        objs[5] = sm1;

        for (int i = 0; i < objs.length; i++) {
            Object obj = objs[i];
            if(obj instanceof Student){
                Student s2 = (Student) obj;
                System.out.println(s2);
            }
            if(obj instanceof Teacher){
                Teacher t2 = (Teacher) obj;
                System.out.println(t2);
            }
            if(obj instanceof SchoolMaster){
                SchoolMaster s2 = (SchoolMaster) obj;
                System.out.println(s2);
            }
        }

    }


}

 

根据本人多年从业以及学习经验,录制了一套最新的Java精讲视频教程,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,你可以加QQ群654631948领取下学习资料,面试题,开发工具等,群里有资深java老师做答疑,每天也会有基础部分及架构的直播课,也可以加我的微信renlliang2013做深入沟通,只要是真心想学习Java的人都欢迎。


java基础教程:https://ke.qq.com/course/149432?tuin=57912c43

Java分布式互联网架构/微服务/高性能/springboot/springcloud:

https://ke.qq.com/course/179440?tuin=57912c43

 

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值