错题整理笔记

1.以下4个选项中,不能看做一条语句的是( )。
[ 多选题 ] 正确答案是:CD
A.{;} B.a=0,b=0,c=0;
C.if(a>0) D.if(b=0)m=1;n=2;
note:if语句后必须接代码,否则会编译错误;D选项:if的条件必须为boolean类型。
2.给定JAVA代码如下,编译运行结果是(C)。
public class Test {
public int count(){
return 1%9;
}
public static void main(String args[]) {
Test test=new Test();
System.out.println(test.count());
}
}
A.编译错误 B.运行时出现例外
C.运行正常,输出1 D.运行正常,输出0
NOTE:count方法返回1%9=1,该程序为实例化后调用test对象的方法,不会产生编译错误。1%9=1
3.给定一个java程序的代码片段,如下:
for(int i=0;i<6;i++){
System.out.printf(i+",");
while(++ i<5){
continue;
}
System.out.println(i);
}
编译运行后的输出结果是(0,5 )。
note:++i为前缀,会优先执行,continue会打断当前循环进行下一次循环,因此while循环之前的输出语句会输出0,进入while循环后当i=4时会continue会跳出while循环,此时i=5,System.out.println(i);for循环结束后i=6,跳出for循环,整个for循环只执行1次,while循环执行4次,程序输出0 5
4.给定JAVA代码如下,d的取值范围是(d>=0.0,并且d<1.0)。
double d = Math.random();
note:Math.random()函数将产生在>=0.0且<1.0的double类型的数
5.使用JDK工具生成的Java文档的文件格式是?HTML格式
note:通过 javadoc 方式将 java的源文件生成一个 html的帮助文档.
6.java语言中以下for循环的执行次数是?语法错误
for(int x=0,y=0 ; (y=123) && (x<4) ; x++);
//类似以下for循环的执行次数是( 一次 )。
for(int x=0;(x0)&(x<4);x++);
第一次:x=0,(x
0)&(x<4)为true,执行x++;
第二次:x=1,(x==0)&(x<4)为false,不进行循环,所以只执行了一次
7.递归函数最终会结束,那么这个函数一定?(有一个分支不调用自身)
note:递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。
当函数在一直递推,直到遇到墙后返回,这个墙就是结束条件。
所以递归要有两个要素,结束条件与递推关系
8.0.6332 的数据类型是(double)
java中默认的带小数位的数据类型为double
9.下面哪些可能是重载的基本条件(ABD)(注意:是可能为重载的基本条件)
A.参数的类型不同 B.参数的顺序不同
C.函数的返回值类型不同 D.参数的个数不同
NOTE:构成函数重载与否和函数有无返回值及返回值类型无关.
重载,从简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。在java中同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。这种情况下,该方法就被称为重载,这个过程称为方法重载
10.下列能实现一个正整数N对256求余运算的代码是:
A.N%256 B.N<<8
C.N>>8 D.N & 0xFF
NOTE:A求余,BC二进制的位运算,相当于除以或者乘以2的8次方;D是与运算,0xff是11111111,进行与运算时只取低八位,其他为0,进行求余。
11.Java语言所使用的字符集是16位Unicode编码
12.‘\40’表示8进制的40
NOTE:转义符’‘后面接一个八进制数,用于表示ASCII码等于该值的字符.比如,查一下ASCII码表,我们找到问号字符(?)的ASCII值是63,那么我们可以把它转换为八进值:77,然后用 ‘\77’来表示’?’。由于是八进制,所以本应写成 ‘\077’,但因为C/C++规定不允许使用斜杠加10进制数来表示字符,所以这里的0可以不写。
13.以下输出结果正确的是: 3.021
System.out.println(“3.0” + 2+1)
NOTE:数值型用+与String类型的字符串联接时为字符串拼接,拼接后的类型仍为String

14.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。
[ 单选题 ] 正确答案是:D 我的答案:D 该题目189人做过 / 正确率达:66%正确
A.switch(a+b); { … }
B.switch(a+b*3.0){ … }
C.switch a{ … }
D.switch(a%b){ … }
NOTE:switch的表达式必须为整形或字符型

15.java语言的应用包括:
[ 多选题 ] 正确答案是:ABCD 我的答案:BCD 该题目有445人做过 / 正确率达:68%错误
A.单机软件 B.Android APP
C.WEB网站 D.大数据开发

