Java程序设计题库.docx
- 文档编号:14084502
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:63
- 大小:64.16KB
Java程序设计题库.docx
《Java程序设计题库.docx》由会员分享,可在线阅读,更多相关《Java程序设计题库.docx(63页珍藏版)》请在冰点文库上搜索。
Java程序设计题库
Java程序设计题库
1、Java语言的主要特点是什么?
答案:
1.简单性
2.安全性
3.平台无关性
4.可移植性
5.面向对象语言
6.多线程
7.健壮性
2、常用的Java开发环境有哪些?
答案:
1.Eclipse
2.NetBeans
3.JCreator
4.EditPlus
5.BlueJ
3、Java语言主要有哪几方面的应用?
答案:
(1)JavaSE(Javaplatformstandardedition)。
(2)JavaEE(Javaplatformenterpriseedition)。
(3)JavaME(Javaplatformmicroedition)。
4、为什么采用BlueJ作为Java语言的开发环境?
答案;BlueJ是一个专门为入门级教学设计的Java开发环境。
它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的。
BlueJ是一个完整的Java环境,是特别为课程导入教学,一年级的大学生设计的。
BlueJ消除了一些复杂的Java语法,难以理解的输入、输出,并且可视化的表示出了类与对象之间的关系。
5、Java语言的编译命令是什么,编译后生成的字节码文件的扩展名是什么?
答案:
Javac,class
6、简述编写、编译、运行第一个Java程序的步骤?
答案:
1.编写源程序.
使用文本编辑器
windows的记事本,Unix/Linux的gedit文本编辑器或者vi/emacs(如果你会用它们)
(注意:
word/Office等图文混排工具不可以).
用文本编辑器编写源程序如下:
publicclassHello{
publicstaticvoidmain(String[]args){
System.out.println("你好!
");
}
}
把上面的源程序存为文件Hello.java
注意:
必须使用这个文件名.因为文件的名称必须和文件内的类(class)的名称保持一致,并且增加.java为文件名的后缀.
2.编译
把源程序翻译为Java可执行程序.
打开控制台界面,到保存Hello.java文件的目录,执行下面的命令
javacHello.java
如果产生了一个新的文件Hello.class,那么编译成功.
如果没有产生了一个新的文件Hello.class,那么编译失败,通常是源程序中有语法错误.
3.执行
在java.class的目录,实际上就是当前的目录不用变化,执行下面的命令:
javaHello
将得到程序的执行结果显示如下:
你好!
7、在Java中字符数据是采用哪种编码形式?
占用的字节数是多少?
答案:
Unicode,2个字节
8、在Java种八进制和十六进制的数如何表示?
答案:
以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位,十六进制表示:
以0x作为前缀,数码有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,逢16进位
9、Java语言中基本数据类型有哪些?
答案:
在JAVA中一共有八种基本数据类型,他们分别是byte、short、int、long、float、double、char、boolean
10、给出三个整数,求平均数。
答案:
publicclassNumOption{
publicstaticvoidmain(String[]args){
inta=23,b=46,c=59;
System.out.println("a,b,c平均数为:
"+(a+b+c)/3.0);
}
}
11、给出一个三位整数,按相反的顺序输出该数,即输入247,输出742
答案:
publicclassFanxu{
publicstaticvoidmain(String[]args){
inta=479;
inti=a/100,j=a%10;
intk=a/10-i*10;
System.out.println("a"+(j*100+k*10+i));
}
}
12、编程实现:
求100以内所有偶数的和。
publicclassOuSum{
publicstaticvoidmain(String[]args){
inti,sum=0;
for(i=1;i<=100;i++)
if(i%2==0)sum+=i;
System.out.println("sum"+sum);
}
}
13、编程实现:
输入3个数,按从小到大输出。
publicclassPaicu{
publicstaticvoidmain(String[]args){
inta=23,b=46,c=34,t;
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
System.out.println(a+","+b+","+c);
}
}
14、编程实现:
输入起始年号,输出100年内的闰年。
importjava.util.Scanner;
publicclassYunnian{
publicstaticvoidmain(String[]args){
System.out.print("输入年份:
");
Scannersc=newScanner(System.in);
intyear=sc.nextInt();
//设置布尔型变量存满足闰年的条件
booleanisRn=(year%4==0)&&(year%100!
=0)||(year%400==0);
//用if-else结构判断输入年份是否为闰年
if(isRn){
System.out.println(year+"年是闰年");
}else{
System.out.println(year+"年是平年");
}
}
}
15、编写求最大公约数和最小公倍数的程序。
importjava.util.Scanner;
publicclassGyueshu{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intmin;
intmax;
System.out.print("请输入一个数:
");
min=input.nextInt();
System.out.print("请输入另一个数:
");
max=input.nextInt();
System.out.println(gongyue(min,max));
System.out.println(gongbei(min,max));
}
//m与n的最大公约数
publicstaticintgongyue(intmin,intmax){
if(min==0){
returnmax;
}else{
returngongyue(max%min,min);
}
}
//m与n的最小公倍数
publicstaticintgongbei(intmin,intmax){
returnmin*max/gongyue(min,max);
}
}
16、编写方法,将八进制数转换为十进制数。
Integer.valueOf("876",8).toString()
17、编程实现:
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃掉前一天剩下的一半零一个,第十天早上想再吃时,发现只剩下一个桃子了。
请问猴子第一天一共摘了多少个桃子?
publicclassMonkeyEatPeach{
publicstaticvoidmain(String[]args){
inttotalpeach=0;
intday=10;
intlastdaypeach=1;
totalpeach=totalPeach(10,1);
System.out.println(totalpeach);
}
privatestaticinttotalPeach(intday,intlastdaypeach){
inttotal=0;
intloopnum=day-1;
inttemp=lastdaypeach+1;
for(inti=0;i total=temp*2; temp=total+1; System.out.println(total); } returntotal; } } 18、同一个数组能否存放不同类型的数据? 答案: 不能存放不同类型的数据? 19、数组对象的哪个成员变量可以测出数组元素的个数? 答案: length 20、定义一个一维数组,求出数组的最大值、最小值、平均值。 publicclassArrayNum{ publicstaticvoidmain(String[]args){ intpar[]={5,7,3,9,1,23,54,35,57,76,44,64}; intmin,max,sum=0; min=max=par[0]; for(inti=0;i if(min>par[i]) min=par[i]; if(max max=par[i]; sum=sum+par[i]; } System.out.println("min="+min); System.out.println("max="+max); System.out.println("avg="+sum/par.length); } } 21、利用二维数组,任意给出一个矩阵,编写出现实现矩阵转置的代码。 importjava.util.Scanner; publicclassMatrices{ publicstaticvoidmain(Stringargs[]){ Scannerreader=newScanner(System.in); intcount,count1; doublea[][]; System.out.println("请输入行数: "); count=reader.nextInt(); System.out.println("请输入列数: "); count1=reader.nextInt(); a=newdouble[count][count1]; System.out.print("请按列输入数据,按回车确认"); intk=0; while(k intp=k+1; intm=0; System.out.println("\n第"+p+"列的元素是: "); while(m doublex=reader.nextDouble(); a[m][k]=x; m=m+1; } k=k+1; } System.out.println("您输入的矩阵是: "); for(inti=0;i for(intj=0;j System.out.printf("%9.3f",a[i][j]); System.out.printf("%9.3f\n",a[i][count1-1]); } System.out.println("其转置矩阵是: "); for(intj=0;j for(inti=0;i System.out.printf("%9.3f",a[i][j]); System.out.printf("%9.3f\n",a[count-1][j]); } } } 22、任意给出一个十进制整数,将十进制数转换为二进制数。 publicstringDtoB(intd){ stringb=""; //判断该数如果小于2,则直接输出 if(d<2) { b=d.ToString(); } else { intc; ints=0; intn=d; while(n>=2) { s++; n=n/2; } int[]m=newint[s]; inti=0; do { c=d/2; m[i++]=d%2; d=c; }while(c>=2); b=d.ToString(); for(intj=m.Length-1;j>=0;j--) { b+=m[j].ToString(); } } returnb; } 23、编写一个程序判断字符串"Tom"是否在另一个字符串"IamTom,IamfromChina."中出现。 publicclassIsString{ publicstaticvoidmain(Stringargs[]){ Stringa="Tom"; Stringb="IamTom,IamfromChina."; System.out.println(containsAny(b,a)); } publicstaticbooleancontainsAny(Stringstr,StringsearchChars){ for(inti=0;i<=str.length();i++){ inttemp; temp=str.indexOf(searchChars); if(temp>=0) returntrue; else returnfalse; } returnfalse; } } 24、编写一个程序找出字符串"MynameisTom,IcomefromChina."中的大写字母,并打印输出。 publicclassC{ publicstaticvoidmain(Stringargs[]){ intj=0;//j为计数器累加大写字母个数 Stringstr=args[0];//取得命令行传过来的字符 intc=str.length();//测试字符串长度 /** *下面用循环来遍历这个字符串判断是否为大写字母 **/ for(inti=0;i Charactercc=str.charAt(i); booleand=Character.isUpperCase(cc); if(d){ j+=1; } } System.out.println("字符串"+str+"中包含"+j+"个大写字母! "); } } 25、简述Java中类和对象的关系? 答案参考: 类型是对一组对象的抽象,提取了这一组对象的共同特点。 这些对象本身是客观存在的,是具体的,而类型则是一个抽象的概念,不是一个客观存在。 类型是抽象的。 如果为某个类型的所有属性赋值,将会得到一个具体的对象,对象是类型的实例。 认识类型和对象之间的关系,先是根据这些具有相同特征的对象抽象出一个类型,然后需要的时候,根据类型的特征去描述这个对象。 26、类的静态成员的特点是什么? 如何定义静态成员? 答案: 类的静态成员属于整个类,不属于具体的对象实例,用ststic定义。 27、方法中的局部变量是否可以和类的成员变量重名? 答案: 可以,使用时候通过this区别。 28、对象如何进行初始化? 在什么时候进行? 答案: 对象在创建的时候调用构造方法进行初始化,在new构造方法()的时候进行。 29、抽象类可以生成实例对象吗? 为什么? 答案: 不能生成实例对象,因为抽象类是不能实例化的类。 30、什么样的方法是抽象方法,为什么使用抽象方法? 答案: 抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体。 31、编写一个类,类名为Rectangle(矩形),它有两个整型成员变量width(宽)和height(高);有一个方法名称为area(),没有参数,返回类型为double,功能是求矩形面积;还有一个方法名称为perimeter(),没有参数,返回类型为double,功能为求矩形的周长。 publicclassRectangleTest{ publicstaticvoidmain(String[]args){ intwidth=10; intheight=5; Rectanglerectangle=newRectangle(width,height); System.out.println("长方形的长是: "+width+",宽是: "+height); System.out.println("其周长是: "+rectangle.getRectanglePerimeter()); System.out.println("其面试是: "+rectangle.getRectangleArea()); } } classRectangle{ privateintwidth; privateintheight; publicRectangle(intwidth,intheight){ this.width=width; this.height=height; } publicintgetRectanglePerimeter(){ return(2*width)+(2*height); } publicintgetRectangleArea(){ returnwidth*height; } } 32、用Java实现如下的骰子游戏: 丢下两个骰子,若分值的总值为7点,则赢,否则输。 提示: (1)定义Die类。 Die类表示一个骰子有faceValue属性,有roll()和getFaceValue()方法。 roll()方法是产生1~6的随机整数为faceValue属性赋值。 getFaceValue()是取出faceValue的值。 (2)定义DiceGame类。 DiceGame类有die1、die2两个属性,有一个play()方法。 play()方法返回一个Boolean类型,true表示分值的总值为7点,否则为false。 (3)定义Test类,对上面定义的类进行测试。 publicclassDie{ privateintfaceValue; publicintgetFaceValue(){ returnfaceValue; } publicvoidsetFaceValue(intfaceValue){ this.faceValue=faceValue; } publicvoidroll(){ this.faceValue=(int)(Math.random()*6+1); } } publicclassDieGame{ privateDiedie1=newDie(); privateDiedie2=newDie(); publicstaticvoidmain(String[]args){ DieGamedieGame=newDieGame(); if(dieGame.play()){ System.out.println("你赢了! "); }else{ System.out.println("你输了! "); } } publicbooleanplay(){ die1.roll(); System.out.println("第一次点数: "+die1.getFaceValue()); die2.roll(); System.out.println("第二次点数: "+die2.getFaceValue()); if(die1.getFaceValue()+die2.getFaceValue()==7){ returntrue; }else{ returnfalse; } } } 33、构造一个Calendar类的实例对象,求当前时间(小时: 分钟: 秒)。 importjava.util.Calendar; publicclassMyCalendar{ publicstaticvoidmain(String[]args){ Calendarcalendar=Calendar.getInstance(); inthour=calendar.get(Calendar.HOUR); //默认取到月的值1月是0,所以都要加1 intminute=calendar.get(Calendar.MINUTE); intsecond=calendar.get(Calendar.SECOND); System.out.println("现在时间是: "+hour+"点"+minute+"分钟"+second+"秒"); } } 34、什么是异常? 为什么要进行异常处理? 异常是指程序的运行错误。 这些错误通常在程序编译时无法发现,只有等到程序运行时才会出问题。 如果对运行中的错误不处理,程序将中断退出,无法保证程序继续正常运行。 当然异常的存在不单单是影响到程序的正常运行,更为严重的是有些异常如果不处理,甚至导致程序编译错误,无法正常启动。 35、Java中的异常处理机制是什么? Java语言主要提供两种处理异常的机制: (1)捕获异常。 当Java运行时系统得到一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。 找到能够处理这种类型的异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。 这是积极的异常处理机制。 如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。 (2)声明抛出异常。 如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃(throws)异常。 这是一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 题库