java基础编程题及答案.docx
《java基础编程题及答案.docx》由会员分享,可在线阅读,更多相关《java基础编程题及答案.docx(14页珍藏版)》请在冰豆网上搜索。
![java基础编程题及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/30/58e77ab3-5983-4023-864b-ca6798d444b2/58e77ab3-5983-4023-864b-ca6798d444b21.gif)
java基础编程题及答案
java基础编程题及答案
【篇一:
java编程题全集(100题及答案)】
复习题
1、编写一个java程序在屏幕上输出“你好!
”。
(p13,例1-1)//programmenamehelloworld.javapublicclasshelloworld{publicstaticvoidmain(stringargs[]){system.out.print(你好!
);
}
}
2.编写一个java程序,用if-else语句判断某年份是否为闰年。
//programmenameleapyear.javapublicclassleapyear{publicstaticvoidmain(stringargs[]){intyear=2010;
if(args.length!
=0)year=integer.parseint(args[0]);
if((year%4==0year%100!
=0)||(year%400==0))system.out.println(year+年是闰年。
);
elsesystem.out.println(year+年不是闰年。
);
}
}//if-else语句
3、编写一个java程序在屏幕上输出1!
+2!
+3!
+?
?
+10!
的和
(p64,例2-2)//programmenamefortest.java
publicclassfortest{
publicstaticvoidmain(stringargs[]){
inti,j,mul,sum=0;for(i=1;i=10;i++){mul=1;
for(j=1,j=i;j++){mul=mul*j;
}sum=sum+mul;
}system.out.println(!
“1+2!
+3!
+?
?
+10!
=”+sum);
}
}
4.
(1)编写一个圆类circle,该类拥有:
1一个成员变量radius(私有,浮点型);//存放圆的半径;
2两个构造方法circle()//将半径设为0circle(doubler)//创建circle对象时将半径初始化为r
3三个成员方法doublegetarea()//获取圆的面积doublegetperimeter()//获取圆的周长voidshow()//将圆的半径、周长、面积输出到屏幕
(2)编写一个圆柱体类cylinder,它继承于上面的circle类。
还拥有:
①一个成员变量doublehight(私有,浮点型);//圆柱体的高;②构造方法
cylinder(doubler,doubleh)//创建circle对象时将半径初始化为r
③成员方法doublegetvolume()//获取圆柱体的体积
voidshowvolume()//将圆柱体的体积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。
//programmenametestcylinder.javaclasscircle{//定义父类--园类privatedoubleradius;//成员变量--园半径circle(){//构造方法radius=0.0;
}circle(doubler){//构造方法radius=r;
}
doublegetperimeter(){//成员方法--求园周长return2*math.pi*radius;
}doublegetarea(){//成员方法--求园面积
returnmath.pi*radius*radius;
}
voiddisp(){//成员方法--显示园半径、周长、面积
system.out.println(
system.out.println(
system.out.println(
园半径=+radius);
园周长=+getperimeter());
园面积=+getarea());
}
}
classcylinderextendscircle{//定义子类--圆柱类
privatedoublehight;//成员变量--园柱高cylinder(doubler,doubleh){//构造方法
super(r);
hight=h;
}
publicdoublegetvol(){//成员方法--求园柱体积
returngetarea()*hight;
}
publicvoiddispvol(){//成员方法--显示园柱体积system.out.println(圆柱体积=+getvol());
}
}
publicclasstestcylinder{//定义主类
publicstaticvoidmain(string[]args){//主程入口circleci=newcircle(10.0);//生成园类实例
ci.disp();//调用园类的方法
cylindercyl=newcylinder(5.0,10.0);//生成圆柱类实例cyl.disp();//调用父类方法
cyl.dispvol();//调用子类方法
}
}
5、编写一个java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。
要进行异常处理,对输入的不符合要求的字符串提示给用户,
不能使程序崩溃。
(p39,例2-10,2-11)
//programmenamestrinput.java
importjava.io.*;
publicclassstrinput
{
publicstaticvoidmain(stringargs[]){
strings1,s2,ss,si,sf;
inti1,i2;
floatf1,f2;
bufferedreaderstrin=newbufferedreader(newinputstreamreader(system.in));try{system.out.print(输入第一
个字符串:
);
s1=strin.readline();
system.out.print(输入第二个字符串:
);
s2=strin.readline();}
catch(exceptione){system.out.println(e.getmessage());}
i1=integer.parseint(s1);
i2=integer.parseint(s2);
f1=float.parsefloat(s1);
f2=float.parsefloat(s2);
输入的二个字符串相加结果为:
+ss);输入字符串转换为整数相加结果为:
+si);
}
stringstradd(stringstr1,stringstr2){returnstr1+str2;
}
stringstradd(intint1,intint2){
returnstring.valueof(int1+int2);
}
stringstradd(floatflt1,floatflt2){
returnstring.valueof(flt1+flt2);
}
}
6.应用fileinputstream类,编写应用程序,从磁盘上读取一个java程序,并将源程序代码显示在屏幕上。
(被读取的文件路径为:
e:
/myjava/hello.java)
//programmenamefisdemo.javaimportjava.io.*;
publicclassfisdemo{
publicstaticvoidmain(stringargs[]){byte[]buf=newbyte[2056];
try{fileinputstreamfilein=newfileinputstream(e:
/myjava/hello.java);intbytes=filein.read(buf,0,2056);
stringstr=newstring(buf,0,bytes);system.out.println(str);
}catch(exceptione){e.printstacktrace();
}
}
7、编写一个java程序将当100,101,102,103,104,105个数以数组的形式写入到dest.txt文件中,并以相反的顺序读出显示在屏幕上。
(p190,例7-2)
//programmenameiodemo.java
importjava.io.*;
publicclassiodemo{
publicstaticvoidmain(stringargs[]){
intdata[]={100,101,102,103,104,105};intt;
try
{dataoutputstreamout=newdataoutputstream(newfileoutputstream(“dest.txto”r(i)n)t;fi=0;idata.length;i++)
out.writeint(data[i]);
out.close();
for(inti=data.length-1;i=0;i--){t=in.readint(data[i]);
system.out.print(“”+t);
}system.out.println();in.close();
}catch(ioexceptione)
{system.out.println(e.getmessage());}
}
}
8.利用applet类和runnable接口实现滚动字幕,其中字幕文字(“学好java有工作”)和
【篇二:
java基础入门习题答案】
txt>第1章java开发入门
一、填空题
1、javaee、javase、javame
2、jre
3、javac
4、bin
5、path、classpath
二、选择题
1、abcd2、c3、d4、b5、b
三、简答题
1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、jre(javaruntimeenvironment,java运行时环境),它相当
于操作系统部分,提供了java程序运行时所需要的基本条件和许多java基础类,例如,io类、gui控件类、网络类等。
jre是提供给普通用户使用的,如果你只想运行别人开发好的java程序,那么,你的计算机上必须且只需安装jre。
jdk(javadevelopmentkit,java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给java开发人员使用的。
初学者学习和使用java语言时,首先必须下载和安装jdk。
jdk中已经包含了jre部分,初学者安装jdk后不必再去下载和安装jre了。
四、编程题publicclasshelloworld{
}publicstaticvoidmain(string[]args){}
system.out.println(这是第一个java程序!
);
第2章java编程基础
一、填空题
1、
class
2、
true和false
3、
单行注释、多行注释、文档注释
4、
基本数据类型、引用数据类型
5、
1、2、4、8
6、
|||
7、
0
8、
5
9、34
10、56
二、判断题
1、错2、对3、错4、对5、错
三、选择题
1、ad2、ad3、c4、abcd5、c6、a7、ac8、a9、b10、a
四、程序分析题
1、编译不通过。
int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int
类型的值,因此编译不通过。
2、编译不通过。
这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,
在使用y=x;语句时已经超过了y变量的作用域,所以编译无法通
过。
3、打印结果为:
3。
4、打印结果为:
9
8
7
五、问答题
1、java语言的八种基本数据类型有:
byte字节型,占一个字节。
short短整型,占两个字节。
int整型,占4个字节。
long长整型,占8个字节。
float单精度浮点型,占4个字节。
double双精度浮点型,占8个字节。
char字符型,占两个字节。
boolean型,表示逻辑值,有true和false两个值,分别占一个字节。
2、如果使用“”在表达式之间进行连接,那么无论任何情况,“”两边的表达式都会参与计算。
如果使用“”进行连接,当“”左边的表达式为false,则不会执行其右边的表达式。
例如定义intx=2,y=0;
booleanb=xyx/20表达是会发生被0除异常,因为x/y的表
达式执行了。
而booleanb=xyx/20是不会出现这种异常的,因为xy为false,表达式x/y不会执行。
3、方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。
调用这些同名的方法时,jvm会根据实际参数的不同绑定到不同的方法。
六、编程题1、参考答案
publicclasstest01{
}publicstaticvoidmain(string[]args){}intsum=0;for(inti
=1;i100;i++){}system.out.println(sum);if(i%2!
=0)sum
+=i;
2、参考答案
publicclasstest02{
publicstaticvoidmain(stringargs[]){inty=function(0);
}}system.out.println(y);publicstaticintfunction(intx){}inty;if(x0){}returny;y=x+3;y=0;y=x*x-1;}elseif(x==0){}else{
3、参考答案
publicclasstest03{
}publicstaticvoidmain(string[]args){}int[]arr={25,24,12,
76,101,96,28};for(inti=0;iarr.length-1;i++){}for(inti=
0;iarr.length;i++){}system.out.print(arr[i]+);//打印元素和空格//定义内层循环for(intj=0;jarr.length-i-1;j++){}if(arr[j]arr[j+1]){//比较相邻元素}//下面的三行代码用于交换两个元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;
第3章面向对象(上)
一、填空题
1、封装、继承、多态
2、new
3、成员变量、局部变量
4、类、类
5、this
6、finalize()
7、静态变量
8、内部类
9、javadoc
10、private
二、判断题
1、对2、对3、错4、对5、错
三、选择题
1、b2、d3、b4、abc5、abcd6、acd7、abcd8、abcd9、d10、d
四、程序分析题
1、程序不能编译通过,因为在类a中的成员变量secret用private修饰,所以在类test1中无法访问。
2、程序不能编译通过,因为在静态方法method()中不能访问非静
态成员变量x。
3、程序能够编译通过,运行的结果为“inner。
”
五、简答题
1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。
而普通方法只有在使用的时候才会被调用。
在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值
2、单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象。
六、编程题1、参考答案
classstudent{
}
publicclasstest01{
publicstaticvoidmain(string[]args){studentstu1=newstudent();privatestringname;privatedoublegrade;publicstudent(){}publicstudent(stringname,doublegrade){}publicstringgetname(){}publicvoidsetname(stringname){}publicdoublegetgrade(){}publicvoidsetgrade(doublegrade){}this.grade=grade;returngrade;this.name=name;returnname;this.name=name;this.grade=grade;
}}stu1.setname(zhangsan);stu1.setgrade(99);studentstu2=newstudent(lisi,100);
2、参考答案classfather{
}
publicclasstest02{
publicstaticvoidmain(string[]args){}father.childchild=newfather().newchild();child.introfather();privatestringname=zhangjun;classchild{}publicvoidintrofather(){}system.out.println(myfathersnameis+name);
}
第4章面向对象(下)
一、填空题
1、继承
2、方法,抽象类
3、import
4、子类、父类、基类
5、exception
6、final
7、super
8、object
9、try、catch
10、jar-cvf,java-ar
二、判断题
1、错2、对3、错4、对5、对
三、选择题
1、b2、c3、abc4、abcd5、c6、ac7、c8、d9、a10、b
四、程序分析题
1、程序编译能通过,这是因为intx=2/0;system.out.println(x);这两条语句使用了try块,捕获了程序
因为除以0而产生的异常情况,之后程序会继续向下执行,输出“入catch代码块”,“进入finally代码块”。
2、程序编译不通过,这是因为在程序中使用了final关键字修饰animal类,使得animal类不能被继
承。
shout()方法中同样使用了final关键字,使得该方法不能被重写。
【篇三:
java基础笔试测试题及答案】
ss=txt>一.填空题(8分)
1.面向对象的三大原则是(封装),(继承)和(多态).2分
2.如果想在对象实例化的同时就初始化成员属性,则使用(构造函数).2分
3、(实体)方法和(构造)方法不能修饰为abstract?
2分
二.选择题(60分)
1)
在java语言中,下列(a,d)是不满足命名规范的变量名。
(选择二项)a)姓名$nameb)_instanceofc)instanceofd)下列java代码片段的输出结果是(a)。
charc=a;
inti=c;
floatf=i;
byteb=(byte)c;
system.out.println(c+,+i+,+f+,+b);
a)编译错误
a,97,97,97b)
a,97,97.0,97c)
a,97,97.0f,97d)
下列java代码中,空白处的代码是(b,c)。
(选择两项)publicinterfacefee{
publicfloatcallabfee(floatunitprice,floattime);
}
publicclassfeeimplimplementsfee{
publicfloatcallabfee(floatunitprice,floattime){
returnunitprice*time;
}
}
publicclassfeeinterfacetest{publicstaticvoidmain(string[]args){floatlabfee=fee.callabfee(400.00,5);
}
}2)3)
4)a)b)c)d)feefee=newfee();feefee=newfeeimpl();feeimplfee=newfeeimpl();feeimplfee=newfee();
5)在java语言中,在包package1中包含包package2,类class_a直接隶属于包package1,类class_c直接隶属于包package2.在类class_b要应用class_a的a和class_c的方法b,你需要(a,b)语句。
(