第1章java语言概述习题 一、填空题
1、面向对象程序的主要特征:继承,______封装_________,______多态________。
2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重复或者复用___.
3、java语言中,为将源代码翻译成_字节码___文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java是java语言中的解释行器,基本语法是:java[选项]___类名___.
5、java语言的主要贡献者是谁_James Gosling________ 二、单选题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名( )。 A、java B、.class C、html D、.exe
2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下()项是合法的。
A、public static void main()
B、public static void main(String args[]) C、public static int main(String[] arg) D、public void main(String arg[]) 三、判断题
1、Java语言具有较好的安全性和可移植性及与平台无关等特性。对 2、Java语言的源程序不是编译型的,而是编译解释型的。对 四、问答题
1、编写、运行java程序需要经过哪些主要步骤? 2、阅读下列
java源代码文件,并回答问题 public class Speak{
void speakHello(){
System.out.println(\} }
class Xiti8{
public static void main(String args[]){ Speak sp=new Speak(); sp.speakHello(); } }
(1)上述源文件的名字是什么?
(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?
第2章(1)基本数据类型练习题 一、填空题
1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.
2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_ float __和__double__两种具体类型。
3、Java中的浮点类型有两类,分别是float和double类型,其中float取_7__位有效数据,double取_15__位有效数据。 4、布尔类型常量只有两个__true___和_false_____,其中前者表示逻辑真,后者表示逻辑假。 5、浮点型常量又称实型常量,用于表示有小数部分的十进制数,它有两种表示形式:_小数点形式_____和___指数形式_____。
6、java语言中的各种数据类型之间提供自动转换,如第一种操作数为byte,而第二种操作数为float,则其结果是__float___类型。
7、java语言的各种数据类型之间提供两种转换,分别是__自动转换__和__强制转换___。 8、开发与运行Java程序需要经过的三个主要步骤为编译源程序、编译生成字节码和解释运行字节码。
9、Java程序中的单行注释符是( //),多行注释符是(/* */ )。 10、Java中布尔类型的常量有两种,它们是(true )和(false)。 11、Java中用于定义小数的关键字有两个:( float )和( double ),后者精度高于前者。 二、多选
1、下面有关char类型数据的定义中,正确得是________? A. char ch = “a”; B. char ch = ‘\\’‘; C. char ch = ‘cafe’; D. char ch = “cafe”; E. char ch = ‘\?’; F. char ch = ‘\?0’; G. char ch = (char) true;
三、判断
1、Java语言使用的是Unicode字符集,每个字符在内存中占8位。错
2、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。对 四、单选
1、以下哪个不是Java的基本数据类型() A、int B、Boolean C、float D、char 2、如下哪个是Java中有效的关键字( ) A、name B、hello C、false D、good
第2章(2)数组练习题 一、填空题
1、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0-4)。 二、多选
1、定义如下的二维数组b,下面的说法正确的是( )。 int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};
A)b.length的值是3。 B)b[1].length的值是3。 C)b[1][1]的值是5。
D) 二维数组b的第一行有3个元素 三、单选
1、以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg
D、StringBufferargs[]
2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).
A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2
3、应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c,回车后输出的结果是 ( )。
public class Test {
public static void main(String args[]) { int k1=args.length; int k2=args[1].length();
System.out.print(k1+\ } }
A) 3 2 B)1 2 C) 1 3 D) 3 3
4、关于下面代码的说法()是正确的? public class Example{
public static void main(String[] args){ int[] arr= new int[10]; System.out.println(arr[1]); } }
A、编译时产生错误
B、编译时正确,运行时将产生错误 C、输出零
D、输出空(null)
第3章(1)运算符&表达式&if语句练习题 一、填空 1、Java中,除了__字符型___和__布尔型___外,其他的所有的基本数据类型都支持加,减,乘,除四则运算。
2、短路逻辑运算符包括__&&____和__||____。
3、Java提供了&,&&和|,||运算符,除了一点外,&运算符和&&运算符在使用中完全相同,|运算符和||运算符也相同。它们的不同点在于:__&__运算符和_|__运算符中的两个运算对象都要运算。
4、顺序执行以下两个语句的输出结果是:____10___。 String s=”我喜欢学习java!”; System.out.println(s.length());
5、下面代码定义了两个整型变量和一个字节型变量,则将num1+num2的值赋给num3变量的语句是__num3=(byte)(num1+num2)___________。 int num1 = 53; int num2=47; byte num3;
6、下面代码中,“Type”应该换成什么类型___double_____? public class ReturnIt {
return Type methodA(byte x, double y) { return (long)x / y * 2; } }
7、Java语言提供了两条基本的分支选择语句:__if__语句和_switch___语句 8、以下程序段的输出结果为__Message four__。 int x=0,y=4, z=5; if ( x>2){
if (y<5){
System.out.println(“Message one”); }else {
System.out.println(“Message two”); }
}else if(z>5){
System.out.println(“Message three”); }else {
System.out.println(“Message four”); }
二、单选
1、下面选项中,_____的值与3*4的值相等? A. 3/2 B. 3<2 C. 3*2^2 D. 3<<2
2、下面选项中,_____的值与16/2^12的值相等? A. 16>4 B. 16/2 C. 16*4 D. 16>>2 E. 16>>>2
3、有以下方法的定义,请选择该方法的返回类型()。 ReturnType method(byte x, double y) {
return (short) x/y*2; }
A、byte B、short C、int D、double
第3章(2)switch&循环语句练习题 一、填空题
1、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。 int s = 0 ;
for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s);
2、下面程序段的执行结果是(6 5 4 3 2) int a[] = { 2, 3, 4, 5, 6 };
for (int i = a.length - 1; i >= 0; i--) System.out.print(a[i] + \
3、以“java Sub 3”运行以下程序的结果是:3th season___。 public class Sub{
public static void main(String[] args) { int i=Integer.parseInt(args[0]); swich(i) {
case 1: System.out.println(“First season”); break; case 2: System.out.println(“Second season”); break; case 3: System.out.println(“3th season”); break; case4: System.out.println(“Last season”); break; }
} }
4、switch(X)中,X可以接受的类型有_char ____,__byte_____,short,int。 5、以下程序段的输出结果为__Value istwo.Value is three.______。 int j=2; switch ( j ) {
case 2: System.out.print(“Value is two.”);
case 2+1 : System.out.println(“Value is three.”); break; default: System.out.println(“value is “+j); break; }
6、如果x=2;则下面程序执行后的结果是__34____? switch (x) {
case 1: System.out.println(1); case 2:
case 3: System.out.print (3); case 4: System.out.println(4); }
7、下面代码执行结束后l和j的值分别是_l=5,j=6_____? public static void main(String[] args) {