JAVA小白编程题练习2
可能有很多刚入门的小白不知道自己如何能快速提升编程技巧与熟练度
其实大佬进阶之路只有一个~ 那就是疯狂码代码!!!实践出真知!!!
所以为了大家能够想练习的时候有素材,泡泡给大家整理了一些练习题
本帖是2帖,如果觉得难,可以先从1帖开始练习哦~
练习帖1 点我点我
由于平时比较忙,所以我在不定时努力更新中,欢迎监督~
文章目录
- JAVA小白编程题练习2
-
-
- [练习帖1 点我点我](https://chengxiaoyu-paopao.blog.csdn.net/article/details/116569562)
- 练习题 : 类型之间的转换与字面值规则
- 练习题 : ==比较的练习
- 练习题 : 嵌套分支的练习
- 练习题 : 根据颜色推荐菜品switch
- 练习题:面向对象练习:设计小狗类
- 练习题 : 面向对象练习:设计宠物商店案例
- 练习题 : while循环练习
- 练习题 : 方法调用的顺序
- 练习题 : 数组练习1
- 练习题 : 数组练习2
- 练习题 : 进制的前缀
- 练习题 : 创建一个长度随机,内容随机的整形数组,并对这个数组进行升序排序
- 练习题 : 创建一个长度随机,内容随机的整形数组,并对这个数组进行降序排序
- 练习题 : 完成减肥计划案例1
- 练习题 : 完成减肥计划案例2
- 练习题 : 实现一个简易的计算器
- 练习题 : 方法的重载练习
- 练习题 : 面向对象练习:设计小狗类
- 练习题 : 面向对象练习:设计小猫类
- 练习题 : 面向对象练习:实现学生类
- 练习题 : 面向对象练习:设计学校开学招待设计案例
- 练习题 : 面向对象练习:设置小动物类,包含会飞的动物 鸟类 昆虫
- 练习题 : 实现二分法查找/折半查找
- 练习题 : 二分法实现数据动态插入
- 练习题 : 求数字阶乘(递归解法版)
- 练习题 : 递归求目录总大小
- 练习题 : 递归删除文件夹
- 练习题 : 复制文件(字节流批量读取)
- 练习题 : 逆序遍历List集合
- 练习题 : 回文问题
- 练习题 : 手写数组列表
- 练习题 : 文件复制案例
- 练习题 : 面向对象:学生专业与成绩管理
-
练习题 : 类型之间的转换与字面值规则
package cn.tedu.basic;
/*本类用来测试类型转换
* 1.byte1--short char2--int4--long8--float4--double8
* 2.小到大 直接转:隐式转换,可以直接转换
* 大到小 强制转:显式转换,需要强转,注意发生数据溢出的问题
* 浮变整 小数没:小数部分直接被舍弃
* 3.强制类型转换的格式:目标类型 变量名 = (目标类型)要转换类型的数据;
* */
public class TestTypeChage {
public static void main(String[] args) {
byte a = 10;
short b = a;//不会报错,小转大
int c = 1;
long d = c;//不会报错,小转大
float f = 3.1415f;
double e = f;//不会报错,小转大
long g = 8274624867L;
float h = g;//不会报错,小转大
System.out.println(h);
char i = 'a';
int j = i;//不会报错,小转大
System.out.println(j);//97
int a1 = 1;
byte b1 = 2;
//byte c1 = a1+b1;会报错,大转小
byte c1 = (byte) (a1+b1);//需要强制类型转换
byte d1 = (byte) 128;
System.out.println(d1);//-128,需要强转,注意发生数据溢出的问题
short e1 = 'a';
char f1 = 120;
System.out.println(e1);//97,打印的是编码值
System.out.println(f1);//'x',打印是根据编码找到的字符
float h1 = 32874.435F;
int i1 = (int) h1;//大转小 强制转
System.out.println(i1);//32874 浮变整 小数没
}
}
练习题 : ==比较的练习
package cn.tedu.basic;
public class TestOperator {
public static void main(String[] args) {
//引用类型Cat类型的变量c1 c2 保存的是对象的地址值
Cat c1 = new Cat();
Cat c2 = new Cat();
int[] a1 = {1, 2, 3};
int[] a2 = {1, 2, 3};
int b1 = 4;
int b2 = 4;
boolean f1 = true;
boolean f2 = true;
/* == 如果比较的是基本类型,比较的是值,字面值,具体存的那个数*/
System.out.println(b1 == b2);//true
System.out.println(f1 == f2);//true
/* == 如果比较的是引用类型,比较的也是值,地址值*/
System.out.println(c1 == c2);//false
System.out.println(a1 == a2);//false
}
}
class Cat {
String name;
int age;
public void bark() {
System.out.println("小猫喜欢喵喵叫");
}
}
练习题 : 嵌套分支的练习
需求:提示并接收用户输入的月份,判断并输出属于哪个季节
1-12月是合法数据 3~5春天 6~8夏天 9~11秋天 其他情况冬天
package cn.tedu.basic;
import java.util.Scanner;
/*本类用于复习分支结构*/
public class TestIf {
public static void main(String[] args) {
//1.提示并接收用户输入的月份
System.out.println("请输入您要查看的月份:");
int month = new Scanner(System.in).nextInt();
//2.对用户输入的数据进行合法性检测
/*如果if后的语句只有一句,大括号可以省略不写*/
/*return关键字除了可以帮我们返回方法的返回值以外
* 还可以直接结束当前的方法,如果遇到了return,本方法会直接结束*/
// if(month <0 || month >12) return;
// System.out.println("今天天气真不错");//这句话是用来检测main()有没有结束
if(month <= 0 || month >12){
System.out.println("您输入的月份不正确!应该是1-12月以内");
}else{
//3.判断接收到的合法数据属于哪个季节,并将结果输出
if(month >=3 && month <=5){
System.out.println(month+"月是春天");
}else if(month >=6 && month <=8){
System.out.println(month+"月是夏天~");
}else if(month >=9 && month <=11){
System.out.println(month+"月是秋天");
}else{
System.out.println("冬天就要来啦,春天还会远吗?");
}
}
}
}
练习题 : 根据颜色推荐菜品switch
package cn.tedu.basic;
import java.util.Scanner;
/*本类用于复习switch*/
public class TestSwitch {
public static void main(String[] args) {
//需求:接收用户今天输入的颜色,推荐菜品
//1.提示并接收用户输入的颜色
System.out.println("请输入您今天心情的颜色:");
String color = new Scanner(System.in).nextLine();
//2.完成选择结构
switch (color) {
case "红":
System.out.println("红烧鱼");
break;//为了避免穿透
case "黄":
System.out.println("菠萝炒饭");
break;
case "橙":
System.out.println("水煮肉片");
break;
default:
System.out.println("哎呀,没有识别到这个功能呢,正在开发中...");
}
}
}
练习题:面向对象练习:设计小狗类
需求:
-
抽象形成一个小狗类Dog
-
属性:名字name 年龄age 品种kind 主人host 价格price
-
功能:
1)跑run:无参,打印:小狗Dog跑的老快了~
2)吃eat:参数int n,打印:小狗今晚要吃n根肉骨头
3)睡觉sleep:参数double num,打印:小狗睡了num个小时
4)玩play:参数String host,返回值 String “飞盘”, 打印:小狗与主人host玩的很开心
5)叫bark:打印:小狗喜欢汪汪叫,封装此方法,玩play()的时候才bark() -
创建本类的2个对象,并给两个对象的所有属性并查看
名字name 年龄age 品种kind 主人host 价格price
哮天犬 999 猎狗 二郎神 10000
罗小黑 5 神奇犬 大自然 999.99package cn.cxy.exec;
public class TestDog {
public static void main(String[] args) {
//5.1创建Dog类的第1个对象
Dog d1 = new Dog();
//5.2修改d1对象的属性值
d1.setName(“哮天犬”);
d1.setAge(999);
d1.setKind(“猎狗”);
d1.setHost(“二郎神”);
d1.setPrice(10000);
//5.3打印查看d1对象的属性值
System.out.println(d1.getName());
System.out.println(d1.getAge());
System.out.println(d1.getKind());
System.out.println(d1.getHost());
System.out.println(d1.getPrice());//6.1创建Dog类的第2个对象 Dog d2 = new Dog(); //6.2修改d2对象的属性值 d2.setName("罗小黑"); d2.setAge(5); d2.setKind("神奇犬"); d2.setHost("大自然"); d2.setPrice(999.99); //6.3打印查看d2对象的属性值 System.out.println(d2.getName()); System.out.println(d2.getAge()); System.out.println(d2.getKind()); System.out.println(d2.getHost()); System.out.println(d2.getPrice()); //7.调用dog类的5个方法 d1.run(); d1.eat(5); d1.sleep(8.8); //方式一:只调用play()的功能 d1.play(d1.getHost()); //方式二:不仅调用play()的功能还接收了返回值飞盘交给r保存 String r = d1.play(d1.getHost()); System.out.println(r); //方式三:调用play()的功能,并直接打印了play()的返回值飞盘 System.out.println(d1.play(d1.getHost())); }
}
//1.定义小狗类
class Dog{
//2.定义5个属性
//3.1使用private修饰所有的属性
private String name;//姓名
private int age;//年龄
private String kind;//品种
private String host;//主人
private double price;//价格
//4.1添加小狗类功能1
public void run(){
System.out.println(“小狗Dog跑的老快了~”);
}
//4.2添加小狗类功能2
public void eat(int n){
System.out.println(“小狗今晚要吃”+n+“根肉骨头”);
}
//4.3添加小狗类的功能3
public void sleep(double num){
System.out.println(“小狗今晚睡了”+num+“个小时”);
}
//4.4添加小狗类的功能4
public String play(String host){
System.out.println(“小狗与主人”+host+“玩的很开心”);
bark();//在本类的公共方法中调用被封装的方法的功能
return “飞盘”;
//bark();//遇到return时已经结束本方法了,return后不可以直接写代码
}
//4.5添加小狗类的功能5
private void bark(){
System.out.println(“小狗喜欢汪汪叫”);
}//3.2添加被封装属性的公共的get与set方法 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 String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; }
}
练习题 : 面向对象练习:设计宠物商店案例
package cn.tedu.oopexec;
import java.util.Arrays;
/*本类用于实现宠物商店设计案例*/
public class TestAnimalShop {
public static void main(String[] args) {
//开始测试
//1.创建宠物商店对象
AnimalShop shop = new AnimalShop();
//2.给宠物店起名字
shop.shopName = "爱宠宠物店";
//3.查看宠物店现在所有的宠物
System.out.println(Arrays.toString(shop.animals));//[null, null, null, null, null]
//4.1创建动物对象--叫小白的3岁的小猫
Cat cat = new Cat();
cat.name = "小白";
cat.age = 3;
//4.2将第一只创建好的小动物放到数组里
shop.animals[0] = cat;
//5.1创建一只叫罗小黑的5岁的猫
Cat cat1 = new Cat();
cat1.name = "罗小黑";
cat1.age = 5;
//5.2将第二只创建好的小动物放到数组里
shop.animals[1] = cat1;
//6.1创建一只叫旺财的4岁的狗
Dog dog = new Dog();
dog.name = "旺财";
dog.age = 4;
//6.2将第三只创建好的小动物放到数组里
shop.animals[2] = dog;
//7.1创建一只叫银子的100岁的鸟
Bird bird = new Bird();
bird.name = "银子";
bird.age = 100;
//7.2将第四只创建好的小动物放到数组里
shop.animals[3] = bird;
//8.1创建一只叫大米的7岁的狗
Dog dog1 = new Dog();
dog1.name = "大米";
dog1.age = 7;
//8.2将第五只创建好的小动物放到数组里
shop.animals[4] = dog1;
//9.通过遍历数组,查看所有的动物的名字与年龄
for(int i = 0;i < 5; i++){
System.out.println(shop.animals[i].name + shop.animals[i].age);
}
//10.调用动物们各自的功能
shop.animals[0].eat();//小猫爱吃小鱼干~重写后的功能
shop.animals[4].eat();//小动物Animal吃啥都行~继承自父类的功能
//11.调用查询动物的方法
Animal animal = shop.query(2);
System.out.println(animal.name+animal.age);
//12.调用购买动物的方法
shop.buy(cat1);
shop.buy(bird);
}
}
//1.创建动物类的父类Animal
class Animal{
//2.定义动物类的属性
public String name;
public int age;
//3.定义动物类的方法
public void eat(){
System.out.println("小动物Animal吃啥都行~");
}
}
//4.创建子类小猫类
class Cat extends Animal{
//5.重写继承自父类的方法 两同 两小 一大
@Override //添加注解,标记当前是一个重写的方法
public void eat(){
System.out.println("小猫爱吃小鱼干~");
}
//6.添加子类的特有方法
public void miaoMiao(){
System.out.println("小猫开始喵喵叫啦...");
}
}
//7.创建子类小鸟类
class Bird extends Animal{}
//8.创建子类小狗类
class Dog extends Animal{}
//9.创建宠物商店类
class AnimalShop{
//10.定义宠物商店的属性
public String shopName;//商店名
//准备一个Animal类型的数组,用来存放小动物对象,长度为5
public Animal[] animals = new Animal[5];
//11.1定义宠物商店的方法1--查询小动物
public Animal query(int i){
//传入编号,也就是数组下标,返回数组中对应的小动物对象
return animals[i];
}
//11.2定义宠物商店的方法2--购买小动物
/*此处方法的参数是多态的体现,不管传入的是具体的什么小动物,都看作Animal类型*/
public void buy(Animal animal){
System.out.println("恭喜你要带:"+an