java基础练习

  • 数据类型
  • 控制语句
  • 循环语句
  • 数组(一)
  • 数组(二)+ 方法
  • 面向对象 - 类与对象
  • 面向对象 - 对象的使用、类的封装
  • 面向对象 - 继承和多态
  • 项目:图书管理系统(简易版)



答案在每小节的末尾!!!!!!!!!!!!!!!!!!!

数据类型

  1. 新建一个JAVA工程HelloJava,创建一个test包,新建一个FristDemo类,写一个main方法,定义两个int 类型的变量 a 和 b ,分别打印输出a与b的‘加/减/乘/除/取余’的结果
  2. 在test包下继续创建一个SecondDemo类,写一个main方法,定义一个int类型的变量 i ,输出这个变量的3次方的结果。
  3. 在test包下继续创建一个ThirdDemo类,写一个main方法,定义两个double类型的变量df和ds,分别将他们的‘加/减/乘/除的结果赋值给一个新的变量res,并打印输出每一个结果。
  4. 新建一个工程MyProject,创建一个demo包,新建一个TestOne类,在main方法中定义两个boolean 类型的变量flag和mark ,将他们的“短路与”和“短路或”的逻辑运算结果赋值给新的变量result,并打印输出这两个结果。
  5. 在demo包下继续新建一个TestTwo类,在main方法中定义三个int类型的变量 x y z,任意赋值,判断(x+y)与 z 的关系是“大于”时的结果,“小于”时的结果,“等于”时的结果,将三个结果赋值给一个变量res,并打印输出每一个结果。
  6. 在demo包下继续新建一个TestThree类,在main方法中定义三个 int类型变量 x, y, z,求出三个数中最小的那个数是多少,打印输出。(用三元运算符)。
  7. 在MyProject这个工程中创建一个hello包,新建一个TestSwap类,在main方法中任意定义两个int类型的变量a=13和b=7,交换a和b的值,并打印交换后的结果(两种方法)

【 数据类型 】答案参考:点这里

控制语句

  1. 商品换购系统
    满100元可参与换购
    手动输入本次消费的金额:满100元可
    选项一: +1元换购鼠标
    选项二: +5元换购键盘
    选项三: +10元换购充电宝
    选项四: +20元换购移动硬盘
    根据输入的选项来判断换购的物品,并显示最终消费
    否则直接结算显示消费金额。
  2. 机票订购系统
    假设机票的原价是1000元。
    根据淡季,旺季 以及 头等舱 经济舱 来判断机票的最终价格。
    首先用户输入选择旅游的时间 :1淡季 2旺季
    然后继续输入选择舱位:1头等舱 2经济舱
    最后显示最终的机票价格
    若输入其他数字则提示信息输入有误并结束程序
    注: 5 6 7月, 9 10 11月为旺季,其他为淡季,
    淡季经济舱打6折 ,头等舱打7折
    旺季经济舱打8折,头等舱打9折
  3. 猜拳游戏
    玩家出拳 判断出拳文字 (判断玩家输入有误情况)
    电脑出拳 判断出拳的文字
    判断胜负

【 控制语句 】答案参考:点这里

循环语句

  1. 直角三角形1
  2. java基础易错题 java基础简单题目_java基础易错题

  3. 直角三角形2
    偶数行打印o,奇数行打印z
  4. java基础易错题 java基础简单题目_java_02

  5. 等腰三角形1
  6. java基础易错题 java基础简单题目_java基础易错题_03

思路:

先用循环做出左边白色部分的三角形,再做出右边部分的三角形(下面几题均适用)

java基础易错题 java基础简单题目_练习_04

java基础易错题 java基础简单题目_java_05

  1. 等腰三角形2
    偶数行打印z,奇数行打印o
  2. java基础易错题 java基础简单题目_java基础易错题_06

  3. 菱形
  4. java基础易错题 java基础简单题目_练习_07

  5. 九九乘法表
  6. java基础易错题 java基础简单题目_练习_08

【 循环语句 】答案参考:点这里

数组(一)

  1. 创建一个int类型的一维数组,将里面的每一个元素 复制 给另一个数组,并且遍历出来。
  2. 创建一个int类型的一维数组,根据键盘输入一个数,将这个数加到这个数组的末尾,并遍历出这个新的数组。
  3. 将星期一到星期日放进数组中,根据键盘输入一个数字,来对应打印星期数。
  4. 随机10个(1-100之间)的整数,放进数组中,将角标为奇数的元素的值翻倍,然后遍历出来
  5. 一维打地鼠
    初始化char类型的一维数组 O O O O O 五个洞
    游戏循环10次
    随机角标地鼠随机出现 O O O X O
    提示玩家击打
    判断是否打中
    击中得2分,未击中扣1分(乱输入也视为没打中)
    游戏结束,统计击中次数,未击中次数 和最后的得分

【 数组(一) 】答案参考:点这里

