1、填空题
1、 Java源程序文件的后缀是*.java ,Java字节码文件的后缀名称是*.class 。
2、 Java依靠程序实现可移值,实现可移值JVM 。
3、 Java语言的三个分支是:JAVA SE 、JAVA ME 、JAVA EE 。
4、 Java程序由类 组成,如果Java使用public class 声明类,文件名必须与类名一致。
5、 Java执行是从main() 该方法的完整定义开始实施public static void main(String args[]) 。
6、 在命名标准方面,Java每个单词的首字母通常需要大写 。
7、 当使用java当命令解释程序时,必须需要 classpath 定位环境属性的资源路径;
2、选择题
1、 以下是解释Java使用命令的程序?(A)
A、 java.exe B、 javac.exe C、 keytool.exe D、 cmd.exe
2、 下面的环境变量java解释所需要的B 。
A、 path B、 classpath C、 JAVA_HOME D、TEMP
3、 下面的开发方向不属于Java定义的?C
A、 JavaSE B、 Java EE C、 JavaCE D、JavaME
3、判断题
1、 Java语言属于编译开发语言。 ( × )
2、 Java Application程序不是由main()方法开始执行。 ( × )
4 、简答题
1、 简述Java实现可移值的基本原理。
答:Java编程语言属于编译和解释,所有*.java程序必须编译成*.class文件可以在计算机上执行,执行*.class文件计算机不是真正的计算机,而是使用软件和硬件模拟的虚拟计算机,称为Java对于不同的操作系统平台,虚拟机有不同的版本Java虚拟机,即:由Java只要虚拟机适应不同的操作系统,即:Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。
2、 简述Java语言的三个程序分支。
答: JAVA SE(Java标准版):提供基础Java类库及平台支持:
JAVA ME(Java提供嵌入式开发支持:
JAVA EE(Java企业版):提供企业平台支持。
3、 简述Java中path及classpath的作用。
答: PATH:操作系统的环境属性是指可执行命令的程序路径;
CLASSPATH:是所有*.class执行文件的路径,java在执行命令时,将使用此路径加载所需的*.class文件。
4、 简述Java语言的主要特征。
答: Java语言的主要特点如下:
1、 Java语言是一门面向对象语言,且语法足够简单;
2、 Java避免了C/C 复杂的指针关系采用更简单的引用方法传递内存;
3、 Java是为数不多的支持多线程开发的编程语言之一;
4、 Java提供定期释放无用垃圾空间的自动垃圾收集机制;
5、 Java语言的安全性较高;
6、 Java最大的特点是可移植性,即同一程序可以在不同的操作系统上运行。
5、 详细阐述Java中使用public class或class声明一个类区别和注意事项。
答: 使用public class定义的类别要求文件名称和类别名称保持一致,在一个*.java文件中只能存在一个文件public class;
使用class对于定义的类,文件名称可以与类名称不一致,在一个类中*.java多个文件可以同时存在class定义,编译后会产生多个*.class文件。
label>5、编程题
1、 在屏幕上输出:“我喜欢学习 Java”的信息。
答案:
System.out.println("我喜欢学习 Java"); } } |
2、 在屏幕上打印出以下的图形:
*************************************
********* Java 程序设计 *********
*************************************
答案:
System.out.println("*************************************"); System.out.println("********* Java 程序设计 *********"); System.out.println("*************************************"); } } |
第2章 简单Java程序 —— 自我检测(答案)
1、填空题
1、 Java中的标识符组成原则: 由字母、数字、下划线、$所组成,其中不能以数字开头,不能是Java的关键字 。
2、 assert 关键字是在JDK 1.4时加入的, enum 关键字是在JDK 1.5时加入的。
3、 列举出已经知道的5个关键字: public、static、void、int、double 。
4、 Java注释分为以下三种: 单行注释(//) 、 多行注释(/* …*/) 、 文档注释 。
5、 Java中使用 int 关键字,可以定义一个整型数据。
6、 在一个Java源文件中定义了3个类和15个方法,编译该Java源文件时会产生 3 个字节码文件,其扩展名是 *.class 。
7、 布尔型数据类型的关键字是 boolean ,有 true 和 false 两种取值。
8、 整型数可以采用 byte 、 short 、 int 和 long 四种类型表示。
9、 根据占用内存长度的不同将浮点型分为 float 和 double 两种。
10、 Java程序结构分为: 顺序结构 、 分支结构 、 循环结构 三种。
11、 逻辑表达式:true&&false&&true的结果是 false 。
12、 逻辑表达式:!true||false的结果是 false 。
13、 在方法中可以使用 return 语句来结束方法的执行。
14、 方法中的 void 关键字用来表示方法不返回任何值。
2、选择题
1、 下面那些标识符是正确的 D 。
A、 class B、 hello world C、 123$temp D、 Demo
2、 下面那些关键字是Java中未使用到的关键字 A、B (多选)。
A、 const B、 goto C、 int D、 assert
3、 public static void main方法的参数描述是: A 。
A、 String args[] B、 int[] args C、 Strings args[] D、 String args
4、 下面说法正确的是 C 。
A、 Java程序的源文件名称与主类(puublic class)的名称相同,后缀可以是.java或.txt等。
B、 JDK的编译命令是java。
C、 一个java源文件编译后可能产生多个class文件。
D、 在命令行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。
5、 下面说法不正确的是 A 。
A、 Java语言是面向对象的、解释执行的网络编程语言
B、 Java语言具有可移植性,是与平台无关的编程语言。
C、 Java语言可对内存垃圾自动收集。
D、 Java语言执行时需要Java的运行环境。
6、 下面 A 不是Java的关键字。
A、 integer B、 double C、 float D、 char
7、 在Java中,字节数据类型的关键字和默认值是 A 。
A、 byte和0 B、 byte和1 C、 boolean和true D、 boolean和false
8、 3.15E2表示的数据是 C 。
A、 3.15 × 2 B、 3.15 × 10-2 C、 3.15 × 102 D、 0.315 × 10-2
9、 程序System.out.println("1 + 1 = " + 1 + 1) ;的输出结果是 C 。
A、 1 B、 1 + 1 = 2 C、 1 + 1 = 11 D、 2
10、 程序System.out.println(10 / 3) ;的输出结果是 B 。
A、 1 B、 3 C、 3.3 D、 3.33333
11、 执行下面的语句后,a、b、c的值分别是 C 。
int a = 2 ;
int b = (a++) * 3 ;
int c = (++a) * 3 ;
A、 2、6、6 B、 4、9、9 C、 4、6、12 D、 3、9、9
12、 以下的 B 能正确表示Java语言中的一个整型常量。
A、 35.d B、 -20 C、 1,234 D、 "123"
13、 下面的数据类型 D 是float型
A、 33.8 B、 129 C、 89L D、 8.6F
14、 下列关于自动类型转换的说法中,正确的一个是 B 。
A、 int类型数据可以自动转换为char类型数据
B、 char类型数据可以被自动转换为int类型数据
C、 boolean类型数据不可以做自动类型转换,但是可以做强制转换
D、 long类型数据可以被自动转换为short类型数据
15、 一个方法在定义过程中又调用自身,这种方法称为 B 。
A、 构造方法 B、 递归方法 C、 成员方法 D、 抽象方法
3、判断题
1、 变量的内容可以修改,常量的内容不可修改。 ( √ )
2、 goto是Java中未使用到的关键字。 ( √ )
3、 enum关键字是在JDK 1.4版本中增加的。 ( × )
4、 使用public class定义的类,文件名称可以与类名称不一致。 ( × )
5、 主方法编写:public void main(String arg)。 ( × )
6、 字符$不能作Java标识符的第一个字符。 ( × )
7、 System.out.println()输出后是不加换行的,而System.out.print()输出后是加换行的。 ( × )
8、 使用break语句可以跳出一次循环。 ( × )
9、 byte的取值范围是:0~255。 ( × )
10、 int和double进行加法操作,int会自动转换为double类型。 ( √ )
11、 使用“&”操作时,如果第一个条件是false,则后续的条件都不再判断。 ( × )
12、 使用“&&”操作时,如果第一个条件是false,则后续的条件都不再判断。 ( √ )
13、 使用“|”操作时,如果第一个条件是true,则后续的条件都不再判断。 ( × )
14、 使用“||”操作时,如果第一个条件是true,则后续的条件都不再判断。 ( √ )
15、 定义多个同名方法时,可以依靠返回值区别同名方法。 ( × )
4、简答题
1、 请解释常量与变量的区别?
答: 常量就是一个固定的数值。是不可改变的,例如:数字1、2就是一个整型的常量。
变量是利用声明的方式,将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。变量在程序语言中扮演了最基本的角色。变量可以用来存放数据,而使用变量之前必须先声明它的数据类型。
2、 解释方法重载的概念,并举例说明。
答: 方法重载指的是多个方法的方法名称相同,但是方法中的参数类型及个数不同。
代码说明:
} } } |
5、编程题
1、 打印出100~1000范围内的所有 “水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
i = x / 100; // 计算百位数字 j = (x / 10) % 10; // 计算十位数字 k = x % 10; // 计算个位数字 System.out.print(x + "、"); } } } } |
|
|
153、370、371、407、 |
2、 通过代码完成两个整数内容的交换。
|
实现二:利用数学计算完成 |
x = y; y = temp; System.out.println("x = " + x); System.out.println("y = " + y); } } |
x += y ; y = x - y; x = x - y ; System.out.println("x = " + x); System.out.println("y = " + y); } } |
|
x = 20 y = 10 |
3、 判断某数能否被3,5,7同时整除。
System.out.println(data + "可以同时被3、5、7整除。"); } System.out.println(data + "不可以同时被3、5、7整除。"); } } } |
|
|
105可以同时被3、5、7整除。 |
4、 编写程序,分别利用while循环、do…while循环和for循环求出100~200的累加和。
|
sum += x; x++; } System.out.println("累加结果:" + sum); } } |
|
sum += x; x++; } System.out.println("累加结果:" + sum); } } |
|
sum += x; } System.out.println("累加结果:" + sum); } } |
第3章、面向对象(基础) —— 自我检测(答案)
1、填空题
1、 面向对象有那三大特征: 封装 、 继承 、 多态 。
2、 类由 属性 和 方法 组成。
3、 new 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的 构造方法为对象 实例化 。
4、 使用 private 修饰的类成员称为私有成员。私有成员只能在 类 中使用。
5、 构造方法的名称与 类名称 相同。
6、 private 关键字可以让类中的属性和方法对外部不可见。
7、 this关键字可以调用本类中的 属性 、 方法 、 构造方法 ,调用 构造方法 时必须放在 构造方法 的首行。
8、 在Java中数组排序的方法是 java.util.Arrays.sort() 。
2、选择题
1、 如果希望方法直接通过类名称访问,在定义时要使用的修饰符是 A 。
A、 static B、 final C、 abstract D、 this
2、 如果类中没有定义构造方法,系统会提供一个默认的构造方法。默认构造方法的特点是 C 。
A、 无参数有操作 B、 有参数无操作 C、 即无参数也无任何操作 D、 有参数有操作
3、 有一个类Demo,对与其构造方法的正确声明是 B 。
A、 void Demo(int x){…} B、 Demo(int x){…}
C、 Demo Demo(int x){…} D、 int Demo(){}
4、 以下关于面向对象概念的描述中,不正确的一项是 C 。
A、 在现实生活中,对象是指客观世界的实体
B、 程序中的对象就是现实生活中的对象
C、 在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class)
D、 在程序中,对象是一组变量和相关方法的集合
5、 下列那一项不属于面向对象程序设计的基本要素? D
A、 类 B、 对象 C、 方法 D、 安全
6、下列程序的执行结果是 A
i++; System.out.println(i); } Demo d = d.fun(); } } |
A、 编译错误 B、 0 C、 1 D、 运行成功,但不输出
7、 顺序执行下列程序语句后,则b的值是 C 。
String str = "Hello" ;
String b = str.substring(0,2) ;
A、 Hello B、 hello C、 He D、 null
3、判断题
1、 没有实例化的对象不能使用。 ( √ )
2、 不可以为类定义多个构造方法。 ( × )
3、 使用static声明的方法可以调用非static声明的方法。 ( × )
4、 非static声明的方法可以调用static声明的属性或方法。 ( √ )
5、 String对象可以使用==进行内容的比较。 ( × )
6、 垃圾是指无用的内存空间,会被垃圾收集机制回收。 ( √ )
7、 构造方法可以有返回值类型的声明。 ( × )
8、 匿名对象是指使用一次的对象,使用之后将等待被垃圾回收。 ( √ )
9、 使用static定义的内部类就成为外部类。 ( √ )
10、 多个实例化对象之间不会互相影响,因为保存在不同的内存区域之中。 ( √ )
4、简答题
1、 String类的操作特点。
答: String类的对象有两种实例化方式:
|- 方式一:直接赋值,只开辟一块堆内存空间,并且对象可以入池;
|- 方式二:构造方法,开辟两块堆内存空间,有一块将称为垃圾,不会自动入池,使用intern()方法手工入池;
String对象的比较方法:
|- ==:比较的是两个字符串对象的内存地址数值;
|- equals():字符串内容比较;
字符串对象一旦声明,则内容不可改变,改变的只能是字符串对象的地址指向。
2、 简述垃圾对象的产生。
答: 垃圾指的是一块无用的引用内存,当将变量设置为null或者长时间不使用时,就将成为垃圾。
3、 static方法如何调用?非static方法如何调用?
答: static方法可以使用类名称或实例化对象调用,而非static方法只能依靠实例化对象才可以调用。
4、 类与对象的关系是什么?如何创建及使用对象?
答: 类规定了对象所具有的属性及行为(方法),类只有通过产生对象才可以分配属性或者是调用方法,对象的创建依靠关键字new创建。
5、 举例说明子类对象的实例化过程。
答: 当通过关键字new实例化子类对象时,会默认调用父类的无参构造方法,为父类对象实例化,而后才会调用子类的构造方法,为子类对象实例化。
7、 简述this与super关键字的区别。
答: this和super都可以调用类中的属性、方法、构造方法,但是this调用的是本类操作,而super是由子类调用父类操作。
5、编程题
1、 编写并测试一个代表地址的Address类,地址信息由:国家,省份,城市,街道,邮编组成,并可以返回完整的地址信息。
} String street, String zipcode) { } + } // setter、getter略 } Address ad = System.out.println(ad); } } |
|
|