初级java程序员笔试题.docx
《初级java程序员笔试题.docx》由会员分享,可在线阅读,更多相关《初级java程序员笔试题.docx(30页珍藏版)》请在冰豆网上搜索。
初级java程序员笔试题
初级java程序员笔试题
标签:
Java面试题
第一题:
判断题
1.Java语言是一种面向对象程序设计语言。
(对)
2.在Java有布尔类型,该类型只能有两个值:
1和0。
(错)
3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。
(错)
4.在Java中字符串的长度和字符串中字符的个数是相等的。
(对)
5.程序中的异常是错误的一种,通过调试程序可以解决异常。
(错)
6.使用Java语言既可以读写二进制文件,又可以读写文本文件。
(对)
7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。
(错)
8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。
(对)
9.调试Java程序也就是运行Java程序,使用java命令即可完成。
(错)
DJava应用程序经编译后可直接在浏览器中运行
4、以下有关标识符说法中正确的是(C)
A、任何字符的组合都可以形成一个标识符
B、Java的关键字也可以作为标识符使用
C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合
D、标识符是不分大小写
5、以下说法正确的是(D)
A、基本字符数据类型有字符和字符串两种
B、字符类型占两个字节,可保存两个字符
C、字符类型占两个字节,可保存一个字符
D、以上说法都是错误的
6、以下有关类型转变的说法错误的是(D)
A、低精度类型向高精度类型转换时,不会丢失数据精度
B、系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换
C、高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失
D、高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的
7、以下正确的关系表达式(D)
A、x≥yB、x+yzC、>=xD、x+y!
=z
8、以下正确的逻辑表达式(A)
A、(x+y>7)&&(x-y<1)B、!
(x+y)
C、(x+y>7)||(z=a)D、(x+y+z)&&(z>=0)
9、以下有关条件运算符(?
:
)说法正确的是(D)
A、条件运算符是一个三元运算符,其格式是:
表达式1?
表达式2:
表达式3
B、格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值
C、若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值
D、以上说法都正确
10、在if(表达式)语句中,“表达式”的值必须是(C)
A、任意整数值B、字符串C、布尔逻辑值D、非零值
11、在switch(表达式)语句中,“表达式”的值必须是(D)
A、整数值B、字符值C、布尔逻辑值D、整数或字符值
12、下列关于for循环和while循环的说法中,正确的是(A)
A、while循环能实现的操作,for循环也能实现
B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C、两种循环任何时候都可以替换
D、两种循环结构中必须都有循环体,循环体不能为空
13、下面表达式中,用来访问数组中的第一个值的是(C)
A、intArray[1]B、intArray.1C、intArray[0]D、intArray.0
14下面的表达式中正确的是(C)
Strings=”你好”;if(s==”你好”)System.out.println(true);
Strings=”你好”;if(s!
=”你好”)System.out.println(false);
Strings=”你好”;if(s.equals(”你好”))System.out.println(true);
Strings=”你好”;if(equals(s,”你好”))System.out.println(true);
15Stringstr;System.out.println(str.length());以上语句的处理结果是(A)
A、编译报错B、运行结果是nullC、运行结果为0D、随机值
16、执行String[]s=newString[10];代码后,下面结论正确的是(D)
A、s[10]为””B、s[10]为null
C、s[0]未定义D、s.length为10
17、构造器(B)被调用。
A、类定义时B、创建对象时
C、调用对象方法时D、适用对象的变量时
18、Java中访问限定符不包括(C)
A、publicB、privateC、defaultD、final
19、有关方法重载的正确说法是(AC)
A、方法的名称一致,限定符不同B、方法的名称一致,限定符相同
C、方法的名称一致,返回值不同D、其他都一致,只有参数定义不同
20、如果任何包中的子类都能访问超类中的成员,则使用的限定符是(A)
A、publicB、privateC、protectedD、transient
21、有关继承下面的说法正确的是(C)
A、继承的主要目的是隐藏类的属性
B、在Java中,一个类可以从多个类中继承属性和方法
C、继承体现了事物的普遍性和特殊性
D、继承允许子类继承父类中的构造器
22、在下列事件处理机制中不是时间组件的是(C)
A、事件对象B、事件源C、接口D、事件处理器
23、下面说法不正确的是(BD)
A、Java中线程是抢占式的B、Java中线程是分时式的
C、Java中的线程可以共享数据D、Java中的线程可以共享代码
24、下列关于Java线程的说法正确的是(D)
A、每一个Java线程由代码、一个真实的CPU以及数据3部分组成
B、创建线程的两种方法中,从Thead类中继承的创建方式可以防止出现多父类问题
C、Thead类属于java.util程序包
D、以上说法都不正确
25、下面关键字用来处理Java运行时的错误的是(A)
A、try和catch块B、try、catch和finally块
C、try块和throw语句D、throw语句和catch块
26.一个Java源程序编译后生成的文件为Test.class,则运行该程序应该使用的命令为(C)。
(A)javacTest(B)javacTest.class
(C)javaTest(D)javaTest.class
27.下面数据类型的定义中错误的是(C)。
(A)inta=10;(B)doubled=1.2;
(C)floatf=1.2;(D)charc=‘A’;
28.类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性属于类的(A)。
(A)封装性(B)继承性
(C)多态性(D)重载
29.以下关于字符串类的说法正确的是(B)。
(A)String类用于字符串变量,而StringBuffer类用于字符串常量
(B)String类用于字符串常量,而StringBuffer类用于字符串变量
(C)String类的对象只能用“new”关键字生成
(D)StringBuffer字符串的容量是指字符串中字符的个数
30.在Java的异常处理语句中对finally的描述正确的是(A)。
(A)不管是否发生异常,finally中的程序都要执行
(B)只有不发生异常时,finally中的程序才需要执行
(C)只有异常发生时,finally中的程序才需要执行
(D)不管是否发生异常,finally中的程序都不会执行
31.在子类的定义中有一个和父类同名的成员函数,这一现象称为函数的(B)。
(A)继承(B)覆盖
(C)错误(D)重载
32.下面哪种注释能支持javadoc命令(C)。
(A)//(B)/*……*/
(C)/**……*/(D)都能支持
33.在Java中如果使正在运行的线程进入睡眠状态,可以调用线程的哪一个方法。
(B)
(A)wait()(B)sleep()
(C)stop()(D)notify()
34.设有数组的定义int[]a=newint[3],则下面对数组元素的引用错误的是(D)。
(A)a[0];
(B)a[a.length-1];
(C)inti=1;a[i];
(D)int[2>1];
35.关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)
(A)可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
(B)可以被两种类访问和引用:
该类本身、该类的所有子类
(C)只能被该类自身所访问和修改
(D)只能被同一个包中的类访问
36.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(C)。
(A)public(B)private
(C)static(D)final
37.下面哪个是对字符串String的正确定义。
(A)
(A)Strings1=“\n\tnull”;
(B)Strings2=‘null’;
(C)Strings3=(String)‘abc’;
(D)Strings4=(String)‘\uface’;
38.给出一段程序,试判断哪个是正确的结果。
(D)
publicclassTest{
publicstaticvoidmain(Stringargs[]){
try{System.out.print(“Helloworld”);}
finally{System.out.println(“Finallyexecuting”);}
}
}
(A)无法编译运行,因为没有指定异常
(B)无法编译运行,因为没有catch子句
(C)Helloworld
(D)HelloworldFinallyexecuting
39.下面哪项可以得到数组元素的个数,java中定义数组名为abc。
(B)。
(A)abc.length()(B)abc.length
(C)len(abc)(D)ubound(abc)
40、Applet类中的直接父类是(D)
A、Component类B、Container类C、Frame类D、Panel类
第三题:
填空题
常用的Java语言开发工具有__JCreater_____和_jbuilder_____,本书采用__eclipse_____。
Java源程序是由__package____、___import____、_ClassDefinition______和___INTERFACEdEFINITION____组成的。
HTML语言的语法比较简单,所有标记符都用_尖括号__括起来。
DOS操作系统是按照树形目录结构管理文件的,位于最上层的目录为__根目录_____,每个目录上一层目录为该目录的___父目录_____,下一层目录为该目录的___子目录____。
5、变量的作用范围是由__数据类型_____决定的,可以分成___静态____和_____动态__。
6、__控制组件_____是图形用户界面的最小单位之一,它里面不在包含其他的元素。
例如___单选按钮___、___文本框___和____菜单命令___。
7、在面向对象设计过程中,通过对象的____属性___和__方法_____两个方面来描述对象。
8、使用面向对象方法解决问题的过程可以大体划分为__总结____、__抽象___和_____加工_3大步骤。
9、数组是___元素____的集合。
每个数组都有长度,也就是其___元素个数____。
求数组长度的语句是___数组名.length数组num_1和num2______。
10、如果声明了一个长度为100的boolean类型的数组boo,则其第一个元素为____ture___,最后一个元素为__boo[99]__。
11、所谓排序是指___将数据按一定规律排列起来___。
到目前为止最常用的排序方法有___插入___、___选择__和____交换____等排序法。
不论使用哪种排序方法编写Java程序,其最根本的操作是___将无序记录调整为有序记录________。
12、如果一个方法没有返回值,则该方法类型为___.类的构造____。
13、方法的__覆盖_____是指在同一类中,声明方法名称相同但参数不同的多个方法。
14、实例变量的修饰符可以是_类中的非静态变量___,但是不能使用__abstract_____;静态变量使用___privatepublicprotectedfinal
____修饰符。
15、在类的构造方法和实例方法中,使用关键字__this____可以解决局部变量与实例变量同名的问题。
16、如果希望某个变量可以被类本身访问和调用,则应该使用___private____修饰符。
17、在Java语言中,.包____是组织Java程序中类的一种手段,其作用与Window系统中的____文件夹___类似。
18,、接口中的方法均是使用修饰符__public_____和关键字___abstract
____修饰。
19、抽象方法不能使用修饰符__final_____和___virtual___修饰。
20、图形用户界面中的复选框和单选按钮可以分别通过Swing中的___Checkbox____类和__JFrame_____类来创建。
第四题:
程序填空:
1.根据下面程序段写出输出结果。
inta=1,b=2;
Stringstr=“hello”;
System.out.println(str+a+b);
System.out.println(a+b+str);
程序两次输出结果分别为:
hello12
3hello
2.publicstaticvoidmain(string[]args){
Intsum=0;
For(inti=1;i<=101;i++){
Sum+=I;
}
System.out.println(“1到101的累加和是:
”+sum);
}
1到101的累加和是:
5151
第五题:
简答题
1Java语言有哪些特点?
P2
2每一个Java应用程序有几个main()方法?
main()方法处于程序的位置不同时,程序运行时开始点是否还是在main()方法处?
第六题:
编程题:
1编写一个名为PrintArguments的程序,打印从命令行中获取的四个参数。
例如在命令行中输入”javaPrintArguments10203040”时,将打印出”10203040”.
publicclassPrintArguments{
publicstaticvoidmain(String[]args){
if(args.length!
=4)
{System.out.println(“Pleaseinput4arguments”);
System.exit(0);
}
for(inti=0;i<4;i++)System.out.print(args[i]+”“);
}
}
标签:
Java面试题
1.结构化程序设计有哪三种流程?
他们分别对应Java中那些语句。
结构化程序设计有三种基本流程:
循环、分支和顺序。
Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。
2.在一个循环中使用break、continue和return有什么不同?
break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。
continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。
在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。
3.面代码将输出:
________
a=9;b=18;c=4;d=14;e=-14;f=-2
g=18.4;h=2.3999999999999986;i=5;j=3;k=5
public class test3{
public static void main(String args[]){
int a=5+4;
int b=a*2;
int c=b/4;
int d=b-c;
int e=-d;
int f=e%4;
double g=18.4;
double h=g%4;
int i=3;
int j=i++;
int k=++i;
System.out.println(“a=”+a+”;b=”+b+”;c=”+c+”;d=”+d+”;e=”+e+”;f=”+f);
System.out.println(“g=”+g+”;h=”+h+”;i=”+i+”;j=”+j+”;k=”+k);
}
}
4.下面代码将输出:
________
25<3=false
3!
=0&&25/3>5=true
0!
=0&&25/0>5=false
public class LogicTest{
public static void main(String args[]){
int a=25,b=3;
boolean d=a
System.out.println(a+”<“+b+”=”+d);//=;
int e=3;
d=(e!
=0&&a/e>5);
System.out.println(e+”!
=0&&”+a+”/”+e+”>5=”+d);
int f=0;
d=(f!
=0&&a/f>5);
System.out.println(f+”!
=0&&”+a+”/”+f+”>5=”+d);
}
}
5.编写程序,求两个整数的最大公约数。
import java.util.Scanner;
public class Gcd_Lcm{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println(“输入2个数:
以‘,’ 隔开“);
String []str = sc.next().split(“,”);
int m = Integer.parseInt(str[0]);
int n = Integer.parseInt(str[1]);
int min = m>n?
n:
m;
int max = m>n?
m:
n;
int num1 =1;
int num2 = max;
for (int i = min; i>0; i–) {
if (m%i==0&&n%i==0) {
num1 = i;break;
}
}
while (true) {
if (num2%m==0&&num2%n==0) {
break;
}
num2 = m*n>num2*2?
num2*2:
m*n;
}
System.out.println(“最大公约数:
“+num1+” 最小公倍数:
”+num2);
}
}
6.编写程序,打印出如下九九乘法表。
* | 1 2 3 4 5 6 7 8 9
——-|——————————————————-
1 | 1
2 | 2 4
3 | 3 6 9
4 | 4 8 12 16
5 | 5 10 15 20 25
6 | 6 12 18 24 30 36
7 | 7 14 21 28 35 42 49
8 | 8 16 24 32 40 48 56 64
9 | 9 18 27 36 45 54 63 72 81
public class NineByNineMul{
public static void main(String args[]){
System.out.print(“ * |”);
for(int i=1;i<=9;i++){
System.out.print(“ ”+i+” ”);
}
System.out.println();
System.out.print(“——-|—–”);
for(int i=1;i<=9;i++){
System.out.print(“—–”);
}
System.out.println();
for(int i=1;i<=9;i++){
System.out.print(“ ”+i+” | ”);
for(int j=1;j<=i;j++){
System.out.print(i*j+” ”);
}
System.out.println();
}
}
}
7.下面代码将输出:
one two default
int i = 1;
switch (i) {
case 0:
System.out.println(“zero”);
break;
case 1:
System.out.println(“one”);
case 2:
System.out.println(“two”);
default:
System.out.println(“default”);
}
8.下面代码将输出:
Equal
class EqualsTest {
public static void main(String[] args) {
char a=’\u0005′;
String s=a==0x0005L?
“Equal”:
”Not Equal”;
System.out.println(s);
}
}
9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。
public class booktest {
public static void main(String[] args) {
int a[]={30,1,-9,70,25};
System.out.print(“数组原始顺序:
“);
for (int i=0;i