当前位置:网站首页 > Java基础 > 正文

java算法基础题库及答案



第 1 章 Java 入门
一、选择题
1 .下列选项中,不属于 Java 语言特点的一项是( C
)。
( A)分布式 ( B)安全性
( C)编译执行 ( D)面向对象
【 解 析 】 Java 程 序 采 用 解 释 执 行 的 方 法 。 在 系 统 编
译运 行 Java 程序 时, Java 编译器将 Java 程序 转化 为字 节
码, 在 运 行 时 ,解 释 器 将 编 译得 到 的 字节 码 进 行 解 释执
行。
2 .在 Java 语言中,( C )是最基本的元素?
( A)方法 ( B)包
( C)对象 ( D)接口
【 解 析 】 构 成 Java 程 序 的 基 本 元 素 类 ( 抽 象 的 对
象)。
3 .编译一个定义了 3 个类和 10 个方法的 Java 源文件后,
会产生( D )个字节码文件?扩展名是( D )?
( A) 13 个字节码文件,扩展名为 .class
( B) 1 个字节码文件,扩展名为 .class
( C) 3 个字节码文件,扩展名为 .java
( D) 3 个字节码文件,扩展名为 .class
【 解 析 】 源 文 件 中 的 每 一 个 类 编 译 后 都 会 生 成 一 个
字节码文件,字节码文件的扩展名是 .class。
4 .在创建 Applet 应用程序时,需要用户考虑问题是(
B )。
( A)窗口如何创建 ( B) 绘 制 的 图 形 在 窗 口 中
的位置
( C)程序的框架 ( D)事件处理
【 解 析 】 创 建 Applet 程 序 时 必 须 继 承 系 统 类
Applet ,而 Applet 类中已经包含了如何创建窗口以及事
件 处理 等 内 容 , 这类 程 序 的 框 架也 都 是 固定 的 , 而 绘 制
图形在窗口中的位置则需要由用户确定。
5 .Java 语言属于( B )种语言?
( A)面向机器的语言 ( B)面向对象的语言
( C)面向过程的语言 ( D)面向操作系统的语言
【解析】 Java 语言是一种纯面向对象的语言。
6 .下列关于 Application 和 Applet 程序的说法中不正确
的一项是( B )。
(A)Application 使用解释器 java.exe
(B)Application 不使用独立的解释器
( C) Applet 在浏览器中运行
( D) Applet 必须继承 Java 的 Applet 类
【 解 析 】 Application 程 序 包 含 main()方 法 , 它 是 一
种 独立 执 行 的 程 序, 因 此 必 须 使用 独 立 的解 释 器 解 释 执
行。
7 .下列选项中,不属于 Java 核心包的一项是( A )。
( A) javax.swing ( B) java.io
( C) java.utile ( D) java.lang
【解 析 】凡 是 以 java 开 头的 包 都是 Java 核心包 , 以
javax 开头的包则属于 Java 扩展包。
8 .下列描述中,不正确的是( A )。
( A)不支持多线程
( B)一个 Java 源文件不允许有多个公共类
( C) Java 通过接口支持多重继承
( D) Java 程序分为 Application 和 Applet 两类
【解析】 Java 是支持多线程的语言。
9 .阅读下列代码,选出该代码段正确的文件名( C
)。
class A{
void method1(){
System.out.println("Method1 in class A");
}
}
public class B{
void method2(){
System.out.println("Method2 in class B");
}
public static void main(String[] ar gs){
System.out.println("main() in class B");
}
}
( A) A.java ( B) A.class
( C) B.java ( D) B.class
【 解 析 】 Java 源 文 件 名必 须 和 公 共 类 的 名字 完 全 一
样,源文件的扩展名为 .java。
10 .编译下面源程序会得到哪些文件( D )?
class A1{
}
class A2{
}
public class B{
public static void main(String[] args){
1
}
}
( A)只有 B.class 文件 ( B ) 只 有 A1.class 和
A2.class 文件
( C)编译不成功
( D) A1.class、 A2.class 和 B.class 文件
【 解 析 】 由 于 该程 序 包 含 3 个类 , 每 个 类 编 译 后 都
会 生 成 1 个字 节 码 文 件 , 因 此编 译 后 会 生 成 以 这 3 个类
名命名的字节码文件。
11 .编译 Java 程序时,用于指定生成 class 文件
位置的选项是( A )。
A .-d B .-g C .-verbose D .-nowarn
12 .下列标识符(名字)命名原则中,正确的是( C
)。
A .类名的首字母小写 B .接口名的首字母小写
C .常量全部大写 D .变量名和方法名的首字母大写
13 .下面哪种注释方法能够支持 javadoc 命令?( C
)
A .// B ./*...*/ C ./...*/ D ./.../
14 .下面哪些选项是正确的 main 方法说明?( D
)
A .void main()
B .private static void main(String args[])
C .public main(String args[])
D .public static void main(String args[])
二、填空题
1 .Java 程序的编译和执行模式包括 2 点,是 半编译 和
半解释 。
2 .Java 语言支持 TCP/IP 协议,从而使得 Java 程序在分
布式环境中能够很方便地访问处于不同地点的 对象 。
3 .开发 Java 程序的一般步骤是:源程序编辑、 生成字
节码 和 解释执行 。
4 .每个 Java Application 程序可以包括许多方法,但是必
须有 且只 能有 一个 main() 方法,统一格式为 public static
void main(String[] ar gs) ,它是程序执行的入口。
5 .JVM 把字节码程序与各种不同的 操作系统 和 硬件
分开,使得 Java 程序独立于平台。
6 . 在 Java 程 序 中 , 能 在 WWW 浏 览 器 上 运 行 的 是
Applet 程序。
7 .Java 源程序文件和字节码文件的扩展名分别为 .java
和 .class 。
8 .如果在 Java 程序中需要使用 java.utile 包中的所有类,
则应该在程序开始处加上 import java.utitle.* 语句。
三、判断题
1 .Java 语言具有较好的安全性和可移植性及与平台无关等特性。( √ )
2 .Java 语言的源程序不是编译型的,而是编译解释型的。( √ )
3 .Java Application 程序中,必有一个主方法 main() ,该方法有没有参数都可以。( √ )
4 .java.util.Scanner(System.in) 可以接收用户从键盘输入的简单数据。( √ )
5 .Java 程序中不区分大小写字母。( × )
6 .机器不能直接识别字节码文件,它要经过 JVM 中的解释器边解释边执行。( √ )
7 .System 类中的 println() 方法分行显示信息,而 print() 方法不分行显示信息。( √ )
8 .当前路径的标识是“.” 。 ( √ )
9 .java 命令不区分大小写,而 javac 命令区分大小写。( × )
10 .printf() 和 format() 方法使用指定格式字符串和参数,将格式化字符串写入到 PrintStream 类型的输出流
( System.out 对象)中。( √ )
11 .在运行字节码文件时,使用 java 命令,一定要给出字节码文件的扩展名.class 。( × )
2
第 2 章 标识符与 简单数据类 型
一、选择题
1 .下列( D )是合法的标识符?
( A) 12class ( B) void ( C) -5 ( D) _blank
2 .下列( B )不是 Java 中的保留字?
( A) if ( B) sizeof ( C) private ( D) null
3 .下列( C )不是合法的标识符?
( A) $million ( B) $_million
( C) 2$_million ( D) $2_million
4 .下列选项中,( B )不属于 Java 语言的基本数据类
型 ?
( A) 整数型 ( B) 数组( C) 浮点 型( D)字符 型
5 .下列关于基本数据类型的说法中,不正确的一项是(
D )。
( A) boolean 类 型变量的 值只能 取真或假
( B) float 是 带符 号的 32 位 浮点 数
( C) double 是 带符 号的 64 位 浮点 数
( D) char 是 8 位 Unicode 字符
【解析】 Java 中的字符采用的是 16 位的 Unicode 字符。
6 .下列关于基本数据类型的取值范围的描述中,正确的
一个是( B )。
( A) byte 类 型的 取值范围是 -128~128
( B) boolean 类 型的 取值范围是 真或假
( C) char 类 型的 取值范围是 0~65536
( D) short 类 型的 取值范围是 -32767~32767
【 解 析 】 根据每 种 类 型占几个 字 节 即可 推算出 其取
值范 围 ,如 byte 类型 占 1 个字节,即 共包含 2
8
个 数值,
其取值范围范围 应为-128~ 127,其他 类型 也是如此。
7 .下列关于 Java 语言简单数据类型的说法中,正确的
一项是( A )。
( A)以 0 开头的 整数代 表 8 进制 整型常量
( B)以 0x 或 0X 开头的 整数代 表 8 进制 整型常量
( C) boolean 类 型的 数据作 为 类 成 员变 量 的 时 候, 相同
默认 的初 始值 为 true
( D) double 型数据占计算机 存储的 32 位
8 .下列 Java 语句中,不正确的一项是( C )。
( A) $e, a, b = 10; ( B) char c, d = ‘a’;
( C) float e = 0.0d; ( D) double c = 0.0f;
【解 析】 不能 将 double 类 型的 常量 赋值给 float 类 型
的变量。
9 .在编写 Java 程序时,如果不为类的成员变量定义初
始 值, Java 会 给出 它 们的 默认值, 下 列 说 法 中 不 正 确 的
一个是( D )。
( A) byte 的 默认值是 0 ( B ) boolean 的 默 认 值 是
false
( C) char 类 型的 默认值是 ’0’
( D) long 类 型的 默认值是 0.0L
10 .下列语句中不正确的一个是( B )。
( A) float f = 1.1f; ( B) byte b = 128;
( C) double d = 1.1/0.0; ( D) char c = (char)1.1f;
【解析】 bytel 类 型变量的 取值范围是 -128~127。
1 1 .下列表达式 1+2 + "aa"+3 的值是( B )。
( A) "12aa3"( B) "3aa3 " java算法基础题库及答案 ( C ) "12aa"
( D) "aa3"
【 解 析 】 整数和 整数相加 得 到 两 个 整数的 和 , 而 整
数 和字符串相 加得到的是字符串 。
12 .已知 y=2, z=3, n =4 ,则经过 n =n+ -y *z/n 运算后 n 的
值 为( A )。
( A) 3 ( B) -1 ( C) -1 ( D) -3
【 解 析 】 根据运 算符 的 优先级, 该 表达式 相当于
n=n+ ((-y)*z)/n 。
13 .已 知 a=2, b=3 , 则表 达 式 a%b*4%b 的 值 为 ( A
)。
( A) 2 ( B) 1 ( C) -1 ( D) -2
【 解析 】 根据运 算符 的 优先级, 该 表达式 相当于 ((a
%b)*4)%b 。
14 .已知 x=2, y=3, z=4 ,则经过 z- = --y – x-- 运算后,z
的 值为( D )。
( A) 1 ( B) 2 ( C) 3 ( D) 4
【解析】在 表达式运 算过程中, --y 的 值变为 2, x—
的 值还是 2, 等 号右侧运 算后的 值为 0,因 此 z 的 值没有
变化。
15 .表达式(12==0) && (1/0 < 1) 的值为( B )。
( A) true B) false (C)0 (D)运行时抛出异常
【解 析】 由于 (12==0)的 值为 false, 因此 整个 表达式
发生 短路运 算, 即(1/0 < 1)就没有 参与运 算, 整个 表达式
的 值为 false。
16 .设有类型定义 short i=32; long j=64; 下面赋值语句中
不正确的一个是( B )
( A) j=i; ( B) i=j; ( C) i=(short)j; ( D) j=(long)i;
【解析 】 long 类 型的 数据不能 自动转变为 short 类 型,
因此不能将 long 类 型的变量 直接 赋值给 short 类 型。
17 .现有 1 个 char 类型的变量 c1=66 和 1 个整型变量
i=2 ,当执行 c 1=c1+(char)i; 语句后,c1 的值为( D )。
( A) 'd' ( B) 'D' ( C) 68 ( D)语句在编译时出 错
【 解 析 】 两 个 字 符 型的 数据相加 , 得 到 的 是 一 个 整
数 ,而如果把整数 再 赋 值 给 一个字符型 变量则会在编译
时出 错。
18 .下列说法中,正确的一项是( D )。
( A)字符 串"\abcd" 的 长度为 6
( B) False 是 Java 的 保留字
( C) 123.45L 代 表单精度浮点 型
( D) False 是 合法的 Java 标识符
【 解 析 】 Java 语言 对 字 符 的 大 小 写 是 敏感的 , False
不是 false,因此 False 是 合法的 Java 标识符。
19 .以下的变量定义语句中,合法的是( D )
( A) float _*5 = 123.456F; ( B) byte $_b1 = 12345;
( C) int _long_ = L;
( D) double d = Double.MAX_VALUE;
【解 析 】 ( A) 中 _*5 不是 合法 的 标 识 符 ,( B) 中
12345 超出 byte 范围,(C )中不能将 l ong 类型的常量
赋值给 int 型 的变量。
20 .下列关于运算符优先级的说法中,不正确的一个是
( C )
( A)运 算符 按照优先级顺序 表进行运 算
( B) 同 一 优先级的 运 算符 在 表达式 中 都 是 按照从
左 到右 的顺 序进行运算 的
( C) 同 一 优先级的 运 算符 在 表达式 中 都 是 按照从
右 到左 的顺 序进行运算 的
( D)括 号可以 改变运 算的 优先次序
【 解 析 】 同 一 优先级的 运 算符 在 表达式 中 都 是 按照
从 左到 右的 顺序进行运 算的。
二、填空题
1 .变量是 Java 程序的基本存储单元之一,变量的主要类型包括 2 大类:字符型 和 数值型 。
2 .Java 语言的整数类型变量和常量一样,各自都包括 4 种类型的数据,它们分别是 byte 、 int 、 short 和 long 。
3 . boolean 类型数据不可以做类型转换。
4 .在 Java 语言的基本数据类型中,占存储空间最少的类型是 b oolean ,该类型占用的存储空间为 1 位。
5 .Java 语言中的 保留字 具有特殊意义和作用,不能作为普通标识符使用。
6 .在 Java 语言中,浮点类型数据属于实型数据,可以分为 单精度 和 双精度 两种。
7 .char 类型的数据可以表示的字符数共为 65536 。
8 .定义初始值为 10 的 8 次方的常整型变量 iLong 的语句是 final iLong = L 。
9 .Java 语言中的数据类型转换包括 自动转换 和 强制转换 两种。
10 .Java 中的字符采用的是 16 位的 Unicode 编码。
1 1 .数据类型中存储空间均为 64 位的两种数据类型是 long 和 double 。
12 .表达式 9*4/ -5%5 的值为 -2 。(十进制表示) 13 .表达式 5 &2 的值为 0 。(十进制表示)
14 .表达式 42<<4 的值为 6 72 。(十进制表示) 15 .表达式 1 1>>>3 的值为 1 1010 。(二进制表示)
16 .表达式 7|3 的值为 7 。(十进制表示) 17 .表达式 10^2 的值为 8 。(十进制表示)
18 .Java 语言中的逻辑与(&&) 和逻辑或(||) 运算采用 短路 方式进行运算。
19 .若 a 、b 为 int 型变量,并且已分别赋值为 5 和 10 ,则表达式(a++)+(++b)+a*b 的值为 82 。
20 .假设 i=10, j=20, k=30 ,则表达式 !(i<j+k) || !(i+10<=j) 的值为 false 。
三、判断题
1 .Java 语言使用的是 Unicode 字符集,每个字符在内存中占 8 位。( × )
2 .Java 语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。( √ )
3 .所有的变量在使用前都必须进行初始化。( × )
4 .已知 byte i = (byte)127; i = i +1; 这两个语句能被成功编译。( √ )
5 .String str="abcdefghi"; char chr=str.charAt(9); ( × )
6 .char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6]; ( √ )
7 .int i,j; boolean booleanValue=(i==j); ( × )
8 .int intArray[]={0,2,4,6,8}; int length=int Array.length(); ( × )
9 .String str="abcedf"; int length=str.length; ( × )
10 .short shortValue=220; byte byteValue=shortValue; ( × )
11 .int[] intArray[60]; ( × )

版权声明:


相关文章:

  • java实现登录界面零基础新手2024-10-20 20:10:02
  • Java基础入门 command2024-10-20 20:10:02
  • java基础作业1答案2024-10-20 20:10:02
  • 红石基础教学java2024-10-20 20:10:02
  • java基础教程4052024-10-20 20:10:02
  • java基础重点归纳2024-10-20 20:10:02
  • 小学零基础学java2024-10-20 20:10:02
  • 如何学好java基础2024-10-20 20:10:02
  • java 3d编程基础2024-10-20 20:10:02
  • java基础异常有哪些2024-10-20 20:10:02