JAVA基础练习Word文档下载推荐.docx
《JAVA基础练习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《JAVA基础练习Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
4.1采用for循环
45分钟考察知识点:
循环语句)
4.2dowhile循环
4.3while循环
5.定义一个字符串“2008/13/31”
判断上面的字符串是不是一个正确的日期型
5.1首先使用substring截取出年份2008月份13日期31
字符串处理)
5.2首先判断年份是否为闰年。
提示闰年的条件是符合下面二者之一:
(1)能被4整除,但不能被100整除。
(2)能被400整除。
5.3如果是闰年,
判断月份,如果月份是2月,并且2月份天数不是29,打印”错误日期”,如果是,打印”正确日期”。
如果月份不是2月,判断月份是否在1~12之间如果不是打印”错误日期”,否则如果月份是大月,判断日期是不是31天,如果不是打印”错误日期”,如果是,打印”正确日期”
如果月份是小月,判断日期是不是30天,如果不是打印”错误日期”,如果是,打印”正确日期”
75分钟考察知识点:
5.4如果不是闰年,
判断月份,如果月份是2月,并且2月份天数不是28,打印”错误日期”,如果是,打印”正确日期”。
60分钟考察知识点:
6.有两个整数型一维数组
分别是{3,5,1,7,8,11,22}{2,8,6,4,88,66,44}
6.1首先循环打印出以上两个数组的所有值
数组处理)
6.2将以上两个数组复制到一个新的数组中(参见书3.6.3数组复制)
然后打印出这个新数组的所有值
6.3对这个新数组排序(参见书3.6.5数组类的使用)
打印排序结束的数组中所有值
7.有两个字符串,”Welcometo”和“LDSYS!
”
7.1我们首先把这个字.符串连接成为"WelcometoLDSYS!
"(使用StingBuffer),并且打印出该字符串。
StingBuffer处理)
7.2然后将该字符串第2个到末尾的字符串子串取出,并且打印出该字符串。
7.3然后将其中的大写E和小写e全部替换成I,然后输出该字符串。
8.编写一个名为ArrayCheck的函数。
要求将一个整数数组作为变量传递到函数中
数组)
打印出该数组的最大值
打印出该数组的最小值
打印出该数组的平均值
9.(思考题)利用二维数组打印五行的杨辉三角
杨辉三角:
(TIPS:
数据要求自己计算)
1
11
121
1331
14641
240分钟考察知识点:
问答题:
1设x=2,则表达式(x++)/3的值是0
15分钟考察知识点:
运算符)
2若x=5,y=10,则x<
y和x>
=y的逻辑值分别为true和false。
表达式)
3执行以下几个语句后的输出结果是Thistwo。
Strings=“Thisone”,s1=”Thistwo”;
inti=5
if(i>
10)
System.out.print(s);
else
System.out.print(s1);
判断语句)
4数组x定义如下
intx[][]=newint[3][2]
则x.length的值为______3______,
x[0].length的值为______2______。
5程序段
intm=0,n=0;
for(inti=0,j=1;
i<
10&
&
j<
10;
i++,j++)
{
ifi>
5
m++;
n--;
j++;
}
运行后,m的内容为______,n的内容为______。
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]的内容为______,程序的输出(显示)结果为______
7Javaapplication中的主类需包含main方法,main方法的返回类型是什么?
(d)
A、intB、floatC、doubleD、void
Java基本功)
8有一段java应用程序,它的主类名是a1,那么保存它的源文件名可以是(a)
Aa1.javaBa1.classCa1D都对
9整型数据类型中,需要内存空间最少的是(d)
AshortBlongCintDbyte
基本数据类型)
10下面对Java相关的技术叙述正确的是:
(c)
A.Java仅仅是一种编程语言
B.Java只是一种虚拟的平台
C.Java即是开发环境又是开发平台
D.Java就是JavaScript
11下面对数组的定义及初始化不正确的方法是:
(b)
A.intarray[];
B.intarray[8];
C.int[]array=newint[8];
D.intarray[]=newint[8];
12下面这个程序能不能运行,如果不能运行,请指出错误在哪里
publicclassHelloDate{
Strings="
intitalvalue"
;
publicstaticvoidmain(String[]args){
System.out.println(s);
}
字符串)
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都不执行
14关于以下程序段,,实现的功能是什么
publicclassSum
{
publicstaticvoidmain(Stringargs[])
doublesum=0.0;
for(inti=1;
=100;
i++)
sum+=1.0/(double)i;
System.out.println("
sum="
+sum);
15关于以下程序段,,实现的功能是什么
publicclassFunction
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();
16关于以下程序段,,输出结果为___________________________________________________。
publicclassShort
StringBuffers=newStringBuffer("
Hello"
if((s.length()>
5)&
(s.append("
there"
).equals("
False"
)))
valueis"
+s);
第四章面向对象编程作业
程序题:
1建立包com.ldjy.XXX其中XXX为自己姓名的拼音。
1.1在上面的包下面,生成书上例4.9的程序。
类,包的概念)
1.2再在上面的包下,生成书上例4.10和4.11的程序,观察同一包下面不同的类之间的访问权限。
2在上面的包中,建立名为TaiSyo的类
2.1要求,在该类中实现两个无参数方法,一个静态方法,要求打印出”这是一个静态方法”
一个非静态方法,要求打印出”这是一个非静态方法”
2.2在同一包中,建立名为TestTaiSyo的类,并且实现main函数
要求在main函数中引用这个类的静态函数和非静态函数
对象的引用,静态函数)
3编写程序模仿使用银行帐目
在上面的包中,创建一个类,Account.java。
它定义银行帐目。
包括帐户金额,帐户密码,帐户号码等属性。
并且提供,初始化帐户,返回帐户号码,存款业务,取款业务(如果余额不足将出现警告信息)等方法。
类的生成)
4编写程序模仿ATM机
4.1创建一个名为Personal的接口,提供返回当前余额和提取金额两种方法。
4.2创建一个名为PersonalAccount个人存款类型的帐户,继承自银行帐目并且实现了Personal的接口,并且要求个人取款可以赊五千块钱(提示用父类取款业务方法的覆盖来实现)
4.3创建一个有main函数的类,ATM.java,让其通过接口访问上面的存款类型的帐户,能够实现查询余额和取款功能
类的继承接口)
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){
setSalary(s);
setCommission(c);
setQuantity(q);
publicvoidsetSalary(doubles){
salary=(s>
publicvoidsetCommission(doublec){
commission=(c>
c:
publicvoidsetQuantity(intq){
quantity=(q>
q:
returnsalary+commission*quantity;
普通员工:
//Employee.java
publicabstractclassEmployee{
privateStringfirstName;
privateStringlastName;
publicEmployee(Stringfirst,Stringlast){
firstName=first;
lastName=last;
publicStringgetFirstName(){
returnfirstName;
publicStringgetLastName(){
returnlastName;
returnfirstName+'
'
+lastName;
//Employee抽象方法earnings();
publicabstractdoubleearnings();
//HourlyWorker.java
//DefinitionofclassHourlyWorker
publicfinalclassHourlyWorkerextendsEmployee{
privatedoublewage;
//每小时工资
privatedoublehours;
//每周工作时间
//ConstructorforclassHourlyWorker
publicHourlyWorker(Stringfirst,Stringlast,doublew,doubleh){
setWage(w);
setHours(h);
publicvoidsetWage(doublew){
wage=(w>
w:
publicvoidsetHours(doubleh){
hours=(h>
=0&
h<
168?
h:
returnwage*hours;
计时工人:
//PieceWorker.java
publicfinalclassPieceWorkerextendsEmployee{
privatedoublewagePerPiece;
//生产量
//工作周数
//ConstructorforclassPieceWorker
publicPieceWorker(Stringfirst,Stringlast,doublew,intq){
wagePerPiece=(w>
returnquantity*wagePerPiece;
计件工人:
//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.