16.在Java中下面Class的声明哪些是错误的?
[ 多选题 ] 正确答案是:ABC 我的答案:AB 该题目420人做过 / 正确率达:24%错误
A.public abstract final class Test { abstract void method();}
B.public abstract class Test { abstract final void method();}
C.public abstract class Test { abstract void method(){ }}
D.public class Test { final void method(){ }}

17.给出以下定义:
char x[ ]=new char[]{‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};
char y[ ]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};
则正确的叙述为
数组x和数组y的长度相同
NOTE:数组x和数组y的内容相同,但是其在内存中的地址不同,所以x和y不等价

18.java中, 下列代码片段中,存在编译错误的语句是(语句1
语句3语句4)
byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2); /语句1/
b6=b4+b5; /语句2/
b8=(b1+b4); /语句3/
b7=(b2+b5); /语句4/
System.out.println(b3+b6);
NOTE:java默认的数值型为int,两个byte型的运算结果可能会超出byte能表示的范围,因此java会自动转为int型,但两个final修饰的byte变量在运算后的值会根据左边接收的变量的类型而转化,而语句1,3,4的运算结果为int型,不能用byte接收,会产生编译错误

19…求其时间复杂度( O(log2n))
int i = 1, n = 100;
while(i < n){
i = i * 2;
}
NOTE:因为每次i*2后,距离结束循环更近了。也就是说有多少个2 相乘后大于n,退出循环。
数学公式:2^x = n --> x = log2n
因此这个循环的时间复杂度为O(log2n) 2为log的底数

20.设栈最大长度为3 ,入栈序列为 1,2,3,4,5, 6,则不可能的出栈序列是
[ 单选题 ] 正确答案是:D 我的答案:未做 该题目278人做过 / 正确率达:62%错误
A.1 , 2 , 3 , 4 , 5 , 6
B.2 , 1 , 3 , 4 , 5 , 6
C.3 , 4 , 2 , 1 , 5 , 6
D.4 , 3 , 2 , 1 , 5 , 6
NOTE:栈的最大长度为3,一次只能允许最多3个值入栈
A选项:单个值入栈出栈;
B选项:先入1,2,出2,1,然后3,4,5,6单个入栈出栈;
C选项:先入1,2,3,出3,再入4,出4,再出2,1,最后5,6单个入栈出栈;
D选项:先出4,按照入栈序列至少要一次入栈1,2,3,4,而栈的最大长度为3,因此D选项错误

21.下面哪些是合法的java数组声明?
(a) int a();
(b) float b[];
© double[] c;
(d) counter d[];
NOTE:数组声明应该用[],A选项错误,java没有counter数据类型,D选项错误

22.给出以下定义,下列哪些操作是合法的?
char a[] = “hello”;
char b[] = “world”;
const char p1 = a;
char
const p2 = b;
[ 多选题 ] 正确答案是:AC 我的答案:AD 该题目267人做过 / 正确率达:34%错误
A.p1++ B.p1[2]=‘w’;
C.p2[2]=‘l’; D.p2++
NOTE:此题为C++语言,
p1是指向常量的指针,所指向的内容不能变,所以改变p1指向的值是不对的。
p2是一个指针常量,它本身的指向不能改变,所以对p2的下标操作是不对的。

23.1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,现有20元钱,最多可以喝到( )瓶汽水
40瓶,20+10+5+2+1+1=39, 这时还有一个空瓶子,先向店主借一个空瓶,换来一瓶汽水喝完后把空瓶还给店主。

24.以下哪个式子有可能在某个进制下成立()?
[ 单选题 ] 正确答案是:A 我的答案:A 该题目241人做过 / 正确率达:47%正确
A.1314=204B.1234=568
C.1414=140D.1+1=3
NOTE:(1
n+3)(1n+4)=2*n^2+4;// n=-1或n=8; 其中n=8成立
25.CLASSPATH中的“.”的含义是哪项B?
A.省略号B.当前目录
C.所有目录D.上级目录
26.return用于返回当前方法,continue只能打断本次循环,继续下一轮循环;break能打断当前循环并执行循环后的语句,java中没有exit关键字,只有exit()方法来终止程序
27.禁用本地文件系统的校验功能可以设置属性是
[ 单选题 ] 正确答案是:A 我的答案:A 该题目598人做过 / 正确率达:52%正确
A,fs.file.implB.fs.hdfs.impl
C.fs.local.implD.fs.raw.impl

