JAVA基础练习.docx
- 文档编号:4802886
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:26
- 大小:27.49KB
JAVA基础练习.docx
《JAVA基础练习.docx》由会员分享,可在线阅读,更多相关《JAVA基础练习.docx(26页珍藏版)》请在冰豆网上搜索。
JAVA基础练习
JAVA基础练习
第一章开发简单JAVA应用程序作业
1.自己动手安装JDK开发环境,按照书上示例配置环境变量。
(预估完成时长:
20分钟)
2.下载课上的例子,观察结构并动手运行。
(预估完成时长:
10分钟)
3.编写一个Application,在屏幕上显示如下的信息:
(预估完成时长:
30分钟)
************************************
WelcomeToLDSYS
************************************
第二章Eclipse简单应用作业
1.自己动手安装Eclipse开发环境(预估完成时长:
20分)
2.如图2.16,在Eclipse中新建书上的例子,并且运行得到正确的结果(预估完成时长:
20分)
3.在Eclipse上调试书上的例2.1,并且运行得到正确的结果(预估完成时长:
20分)
4.在Eclipse安装JUnit,并且编写书上的例2.3JUnit代码,得到结果(预估完成时长:
20分)
5.熟记Eclipse常用快捷键
第三章Java语言基础作业
Ø编程题
1.浮点运算
1.1定义两个浮点型常量1.12f和2.34求这两个常量的和,差,积,除,并且打印
(预估完成时长60分钟考察知识点:
数据类型,运算符)
1.2将第一题的结果四舍五入(在原来的结果上加0.5然后强制类型转换为整数型),并且打印
(预估完成时长:
30分钟考察知识点:
数据类型,运算符)
2.定义一个整数型变量i,赋值为17用if…else语句判断i是否为偶数(i除2==0),如果为偶数,打印”I是个偶数”,如果不是,打印”I不是偶数”
(预估完成时长:
30分钟考察知识点:
ifelse条件判断语句)
3.使用第二题定义的变量i
用switch判断i,分别判断i是否为1,2,17然后分别打印”I是1”,“I是2”,“I是17”,如果都不是,打印”不是以上”
(预估完成时长:
30分钟考察知识点:
switch条件判断语句)
4.使用第二题定义的变量I
循环10次,每次对i加一,然后打印出最后循环结束时i的值
4.1采用for循环
(预估完成时长:
45分钟考察知识点:
循环语句)
4.2dowhile循环
(预估完成时长:
30分钟考察知识点:
循环语句)
4.3while循环
(预估完成时长:
30分钟考察知识点:
循环语句)
5.定义一个字符串“2008/13/31”
判断上面的字符串是不是一个正确的日期型
5.1首先使用substring截取出年份2008月份13日期31
(预估完成时长:
30分钟考察知识点:
字符串处理)
5.2首先判断年份是否为闰年。
提示闰年的条件是符合下面二者之一:
(1)能被4整除,但不能被100整除。
(2)能被400整除。
(预估完成时长:
45分钟考察知识点:
字符串处理)
5.3如果是闰年,
判断月份,如果月份是2月,并且2月份天数不是29,打印”错误日期”,如果是,打印”正确日期”。
如果月份不是2月,判断月份是否在1~12之间如果不是打印”错误日期”,否则如果月份是大月,判断日期是不是31天,如果不是打印”错误日期”,如果是,打印”正确日期”
如果月份是小月,判断日期是不是30天,如果不是打印”错误日期”,如果是,打印”正确日期”
(预估完成时长:
75分钟考察知识点:
字符串处理)
5.4如果不是闰年,
判断月份,如果月份是2月,并且2月份天数不是28,打印”错误日期”,如果是,打印”正确日期”。
如果月份不是2月,判断月份是否在1~12之间如果不是打印”错误日期”,否则如果月份是大月,判断日期是不是31天,如果不是打印”错误日期”,如果是,打印”正确日期”
如果月份是小月,判断日期是不是30天,如果不是打印”错误日期”,如果是,打印”正确日期”
(预估完成时长:
60分钟考察知识点:
字符串处理)
6.有两个整数型一维数组
分别是{3,5,1,7,8,11,22}{2,8,6,4,88,66,44}
6.1首先循环打印出以上两个数组的所有值
(预估完成时长:
30分钟考察知识点:
数组处理)
6.2将以上两个数组复制到一个新的数组中(参见书3.6.3数组复制)
然后打印出这个新数组的所有值
(预估完成时长:
30分钟考察知识点:
数组处理)
6.3对这个新数组排序(参见书3.6.5数组类的使用)
打印排序结束的数组中所有值
(预估完成时长:
30分钟考察知识点:
数组处理)
7.有两个字符串,”Welcometo”和“LDSYS!
”
7.1我们首先把这个字.符串连接成为"WelcometoLDSYS!
"(使用StingBuffer),并且打印出该字符串。
(预估完成时长:
30分钟考察知识点:
StingBuffer处理)
7.2然后将该字符串第2个到末尾的字符串子串取出,并且打印出该字符串。
(预估完成时长:
30分钟考察知识点:
StingBuffer处理)
7.3然后将其中的大写E和小写e全部替换成I,然后输出该字符串。
(预估完成时长:
30分钟考察知识点:
StingBuffer处理)
8.编写一个名为ArrayCheck的函数。
要求将一个整数数组作为变量传递到函数中
(预估完成时长:
60分钟考察知识点:
数组)
打印出该数组的最大值
(预估完成时长:
60分钟考察知识点:
数组)
打印出该数组的最小值
(预估完成时长:
60分钟考察知识点:
数组)
打印出该数组的平均值
(预估完成时长:
60分钟考察知识点:
数组)
9.(思考题)利用二维数组打印五行的杨辉三角
杨辉三角:
(TIPS:
数据要求自己计算)
1
11
121
1331
14641
(预估完成时长:
240分钟考察知识点:
StingBuffer处理)
Ø问答题:
1设x=2,则表达式(x++)/3的值是0
(预估完成时长:
15分钟考察知识点:
运算符)
2若x=5,y=10,则x
(预估完成时长:
15分钟考察知识点:
表达式)
3执行以下几个语句后的输出结果是Thistwo。
Strings=“Thisone”,s1=”Thistwo”;
inti=5
if(i>10)
System.out.print(s);
else
System.out.print(s1);
(预估完成时长:
15分钟考察知识点:
判断语句)
4数组x定义如下
intx[][]=newint[3][2]
则x.length的值为______3______,
x[0].length的值为______2______。
(预估完成时长:
15分钟考察知识点:
数组)
5程序段
intm=0,n=0;
for(inti=0,j=1;i<10&&j<10;i++,j++)
{
ifi>5
m++;
else
n--;
j++;
}
运行后,m的内容为______,n的内容为______。
(预估完成时长:
15分钟考察知识点:
运算符)
6程序
publicclasstest_1{
publicstaticvoidmain(String[]args)
{intx;
inta[]={0,0,0,0,0,0};
calculate(a,a[5]);
System.out.println(“valueis”+a[0]);
}
staticintcalculate(intx[],y)
{for(inti=1;i<6;i++)
ify<6
x[i]=x[i-1]+1;
returnx[0];
}
}
运行后,a[5]的内容为______,程序的输出(显示)结果为______
(预估完成时长:
15分钟考察知识点:
数组)
7Javaapplication中的主类需包含main方法,main方法的返回类型是什么?
(d)
A、intB、floatC、doubleD、void
(预估完成时长:
15分钟考察知识点:
Java基本功)
8有一段java应用程序,它的主类名是a1,那么保存它的源文件名可以是(a)
Aa1.javaBa1.classCa1D都对
(预估完成时长:
15分钟考察知识点:
Java基本功)
9整型数据类型中,需要内存空间最少的是(d)
AshortBlongCintDbyte
(预估完成时长:
15分钟考察知识点:
基本数据类型)
10下面对Java相关的技术叙述正确的是:
(c)
A.Java仅仅是一种编程语言
B.Java只是一种虚拟的平台
C.Java即是开发环境又是开发平台
D.Java就是JavaScript
(预估完成时长:
15分钟考察知识点:
Java基本功)
11下面对数组的定义及初始化不正确的方法是:
(b)
A.intarray[];B.intarray[8];
C.int[]array=newint[8];D.intarray[]=newint[8];
(预估完成时长:
15分钟考察知识点:
数组)
12下面这个程序能不能运行,如果不能运行,请指出错误在哪里
publicclassHelloDate{
Strings="intitalvalue";
publicstaticvoidmain(String[]args){
System.out.println(s);
}
}
(预估完成时长:
15分钟考察知识点:
字符串)
13关于以下程序段,正确的说法是()。
1.Strings1="abc"+"def";
2.Strings2=newString(s1);
3.if(s1.equals(s2))
4.System.out.println(".equals()succeeded");
5.if(s1==s2)
6.System.out.println("==succeeded");
A.行4与行6都将执行B.行4执行,行6不执行
C.行6执行,行4不执行D.行4、行6都不执行
(预估完成时长:
30分钟考察知识点:
字符串)
14关于以下程序段,,实现的功能是什么
publicclassSum
{
publicstaticvoidmain(Stringargs[])
{
doublesum=0.0;
for(inti=1;i<=100;i++)
sum+=1.0/(double)i;
System.out.println("sum="+sum);
}
}
(预估完成时长:
15分钟考察知识点:
运算符)
15关于以下程序段,,实现的功能是什么
publicclassFunction
{
publicstaticvoidmain(Stringargs[])
{
inti、j;
inta[]={32、54、7、60、31、78、3、77、39、98};
for(i=o;i
{
intk=i;
for(j=i;j
if(a[j]
inttemp=a[i];
a[i]=a;
a[k]=temp;
}
for(i=0;i
System.out.print(a[i]+"")
System.out.println();
}
}
(预估完成时长:
15分钟考察知识点:
数组)
16关于以下程序段,,输出结果为___________________________________________________。
publicclassShort
{
publicstaticvoidmain(Stringargs[])
{
StringBuffers=newStringBuffer("Hello");
if((s.length()>5)&&(s.append("there").equals("False")))
;
System.out.println("valueis"+s);
}
}
(预估完成时长:
15分钟考察知识点:
字符串)
第四章面向对象编程作业
Ø程序题:
1建立包com.ldjy.XXX其中XXX为自己姓名的拼音。
1.1在上面的包下面,生成书上例4.9的程序。
(预估完成时长:
60分钟考察知识点:
类,包的概念)
1.2再在上面的包下,生成书上例4.10和4.11的程序,观察同一包下面不同的类之间的访问权限。
(预估完成时长:
60分钟考察知识点:
类,包的概念)
2在上面的包中,建立名为TaiSyo的类
2.1要求,在该类中实现两个无参数方法,一个静态方法,要求打印出”这是一个静态方法”
一个非静态方法,要求打印出”这是一个非静态方法”
(预估完成时长:
60分钟考察知识点:
类,包的概念)
2.2在同一包中,建立名为TestTaiSyo的类,并且实现main函数
要求在main函数中引用这个类的静态函数和非静态函数
(预估完成时长:
60分钟考察知识点:
对象的引用,静态函数)
3编写程序模仿使用银行帐目
在上面的包中,创建一个类,Account.java。
它定义银行帐目。
包括帐户金额,帐户密码,帐户号码等属性。
并且提供,初始化帐户,返回帐户号码,存款业务,取款业务(如果余额不足将出现警告信息)等方法。
(预估完成时长:
60分钟考察知识点:
类的生成)
4编写程序模仿ATM机
4.1创建一个名为Personal的接口,提供返回当前余额和提取金额两种方法。
(预估完成时长:
60分钟考察知识点:
类的生成)
4.2创建一个名为PersonalAccount个人存款类型的帐户,继承自银行帐目并且实现了Personal的接口,并且要求个人取款可以赊五千块钱(提示用父类取款业务方法的覆盖来实现)
(预估完成时长:
60分钟考察知识点:
类的生成)
4.3创建一个有main函数的类,ATM.java,让其通过接口访问上面的存款类型的帐户,能够实现查询余额和取款功能
(预估完成时长:
60分钟考察知识点:
类的继承接口)
5分析下面的程序代码,完成程序注释,指出其中都使用了什么面向对象技术。
要求首先能读懂下面的程序,能够读懂别人的程序也是程序员必备的技术。
在下列程序中增加注释,然后能够勾画出下面程序的对象继承关系和使用到的面向对象技术。
最后要能够指出,为什么使用这些技术,使用这些技术的优点。
//Boss.java
publicfinalclassBossextendsEmployee{
privatedoubleweeklySalary;
publicBoss(Stringfirst,Stringlast,doubles){
super(first,last);//callsuperclassconstructor
setWeeklySalary(s);
}
publicvoidsetWeeklySalary(doubles){
weeklySalary=(s>0?
s:
0);
}
publicdoubleearnings(){
returnweeklySalary;
}
publicStringtoString(){
return"经理:
"+super.toString();
}
}
//CommissionWorker.java
publicfinalclassCommissionWorkerextendsEmployee{
privatedoublesalary;//每周的底薪
privatedoublecommission;//每周奖金
privateintquantity;//销售额
publicCommissionWorker(Stringfirst,Stringlast,doubles,doublec,intq){
super(first,last);setSalary(s);
setCommission(c);
setQuantity(q);
}
publicvoidsetSalary(doubles){
salary=(s>0?
s:
0);
}
publicvoidsetCommission(doublec){
commission=(c>0?
c:
0);
}
publicvoidsetQuantity(intq){
quantity=(q>0?
q:
0);
}
publicdoubleearnings(){
returnsalary+commission*quantity;
}
publicStringtoString(){
return"普通员工:
"+super.toString();
}
}
//Employee.java
publicabstractclassEmployee{
privateStringfirstName;
privateStringlastName;
publicEmployee(Stringfirst,Stringlast){
firstName=first;
lastName=last;
}
publicStringgetFirstName(){
returnfirstName;
}
publicStringgetLastName(){
returnlastName;
}
publicStringtoString(){
returnfirstName+''+lastName;
}
//Employee抽象方法earnings();
publicabstractdoubleearnings();
}
//HourlyWorker.java
//DefinitionofclassHourlyWorker
publicfinalclassHourlyWorkerextendsEmployee{
privatedoublewage;//每小时工资
privatedoublehours;//每周工作时间
//ConstructorforclassHourlyWorker
publicHourlyWorker(Stringfirst,Stringlast,doublew,doubleh){
super(first,last);
setWage(w);
setHours(h);
}
publicvoidsetWage(doublew){
wage=(w>0?
w:
0);
}
publicvoidsetHours(doubleh){
hours=(h>=0&&h<168?
h:
0);
}
publicdoubleearnings(){
returnwage*hours;
}
publicStringtoString(){
return"计时工人:
"+super.toString();
}
}
//PieceWorker.java
publicfinalclassPieceWorkerextendsEmployee{
privatedoublewagePerPiece;//生产量
privateintquantity;//工作周数
//ConstructorforclassPieceWorker
publicPieceWorker(Stringfirst,Stringlast,doublew,intq){
super(first,last);setWage(w);
setQuantity(q);
}
publicvoidsetWage(doublew){
wagePerPiece=(w>0?
w:
0);
}
publicvoidsetQuantity(intq){
quantity=(q>0?
q:
0);
}
publicdoubleearnings(){
returnquantity*wagePerPiece;
}
publicStringtoString(){
return"计件工人:
"+super.toString();
}
}
//Test.java
importjavax.swing.JOptionPane;
importjava.text.DecimalFormat;
publicclassTest{
publicstaticvoidmain(Stringargs[])
{
Employeeref;//ref为Employee引用
Stringoutput="";
Bossb=newBoss("史","季华",800.00);
CommissionWorkerc=
newCommissionWorker("张","雪",
400.0,3.0,150);
PieceWorkerp=
newPieceWorker("包","利",2.5,200);
HourlyWorkerh=
newHourlyWorker("科","鹏",13.75,40);
DecimalFormatprecision2=newDecimalFormat("0.00");
ref=b;//把父类的引用ref赋值为子类Boss对b的引用
output+=ref.toString()+"工资¥"+
precision2.format(ref.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 基础 练习