【黑马基础班考试题】1.Java基础知识测试_答案
黑马基础班入学考试

System.out.println(“a”);
}
}
A.a
B.2
C.1
D.编译报错
28.下面程序运行的结果是()
public static void main(String [] args) {
int x = 19;
switch(x) {
case 19;
System.out.println(“A”);
System.out.println(x);
}
30.哪些代码能实现从1到10的和? ()
A.
int sum = 0;
for(int a = 1; a <= 11; a++)
{
sum += a ;
}
B.
int sum = 0;
int a = 1;
while(a <= 10)
{
sum += a;
a = a+ 1;
D.x = 101;
32.查看下面的程序代码,输出的结果是()
public static void main(String [] args) {
int x = 80;
int x = x - 1;
x *= 10;
if(x != 790)
Sytem.out.println(x);
else
System.out.println(x / 10);
}
C.
int sum = 0;
int a = 0;
do{
a = a + 1;
sum += a;
}while(a != 10);
D.
int sum = 0;
黑马基础测试

黑马程序员训练营基础测试1、创建一个类Sample,在main方法中定义一个ArrayList的集合类,并向集合中添加任意多个同一种类型的元素,利用Iterator接口,遍历集合中的所有元素.2、排序有哪几种方法?请列举。
并用JAVA实现一个快速排序.3、已知一个int数组, 编程从数组中获取最大数.4、已知一个int类型的数组,用冒泡排序法将数组中的元素进行升序排列.5、 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意义?在try块中可以抛出异常吗?6、创建一个包含实例内部类的类,外部类中定义一个名为str的String字符串并初始化任意值,在内部类中定义跟外部类同种类型且同名的变量,并在内部类中定义一个方法,分别打印外部类和内部类的变量.7、先写一个程序,打印从1到100的值。
之后修改程序,通过使用break关键词,使得程序在打印到98时退出。
然后尝试使用return来达到相同的目的。
8、编写程序获取已知文件的扩展名. 注意: abc.txt的扩展名是txt,abc.java.txt的扩展名也是txt.9、有这样三个类,Person,Student.GoodStudent。
其中Student继承了Person,GoodStudent继承了Student,三个类中只有默认的构造函数,用什么样的方法证明在创建Student类的对象的时候是否调用了Person的构造函数,在创建GoodStudent类的对象的时候是否调用了Student构造函数?如果在创建Student对象的时候没有调用Person的构造函数,那么采用什么样的手段可以调用父类的构造函数?10、模拟妈妈做饭,做饭时发现没有盐了,让儿子去买盐(假设买盐需要3分钟),只有盐买回来之后,妈妈才能继续做饭的过程。
黑马程序员测试题提交格式要求1、请下载eclipse或myeclipse,并在eclipse中新建一个exam的Java工程,如下图所示:2、在src目录下新建一个com.itheima的包,并在下面编写Test1、Test2、Test3…….等等完成对应的第1题、第2题、第3题………如图所示:3、在编写每一道题时,格式要求如图所示:4、做完后,选中工程,右键点copy,然后复制到本地硬盘中,用zip工具打成压缩包后提交,如图所示:。
【黑马基础班考试题】1.Java基础知识测试_答案

【黑马基础班考试题】1.Java基础知识测试_答案考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下面说法正确的是()A. JVM就是Java虚拟机,包含java核心类库// JRE: JVM+Java library。
B. JRE就是java运行环境,包含java程序编译运行的工具环境// JDK:JRE+ToolsC. JDK就是java开发环境,javac是其中的一个工具D. 功能范围:JDK > JVM > JRE2.下面的说法正确的是( )A. Java 语言是面向对象的、解释执行的网络编程语言。
B. Java 语言具有可移植性,是与平台无关的编程语言。
C. Java 语言可对内存垃圾自动收集。
D. Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。
3.给定java代码,如下:public byte count(byte b1, byte b2){return ____;}要使这段代码能够编译成功,横线处可以填入A. (byte)(b1-b2) //返回值类型为byte,要求选项结果为byteB. b1-b2C. (byte)b1+b2D. (byte)b1/b24.关于类的命名,正确说法是()A. 可以由数字和英文拉丁字母组成,且可以任意排序//数字不能开头B. 命名要做到见名知意C. 如果是由多个单词组成,每个单词首字母大写D. 可以是Java已经定义过的关键字//囧5.关于main方法说法错误的是()A.main方法是java程序执行的入口B.main方法的方法体至少要有一行代码//可以没有代码C.main必须定义在一个类中D. main方法的定义格式为:public static void main(String[] args){}6.类中某方法定义如下:double fun(int a,int b){return a*1.0/b;}同一类内其它方法调用该方法的正确方式是:A. double a = fun(1,2);B. double a = fun(1.0,2.0);C. int x = fun(1,2);D. int x = fun(1.0,2.0);7.给定java代码,如下,编译运行,结果是()public static void main(String[] args){boolean flag;System.out.println(“flag”+flag);//局部变量需要先初始化再使用}A. 编译错误B. 编译通过,单出现运行时错误C. 正常运行,输出flag=falseD. 正常运行,输出flag=8.下面哪个关键字可以定义一个类()A. interfaceB. class //查看下面解释C. extendsD. implements在Oracle官网java英文原版教程,链接地址:https:///javase/tutorial/java/IandI/createint erface.html上有如下解释:In the Java programming language, an interface is a reference type,similar to a class, that can contain only constants,method signatures, default methods, static methods, and nested types. Method bodies exist only for default methods and static methods. Interfaces cannot be instantiated—they can only be implemented by classes or extended by other interfaces. Extension is discussed later in this lesson.9.byte类型的取值范围是()A. -256至255B. -255至255C. -128至127 //*/?#%¥@*&……D. -127至12810.下面关于java中方法,描述错误的是( )A.必须定义在类或者接口里面B.定义一个方法之前要明确该方法需要的参数和返回值类型C.方法可以提高代码复用性,提高程序运行的效率//可以提高编写代码的效率D.方法只有调用才会被执行11.下面程序执行的结果是?( )class Test{public static void main(String[] args){System.out.pr intln(““+’a’+1); // +在这里是连接符,任何数据和字符串连接后,都是字符串}}A. 98B. a1C. 971D. 19712.for循环格式如下:for(表达式1;表达式2;表达式3){//code}下面描述错误的是()A. 表达式1处的代码会被执行多次//只能一次B. 表达式1处可以定义变量C. 表达式3用于决定循环是否应该结束//表达式2D. 表达式2的值可以是任意类型,也可以是boolean类型//只能是boolean13.以下选项可以正确创建一个长度为3的二维数组的是 ( )A.new int[2][3]B.new int[3][]C.new int[][3]D.以上答案都不对14.设以下是应用程序中定义的方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是 ( )。
黑马Java基础入学测试题_

考试题目:本试卷是JAVA基础班入学考试试卷,主要考察JAVA基础前五天大家在入学之前掌握的一个整体情况,本试卷共有40道题,其中有30道是单选,有10道题是多选题,希望大家认真对待1.Sun公司对Java语言的宣传口号为“一次编程,到处执行”,体现了Java的什么特性B A:编程的简单性B:与平台无关性C:Java的面向对象特性D:Java程序的鲁棒性2.Java平台有三个版本,分别是javaSE、JavaME、javaEE,下列说法不正确的是BA.javaSE是指Java语言的标准版B.javaME是指Java语言的标准版C.javaEE是指企业级的Java开发语言,是为企业提供服务的D. javaME是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API.3.想要运行Java程序,必须得先通过______Java源文件,然后再通过______java程序CA. javaw工具编译 javac工具运行B. java工具编译 javac工具运行C. javac工具编译 java工具运行D. java工具编译 java工具编译4.Java语言中的int及char数据类型的长度分别为CA:16位和8 位B:8位和16位C:32位和16位D:32位和8位5.请问byte数据的取值范围是?CA:0-128B:负127-128C:负128-127D:以上都不对6.java语言的源程序经编译后所生成的程序类型为D A:.exe 型的可执行程序B:.obj 型二进制的程序C:.lib 型二进制的库程序D:.class 型类代码的程序7.某java程序的类定义如下: Bclass MyClass{}则java源文件编译后生成的类文件名称为:A:myclass.classB:MyClass.classC:MYCLASS.classD:MyClass.java8.下列那种标识符在java程序中是错误的DA:MyClass_Base12B:_MyClass$Base12C:$MyClass_12D:76MyClass$129.下列那种标识符不能作为java程序中的变量名B A:INTB:booleanC:characterD:Java_Float10.请问,以下哪些语句不是合法的赋值语句?DA:boolean b = true;B:int a = (int)1.23;C:double x = 1.1;D:char c = '10';11.下面()段java语句在编译时不会出现异常和错误。
黑马程序员测试题练习(一)

黑马程序员测试题练习(一)1. 在JAVA中,下列哪些说法是正确的A.java源文件的扩展名为.javaB.写好的java源程序可以直接运行C.编写的源程序必须先编译后才能运行D.程序员可以读懂扩展名为.class的文件Java程序的后缀名,及java程序的运行机制:.java 源文件javac编译生成字节码文件(.clsss文件)java执行2. 在java中,关于数组描述正确的是A.数组中的索引下标从1开始B.存储在数组当中的数据都属于同一数据类型C.通过数组名.length()能获得数组的长度D.数组的最大索引下标是数组的长度减1数组:存储的是同一种数据类型的元素。
索引从0开始,到个数-1。
它有一个length属性,可以用来获取数组的元素个数。
3. 下列标识符哪个是合法的A.classB.$abcC.1234D._name标识符:可以有字母,数字,下划线和美元符组成。
不能以数字开头不能和java中的关键字重名4. 下面程序的输出结果是什么( )int[] arr = new int[10];System.out.println(arr[0]);A.编译不通过B.运行时出错C.输出nullD.输出0数组:Java中的数据类型:基本数据类型:4类8种整型:byte,short,int,long浮点型:float,double字符型:char布尔型:boolean注意:整型默认是int,浮点型默认是double。
long类型要以l或者L标识,float类型要以f或者F 标识。
隐式转换:从小到大boolean类型不参与转换。
byte,short,char int long float - double 强制转换:(数据类型)被转换的数据float f = (float)12.5; float f = 12.5f;引用数据类型:类,接口,数组引用数据类型的数据存储在堆内存中:都有默认值。
整型:0浮点型:0.0布尔型:false字符型:’\u0000’空字符5. 下面哪些赋值语句是正确的?( )A. long test = 012;B. float f = -412;C. int other = (int) true;D. double d = 0x12345678;E. byte b = 128;定义变量:数据类型变量名 = 初始化值;6. 下面哪个语句正确地声明一个整型的二维数组( )A. int a[][] = new int[][];B. int b[10][10] = new int[][];C. int c[][] = new int[10][10];D. int []d[] = new int[10][10];数组定义:[]int[] arr;int arr[];二维数组的定义:第一维的长度必须给出。
黑马Java基础入学测试题_

考试题目:本试卷是JAVA基础班入学考试试卷,主要考察JAVA基础前五天大家在入学之前掌握的一个整体情况,本试卷共有40道题,其中有30道是单选,有10道题是多选题,希望大家认真对待1.Sun公司对Java语言的宣传口号为“一次编程,到处执行”,体现了Java的什么特性B A:编程的简单性B:与平台无关性C:Java的面向对象特性D:Java程序的鲁棒性2.Java平台有三个版本,分别是javaSE、JavaME、javaEE,下列说法不正确的是BA.javaSE是指Java语言的标准版B.javaME是指Java语言的标准版C.javaEE是指企业级的Java开发语言,是为企业提供服务的D. javaME是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API.3.想要运行Java程序,必须得先通过______Java源文件,然后再通过______java程序CA. javaw工具编译 javac工具运行B. java工具编译 javac工具运行C. javac工具编译 java工具运行D. java工具编译 java工具编译4.Java语言中的int及char数据类型的长度分别为CA:16位和8 位B:8位和16位C:32位和16位D:32位和8位5.请问byte数据的取值范围是?CA:0-128B:负127-128C:负128-127D:以上都不对6.java语言的源程序经编译后所生成的程序类型为D A:.exe 型的可执行程序B:.obj 型二进制的程序C:.lib 型二进制的库程序D:.class 型类代码的程序7.某java程序的类定义如下: Bclass MyClass{}则java源文件编译后生成的类文件名称为:A:myclass.classB:MyClass.classC:MYCLASS.classD:MyClass.java8.下列那种标识符在java程序中是错误的DA:MyClass_Base12B:_MyClass$Base12C:$MyClass_12D:76MyClass$129.下列那种标识符不能作为java程序中的变量名B A:INTB:booleanC:characterD:Java_Float10.请问,以下哪些语句不是合法的赋值语句?DA:boolean b = true;B:int a = (int)1.23;C:double x = 1.1;D:char c = '10';11.下面()段java语句在编译时不会出现异常和错误。
黑马基础班入学考试

A .80
B. 79
C. 790
D.编译错误
33.下面代码运行结果是()
public staic void main(String [] args) {
int x = 80;
x ++;
switch(x) {
case 80;
System.out.println(80);
case 81;
System.out.println(81);
while(flag && x > 0) {
System.out.println(x);
x = x - 1;
}
}
A.什么也没有输出
B.程序报错
C.输出8 7 6 5 4 3 2
D.输出8 7 6 5 4 3 2 1
36.下面代码的运行结果是()
public static void main(String [] args) {
1.下列有关Windows的快捷键说法不正确的是()
A.ctrl+c是粘贴操作
B.ctrl+c是复制操作
C.ctrl+v是粘贴操作
D.ctrl+a是全选操作
2.关于JRE和JDK的说法正确的是()
A.JRE是Java语言的运行环境
B.JDK是Java语言的开发工具包
C.JDK包含JRE
D.必须要有JDK才能运行Java程序
B.int arr [] [] = new int [3] [];
C.int [] [] arr {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}};
D.int arr [] [] = {{2, 3}, {6}, 9};
黑马程序员面试题目(3篇)

第1篇第一部分:Java基础知识1. Java基础- Java的内存模型:请解释Java内存模型,包括堆、栈、方法区、本地方法栈和程序计数器的作用及区别。
- Java的访问控制:描述Java中的访问控制符(public, private, protected, default),并说明它们如何影响类的成员访问。
- Java的继承:解释Java中的继承机制,包括单继承和多继承的优缺点。
- Java的多态:说明Java中的多态概念,并举例说明如何实现多态。
- Java的封装:解释Java中的封装概念,并说明如何通过访问控制符实现封装。
2. Java集合框架- ArrayList和LinkedList的区别:比较ArrayList和LinkedList在性能、内存使用、迭代器使用等方面的区别。
- HashMap和HashSet的区别:分析HashMap和HashSet在数据结构、性能、使用场景等方面的差异。
- Java集合的遍历:描述Java集合的几种遍历方式,如for循环、迭代器、forEach等。
3. Java异常处理- Java异常的分类:解释Java中的检查型异常(checked exceptions)和非检查型异常(unchecked exceptions)。
- try-catch-finally语句:说明try-catch-finally语句的使用场景和执行顺序。
- 自定义异常:解释如何自定义异常类,并举例说明。
4. Java泛型- 泛型的概念:描述Java泛型的概念,并说明泛型的使用优势。
- 泛型的限制:分析Java泛型的使用限制,如泛型类型擦除。
- 泛型通配符:解释泛型通配符(?)的作用和使用场景。
第二部分:Java高级特性1. Java并发编程- 线程和进程的区别:比较Java中的线程和进程,包括它们的创建方式、调度方式等。
- 线程的创建方法:列举并解释Java中创建线程的几种方法,如继承Thread类、实现Runnable接口、使用Callable接口等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下面说法正确的是()A. JVM就是Java虚拟机,包含java核心类库// JRE: JVM+Java library。
B. JRE就是java运行环境,包含java程序编译运行的工具环境// JDK:JRE+ToolsC. JDK就是java开发环境,javac是其中的一个工具D. 功能范围:JDK > JVM > JRE2.下面的说法正确的是( )A. Java 语言是面向对象的、解释执行的网络编程语言。
B. Java 语言具有可移植性,是与平台无关的编程语言。
C. Java 语言可对内存垃圾自动收集。
D. Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。
3.给定java代码,如下:public byte count(byte b1, byte b2){return ____;}要使这段代码能够编译成功,横线处可以填入A. (byte)(b1-b2) //返回值类型为byte,要求选项结果为byteB. b1-b2C. (byte)b1+b2D. (byte)b1/b24.关于类的命名,正确说法是()A. 可以由数字和英文拉丁字母组成,且可以任意排序//数字不能开头B. 命名要做到见名知意C. 如果是由多个单词组成,每个单词首字母大写D. 可以是Java已经定义过的关键字//囧5.关于main方法说法错误的是()A.main方法是java程序执行的入口B.main方法的方法体至少要有一行代码//可以没有代码C.main必须定义在一个类中D. main方法的定义格式为:public static void main(String[] args){}6.类中某方法定义如下:double fun(int a,int b){return a*1.0/b;}同一类内其它方法调用该方法的正确方式是:A. double a = fun(1,2);B. double a = fun(1.0,2.0);C. int x = fun(1,2);D. int x = fun(1.0,2.0);7.给定java代码,如下,编译运行,结果是()public static void main(String[] args){boolean flag;System.out.println(“flag”+flag);//局部变量需要先初始化再使用}A. 编译错误B. 编译通过,单出现运行时错误C. 正常运行,输出flag=falseD. 正常运行,输出flag=8.下面哪个关键字可以定义一个类()A. interfaceB. class //查看下面解释C. extendsD. implements在Oracle官网java英文原版教程,链接地址:https:///javase/tutorial/java/IandI/createinterface.html上有如下解释:In the Java programming language, an interface is a reference type,similar to a class, that can contain only constants,method signatures, default methods, static methods, and nested types. Method bodies exist only for default methods and static methods. Interfaces cannot be instantiated—they can only be implemented by classes or extended by other interfaces. Extension is discussed later in this lesson.9.byte类型的取值范围是()A. -256至255B. -255至255C. -128至127 //*/?#%¥@*&……D. -127至12810.下面关于java中方法,描述错误的是( )A.必须定义在类或者接口里面B.定义一个方法之前要明确该方法需要的参数和返回值类型C.方法可以提高代码复用性,提高程序运行的效率//可以提高编写代码的效率D.方法只有调用才会被执行11.下面程序执行的结果是?( )class Test{public static void main(String[] args){System.out.println(““+’a’+1); // +在这里是连接符,任何数据和字符串连接后,都是字符串}}A. 98B. a1C. 971D. 19712.for循环格式如下:for(表达式1;表达式2;表达式3){//code}下面描述错误的是()A. 表达式1处的代码会被执行多次//只能一次B. 表达式1处可以定义变量C. 表达式3用于决定循环是否应该结束//表达式2D. 表达式2的值可以是任意类型,也可以是boolean类型//只能是boolean13.以下选项可以正确创建一个长度为3的二维数组的是 ( )A.new int[2][3]B.new int[3][]C.new int[][3]D.以上答案都不对14.设以下是应用程序中定义的方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是 ( )。
static void printBinary(int i) {System.out.print(i + "的2进制数表示为:\t");for(int j = 31; j >=0; j--)if(((1 << j) & i) != 0)System.out.print("1");elseSystem.out.print("0");System.out.println();}A) 00000000000000000000000000000001B) 00000000000000000000000000000010 //自己算吧。
其实是求2的二级制表示形式C) 00000000000000000000000000001111D) 0000000000000000000000000000000015.下面关于return语句说法正确的是:()A.只能让方法返回数值B.方法都必须显式使用该关键字C.方法中可以有多句return //if第三种格式,每个条件下面都可以写一个return,单最多只能执行其中一个D.可以用来返回数值以外的类型16.下面程序执行的结果是?()int i = 100;while(true){if (i++ > 100){break;}System.out.println(i);}// continue(跳出本次循环) , break(跳出,结束本循环) , return(跳出,结束方法)A. 100B. 101C. 102D. 报错17.下面关于Java语言跨平台说法错误的是:A. java语言编写的程序,一次编译后,可以在多个系统平台上运行。
B. java语言垮平台依赖于java虚拟机C. java垮平台,java虚拟机也是垮平台的(不同系统平台使用相同的java虚拟机)D. 原理是java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。
18.下面程序的运行结果是 ( )int a=3, b=1;if(a==b) //false{System.out.println("a="+a);}A. a=1B. a=3C. 编译错误D. 正常运行但没有输出19.下面程序的运行后,结果正确的是:int a=1,b=2;int c=(a+b>3?a++:++b);//三元运算符如果不成立的话,那么a++不会执行,a还是1.A. a=2,b=3B. a=1,b=3C. a=1,b=2D. c=220.定义如下的二维数组b,下面的说法正确的是( )int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};A. b.length的值是3B. b[1].length的值是3 //2C. b[1][1]的值是5D. 二维数组b的第一个元素有3个子元素21.下面哪种类型的文件可以在java虚拟机中运行? ( )A..javaB..jreC..exeD..class22.下面程序的运行结果class Demo{public static int fun(int c){return c+=2; //因为return了,return的是4}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}}A. 2B. 4C. 6D. 823.下列方法定义中,正确的是( )。
A) int x( ){ return true; } //返回值类型为int,不能返回booleanB) void x( ){ return true; } //没有返回值,不能返回booleanC) int x( ){ char ch='a'; return (int)ch; }D) int x( int a, int b){ return a+b; }24.下面数组定义正确的是()A. int [] arr ={23,45,65,78,89};B. int [] arr=new int[10]{}; //[数组]与{}不能共存C. int [] arr=new int[4]{3,4,5,6}; //[]与{}不能共存D. int [] arr={"a",23 ,45,6}; //byte, short,char ------>> int ‘a’会自动转换成97,但是String类型的a不会自动转换成9725.下面程序执行的结果是?()int x =1,y=1;if(x++==2 & ++y==2){x=7;}System.out.println("x="+x+" , y="+y);A. x=1 y=2B. x=7 y=1C. x=7 y=2D. x=2 y=226.JDK1.7之后,switch语句后括号里的表达式可以是以下哪种类型()//记住A. charB. StringC. longD. 枚举类型27.同一类中有两个以上方法同名称方法重载,Java语言规定():A. 不允许重载B. 重载方法的参数列表必须不同C. 重载方法的返回值类型必须不同//与返回值类型无关D. 重载方法的参数列表和返回值类型必须都不同。