数组(二)+ 方法

  1. 在main方法中根据键盘输入一个1-100之间的数字n,另外写一个方法showLove,传入这个n,循环n次"我爱你"
  2. 在main方法中随便定义一个字符串,另外写一个方法printString,传入这个字符串,此方法专门负责将字符串打印出来。
  3. 在main方法中定义一个数组,写一个方法showIntArr,专门用来遍历int类型的一维数组。
  4. 写一个方法showCharArr,专门用来遍历char类型的一维数组。
  5. 写一个方法showStringArr,专门用来遍历String类型的一维数组。
  6. 写一个方法专门showCharArr2,用来遍历char类型的二维数组
  7. 在main方法中有一个int类型一维数组,写一个方法getMax,用于获取数组中的最大值,调用方法之后将返回的最大值赋值给一个变量a,把a打印出来。
  8. 根据键盘输入一个数字(1-7),写一个方法getWeek,传入这个数字,专门来获取这个数字所对应的星期几字符串,之后调用这个方法来获取返回的字符串并赋值给s,打印出这个s。
  9. 在main方法中定义一个int类型的一维数组,根据键盘输入一个数字,
    写一个方法addNum,传入这个数字和数组,把这个数字加到这个数组的末尾。之后在main方法中调用addNum的方法把返回出来的数组赋值给原来的数组,并遍历原来的数组。
  10. 写一个方法sortMethod1,用于对int类型一维数组进行选择排序;写一个方法sortMethod2,用于对int类型一维数组进行冒泡排序。
  11. 二维打地鼠
    0. 打包4个方法:欢迎的方法,遍历地洞数组的方法,随机出现敌人的方法,显示游戏结束统计的方法。 1. 打包4个方法:欢迎的方法,遍历地洞数组的方法,随机出现敌人的方法,显示游戏结束统计的方法。
  1. 初始化char类型的二维数组,每个洞都是 O
  2. 游戏循环10次
  3. 地鼠随机出现在二维数组中的某个元素位置,X
  4. 提示玩家击打
  5. 判断是否打中
  6. 击中得2分,未击中扣1分
  7. 游戏结束,统计击中次数,未击中次数 和最后的得分。
  8. 按99重新开始(数据还原),按88退出游戏

【 数组(二)+ 方法 】参考答案:点这里

面向对象 - 类与对象

一.、基础
1.创建一个 学生类 Student,属性:姓名,年龄,学号,手机号
2.学生有一个自我介绍的方法showMe,(我的名字叫XX,我XX岁)
3.将自己本排的6位同学创建出来,分别调用他们各自的自我介绍的方法
4.将本排的同学放进数组中,遍历出他们的学号和姓名。

二、猜拳游戏(面向对象版)
1.将猜拳游戏改造成面向对象版:玩家类,机器人类,裁判类,运行类,专门写main的类
2.玩家类:玩家姓名,出拳数,出拳的方法
3.机器人类:名字,出拳数,出拳的方法
4.裁判类:名字,玩家得分,电脑得分,判断胜负的方法
5.运行类Game:start(),承载main方法的类 Test
6.要求一开始玩家输入姓名开始游戏(s.next()方法输入字符串 )
7.赢一局得2分,先到10分者获胜(判断特殊情况)
8.8-重新开始,0-退出游戏

【 面向对象 - 类与对象 】参考答案:点这里

面向对象 - 对象的使用、类的封装

一、打地鼠(封装版)

  • 1.将打地鼠游戏进行面向对象处理,分为:洞穴类,玩家类,地鼠类,裁判类,游戏运行类,main方法类。
    2.洞穴类:参考属性:洞穴的类型O,方法:打印洞穴的方法
    3.玩家类:属性:玩家输入的行与列,方法:玩家击打的方法
    4.地鼠类:属性:地鼠出现的行与列,地鼠的价值分数,方法:地鼠出现的方法
    5.裁判类:属性:游戏次数,得分,击中次数,未击中次数,方法:判断打中的方法
    6.游戏运行的类: 写start()方法
    7.游戏循环10次,统计得分,击中,未击中
    8.99-重新开始,88-退出游戏

【面向对象 - 对象的使用、类的封装】参考答案:点这里

面向对象 - 继承和多态

  • 打地鼠(多敌人)
    1.将打地鼠游戏进行面向对象处理,分为:洞穴类,玩家类,地鼠类,裁判类,游戏运行类,main方法类。
    2.洞穴类:参考属性:洞穴的类型O,方法:打印洞穴的方法
    3.玩家类:属性:玩家输入的行与列,方法:玩家击打的方法
    4.地鼠类:属性:地鼠出现的行与列,地鼠的价值分数,方法:地鼠出现的方法X
    5.裁判类:属性:游戏次数,得分,击中次数,未击中次数,方法:判断打中的方法
    6.游戏运行的类: 写start()方法
    7.游戏循环10次,统计得分,击中,未击中
    8.99-重新开始,88-退出游戏
    9.使用继承多态出现不同的敌人,敌人属性:敌人类型M 10,S 20,W 30 每次出现一只
    10.Mouse全局出现,Snake只出现在前两列,Wolf只出现在后两行

【面向对象 - 继承和多态】参考答案:点这里

项目:图书管理系统(简易版)

  • 用到的知识点:封装,多态,集合,异常
    0.构建模拟数据库类,用数组存储数据(用户和图书)
    1.一级菜单显示:登录 注册 退出系统
    2.登录成功去二级菜单
    3.注册成功回到一级菜单
    4.二级菜单显示:查看所有图书,新增图书,修改图书价格,删除图书,注销
    5.遍历所有图书信息
    6.新增图书:将图书加入数据库的数组中
    7.修改图书价格:先输入图书编号,再修改
    8.删除图书:先输入图书编号,在删除
    9.注销:回到一级菜单
    10.使用集合存储 用户 和图书 ,接口修改,实现类
    11.处理系统中所有的异常(一二级菜单 价格输入)

【 图书管理系统(简易版 】参考答案:(BookManager_V3.0)可下载 https://github.com/wengdemo/BookManager.git