28.Java中通过什么关键字修饰的方法可以用过类名直接调用
[ 单选题 ] 正确答案是:B 我的答案:B 该题目456人做过 / 正确率达:72%正确
A.finalB.staticC.privateD.void
note:static修饰的方法表示静态方法,是这个类的类方法,可以直接通过类名调用而不需要实例化
29.java中main方法声明为public static void main(String args[]){}
其中String args[]表示控制台传入的参数被存入String类型的名字为args的数组,数组名可以任取,不一定要args
30.以下代码执行的结果显示是多少(50500)?

public class Demo{
public static void main(String args[]){
int count=0;
int num=0;
for(int i=0; i<=100;i++){
num=num+i;
count =count++;
}
System.out.println( num +""+count +(num *count));
}
}
31.以下程序的输出结果是ABDCBDCB
public class Print{
static boolean out(char c){
System.out.println©;
return true;
}
public static void main(String[] argv){
int i = 0;
for(out(‘A’);out(‘B’) && (i<2);out(‘C’)){
i++; out(‘D’);
}
}
}
note:for循环里面的条件部分只要值为真,与判断是什么没有关系。本题中虽然是打印字母,但是返回布尔值,所以可以执行。
第一次进行循环:
(1)out(‘A’)打印字母A
(2)out(‘B’)打印字母B,i=0,比较(i<2),条件为true,进行循环体,out(‘D’)打印D。
(3)out(‘C’)打印字母C。
第二次循环:
(1)out(‘B’)打印B,i=1,比较(i<2)为true,进行循环体,out(‘D’)打印D。
(2)out(‘C’)打印字母C。
第三次循环:out(‘B’)打印字母B,i=2,比较(i<2)为false,退出循环,得到结果
32.单目运算符++、-- 的运算对象可以为char型变量、int型变量和float型变量
33.以下描述错误的一项是( )?
[ 单选题 ] 正确答案是:C 我的答案:C 该题目278人做过 / 正确率达:43%正确
A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行 到了第几行,是线程隔离的
B.原则上讲,所有的对象都是在堆区上分配内存,是线程之间共享的
C.方法区用于存储JVM加载的类信息、常量、静态变量,即使编译器编译后的代码等数据,是线程隔离的
D.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
34.从1到2048的所有整数中1的出现的个数是。
int sum = 0;
for (int i = 1 ; i <= 2048; i++){
if (i%10 ==1){
sum = sum + 1;
}
if (i/10%10 ==1){
sum = sum + 1;
}
if (i/100%10 == 1){
sum = sum + 1;
}
if (i/1000%10 ==1){
sum = sum + 1;
}
}
System.out.println(sum);
可得出结果为1615
35.(7<<1)&15运算后的结果是()
7的二进制数为111,7>>1=1110;
15的二进制数为1101,1110&1101=1100,换算成十进制为14
36.下列循环中,执行break语句后,所列( System.out.println(“3”); )语句将被执行。
System.out.println(“1”);
for (int i = 1; i < 10; i++) {
System.out.println(“3”);
for (int j = 1; j < 10; j++) {
if (i * j > 50) {
System.out.println(“break”);
break;
}
System.out.println(i * j);
}
}
System.out.println(“2”);
36. windows中环境变量PATH中含有多个路径时,路径和路径之间可以用;来隔开?
37. public class Demo{
public static void main(String args[]){
int count=0;
int num=0;
for(int i=0; i<=100;i++){
num=num+i;
count =count++;
}
System.out.println(" num * count = "+(num *count));
}
}

note:count初始值为0,在循环体中: count=count++; 那么,每次循环 count都将先赋值,所以count永远为 0,所以无论循环多少次,num*count=0.
38.java标识符命名规则:
1.由 字母 数字 _(下划线) $ 组成 不能以数字开头
2.严格区分大小写 大小写视为不同名字 ( java是一种强类型语言 )
3.标识符不能用关键字
39.当你编译和运行下面的代码时,会出现下面选项中的哪种情况
public class Pvf{
static boolean Paddy;
public static void main(String[] args){
System.out.println(Paddy);
}
}
java中boolean类型的默认值为false,当main方法执行之前java会先将Pvf类的静态属性Paddy初始化为false;main方法输出false
40.如果jdk的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选c:\jdk\bin;
41.(中序遍历 )二叉排序树可以得到一个从小到大的有序序列。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值