概述
1、
代码String str=”123456a”;int i=Integer.parseInt(str);会报异常的是(B)
A、java.lang.NullPoninterException
B、java.lang.NumberFormatException
C、java.lang.RuntimeException
D、java.lang.ArrayindexOutOfBoundsException
解析:非纯数字的字符串转化为Integer对象会报数字格式异常。
2、
下列语句序列执行后,输出结果是(B)
public class ex{
public static void main(String[]args){
int a=13;
a=a/5;
System.out.println(a);
}
}
A、1
B、2
C、3
D、4
解析:a是int类型,13/5得到一个浮点类型,浮点类型转成整数类型的原则是,不四舍五入,直接截断小数点后的部分.
3、
关于C++/JAVA类中static 成员和对象成员的说法正确的是?(C)
A、static 成员变量在对象构造时生成
B、static 成员函数在对象成员函数中无法调用
C、虚成员函数不可能是static 成员函数
D、static 成员函数不能访问static 成员变量
解析:static成员变量是在类加载的时候生成的
static成员函数既可以通过类名直接调用,也可以通过对象名进行调用
虚函数是C++中的,虚函数不可能是static的
static成员函数可以访问static成员变量
4、
执行如下代码段后,变量s1引用的字符串值是( A )。
String s1 = “ABCD”;
String s2 = “1234”;
System.out.println(s1 + s2);
A、ABCD
B、1234
C、ABCD1234
D、1234ABCD
解析:运行完是ABCD1234,但是这是重新创建一个新的字符串,而不是直接在s1上的操作
所以s1仍然是ABCD
5、以下说法错误的是(D)
A、虚拟机中没有泛型,只有普通类和普通方法
B、所有泛型类的类型参数在编译时都会被擦除
C、创建泛型对象时请指明类型,让编译器尽早的做参数检查
D、泛型的类型擦除机制意味着不能在运行时动态获取List中T的实际类型
解析:1、创建泛型对象的时候,一定要指出类型变量T的具体类型。争取让编译器检查出错误,而不是留给JVM运行的时候抛出类不匹配的异常。 2、JVM如何理解泛型概念 —— 类型擦除。事实上,JVM并不知道泛型,所有的泛型在编译阶段就已经被处理成了普通类和方法。 处理方法很简单,我们叫做类型变量T的擦除(erased) 。 总结:泛型代码与JVM ① 虚拟机中没有泛型,只有普通类和方法。 ② 在编译阶段,所有泛型类的类型参数都会被Object或者它们的限定边界来替换。(类型擦除) ③ 在继承泛型类型的时候,桥方法的合成是为了避免类型变量擦除所带来的多态灾难。 无论我们如何定义一个泛型类型,相应的都会有一个原始类型被自动提供。原始类型的名字就是擦除类型参数的泛型类型的名字。
6、
下面关于程序编译说法正确的是(C)
A、java语言是编译型语言,会把java程序编译成二进制机器指令直接运行
B、java编译出来的目标文件与具体操作系统有关
C、java在运行时才进行翻译指令
D、java来的目标文件,可以运行在任意jvm上
解析:
编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等
解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等
Java不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性, 所以说java是一种解释型的语言
7、
以下哪个式子有可能在某个进制下成立(A)?
A、1314=204
B、1234=568
C、1414=140
D、1+1=3
解析:
x表示x进制。以A为例:
1314=204
=>(1x1+3*x0)(1x1+4*x0) = 2x2+4*x0
=>(x+3)(x+4)=2x^2+4
=>x^2-7x-8=0
=>(x-8)(x+1)=0
=> x=8或者x=-1
8、
给定以下JAVA代码,这段代码运行后输出的结果是(B)
public class Test
{
public static int aMethod(int i)throws Exception
{
try{
return i/10;
}
catch (Exception ex)
{
throw new Exception(“exception in a aMethod”);
}finally{
System.out.printf(“finally”);
}
}
public static void main(String[] args){
try
{
aMethod(0);
}
catch (Exception ex)
{
System.out.printf(“exception in main”);
}
System.out.printf(“finished”);
}
}
A、exception in main finished
B、finally finished
C、exception in main finally
D、finally exception in main finally
解析:
进入main方法->try->aMethod(0)->return 0/10;这里注意并没有出现异常所以执行finally打印finally,返回的时候也并没有异常,所以不会打印exception in main然后按照顺序执行然后打印finished
9、
jdk1.8中,下面有关java 抽象类和接口的区别,说法错误的是?(BD)
A、抽象类可以有构造方法,接口中不能有构造方法
B、抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法
C、一个类可以实现多个接口,但只能继承一个抽象类
D、接口中可以有普通成员变量,抽象类中没有普通成员变量
解析:
-
接口中不能有构造方法,抽象类中可以有。抽象类中构造方法作用:初始化抽象类的成员;为继承它的子类使用
-
接口中方法默认是public abstract (只能是这两个关键字,或其中一个或都省略)
-
接口中的变量默认是public static final(只能是这三个关键字,或其中两个/一个或都省略)
java中一个类只能继承一个类,但一个接口可以继承多个接口
10、
往OuterClass类的代码段中插入内部类声明, 哪一个是错误的:(ABCD)
public class OuterClass{
private float f=1.0f;
//插入代码到这里
}class InnerClass{
public static float func(){return f;}
}
abstract class InnerClass{
public abstract float func(){}
}
static class InnerClass{
protected static float func(){return f;}
}
public class InnerClass{
static float func(){return f;}
}
解析:
1.静态内部类才可以声明静态方法
2.静态方法不可以使用非静态变量
3.抽象方法不可以有函数体
编程题
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
解:public class Solution {public TreeNode reConstructBinaryTree(int [] pre,int [] in) {
if(prenull||innull){
return null;
}java.util.HashMap<Integer,Integer> map= new java.util.HashMap<Integer, Integer>(); for(int i=0;i<in.length;i++){ map.put(in[i],i); } return preIn(pre,0,pre.length-1,in,0,in.length-1,map);
}
public TreeNode preIn(int[] p,int pi,int pj,int[] n,int ni,int nj,java.util.HashMap<Integer,Integer> map){
if(pi>pj){ return null; } TreeNode head=new TreeNode(p[pi]); int index=map.get(p[pi]); head.left=preIn(p,pi+1,pi+index-ni,n,ni,index-1,map); head.right=preIn(p,pi+index-ni+1,pj,n,index+1,nj,map); return head;
}
}
最后
以上就是结实红酒为你收集整理的刷题Day_2的全部内容,希望文章能够帮你解决刷题Day_2所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复