JAVA基础编程练习题--50道
一:循环结构
1.1 for循环
水鲜花数
(1)题目
(2)难点
如何获取三位数的个位数
如何计算一个数的立方
判断两数值是否相等
(3)代码
最大公约数
(1)题目
(2)解题思路
比较m、n大小-(从后往前)遍历小的数字-获取所有(共有)约数-输出最大约数
(3)难点
怎么得到一个数的约数
(4)代码
二:方法
2.1 打印矩形
(1)题目
(2)难点
如何输出多个*
(3)代码
2.2 计算圆的面积
(1)题目
(2)思路
设计方法求圆的面积,将半径做为类的熟悉,而不是做为方法的参数,因为圆这个类自带属性
(3)代码
二:对象数组
(1)知识点
(2)题目
(3)难点:
随机数生成,冒泡排序遍历数组
打印学生信息(字符串拼接)
数组元素值的交互(地址交换)
(4)解题思路
(5)代码实现
需求一
需求二
(6)ideal技巧
Ctrl+alt+回车:从当前位置光标跳到上一行
Shift+回车:下一行
三:继承
(1)例题
(2)难点
实例化子类对象如何调用父类成员变量及方法
四:代码块
(1)题目
(2)难点:如何赋值为当前系统时间
如果将long类型转换为String
(3)实现
代码
优化
五:String与基本数据类型转换
(1)题目
(2)解题思路
用数组存储数据-排序算法找最大值-输出
补充:在元素存入数组、从向量中取出元素、计算数组长度
注意点:创建数组时一定要确定长度
采用Vetor存储Object对象数组,不使用for使用while进行循环(因为没有明确的次数,且给出了结束条件)
(3)难点
Scannner.nextInt:从键盘中获取数据
Integer.valueOf():基本数据类型转换为包装类
Java Vecotor elementAt()
(4)代码
六:多线程
(1)步骤
Start():启动线程,调用线程的run方法
(2)题目
(3)难点
创建两个分线程
遍历100以内的数据-通过%==2判断是否为偶数-打印偶数
创建匿名子类的匿名对象
(4)代码
七:线程安全
7.1 同步代码块
(1)题目
(2)难点
总共有几个类,每个类里分别有什么方法。
火车站(买票【小于100】),窗口(售票)
怎么确保不同的窗口操作的是同一个票总数
怎么表示售票过程
(3)解题步骤
创建三个线程
变量为全局变量(实现的方式存放共享数据)
(4)代码
7.2 线程间通信
(1)问题
(2)难点:
使用什么方法交替打印
如何让1-100为两线程共享
(3)知识点
使用实现的方式创建线程
创建实现类对象,新建Thread对象(传入实现类对象以及线程名称)
在类内创建私有属性(同步代码块参数为this)
使用while打印1-100(通过if判断是否小于100)
打印提示信息需获取线程名
(4)ideal技巧
Ctrl+i:重写方法
(5)代码