Java刷题总结

选择题

  • 高优先级的线程比低优先级的线程运行得更快。(B)
    A.正确
    B.错误
    解析:
    线程运行速度与线程的优先级无关。

  • 有以下程序片段,下列哪个选项不能插入到第一行 。( A)。

 - 2.public  class  A{
3.//do sth
 - }

A.public class MainClass{ }
B.package mine;
C.class ANotherClass{ }
D.import java.util.*;
解析:
Java一个源程序只能有一个public类存在,且类名与文件名相同。Java程序是从main方法开始执行的,public为类加载器提供入口,然后找到public类中的main方法开始执行。如果存在多个public类,程序将不知道该从哪里执行。
注意,内部类可以是public的,因为内部类是作为外部类的成员存在的。

  • 下列语句哪一个正确(B )
    A.Java程序经编译后会产生machine code
    B.Java程序经编译后会产生byte code
    C.Java程序经编译后会产生DLL
    D.以上都不正确
    解析:
    Java字节码是Java源文件编译产生的中间文件
    java虚拟机是可运行java字节码的假想计算机 java的跨平台性也是相对与其他编程语言而言的
    先介绍一下c语言的编译过程吧先是C语言源程序 也就是c的文件经过C编译程序编译后,生成windows可执行文件exe文件,然后在windows中执行。再介绍java的编译过程先是java源程序扩展名为java的文件,由java编译程序将java字节码文件,就是class文件然后在java虚拟机中执行。机器码是由CPU来执行的。Java编译后是字节码, 电脑只能运行机器码。Java在运行的时候把字节码变成机器码。C/C++在编译的时候直接编译成机器码。

  • 下列说法正确的有(A)
    A.能被java.exe成功运行的java class文件必须有main()方法
    B.J2SDK就是Java API
    C.Appletviewer.exe可利用jar选项运行.jar文件
    D.能被Appletviewer成功运行的java class文件必须有main()方法
    解析:
    A:正确main方法是入口
    B:J2SDK当然不仅仅包含java API
    C:jar选项是java.exe 的选项
    D:Appletviewer是运行applet的, applet 不用main方法,继承applet类即可。

  • 以下代码执行的结果显示是多少()?

public class Demo{
    public static void main(String[] args){
        System.out.print(getNumber(0));
        System.out.print(getNumber(1));
        System.out.print(getNumber(2));
        System.out.print(getNumber(4));
    }
    
    public static int getNumber(int num){
        try{
            int result = 2 / num;
            return result;
        }catch (Exception exception){
            return 0;
        }finally{
            if(num == 0){
                return -1;
            }
            if(num == 1){
                return 1;
            }
        }
    }
}

A.0110
B.-1110
C.0211
D.-1211
解析:
ry,catch,finally中:
num=0,捕获异常,执行catch语句,catch中返回0,执行finally语句,finally语句中返回-1,于是返回finally中的-1;
num=1,try中返回2,执行finally语句,finally语句中返回1,于是返回finally中的1;
num=2,try中返回1,执行finally语句,finally语句中没有返回,于是返回try中的1;
num=4,try中返回0,执行finally语句,finally语句中没有返回,于是返回try中的0.

  • Math.floor(-8.5)=( D)
    A.(float)-8.0
    B.(long)-9
    C.(long)-8
    D.(double)-9.0
    解析:
    在这里插入图片描述

  • 下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换: byte[] src,dst; (B)
    A.dst=String.fromBytes(src,“GBK”).getBytes(“UTF-8”)
    B.dst=new String(src,“GBK”).getBytes(“UTF-8”)
    C.dst=new String(“GBK”,src).getBytes()
    D.dst=String.encode(String.decode(src,“GBK”)),“UTF-8” )
    解析:
    操作步骤就是先解码再编码
    用new String(src,“GBK”)解码得到字符串
    用getBytes(“UTF-8”)得到UTF8编码字节数组

  • 下列关于管道(Pipe)通信的叙述中,正确的是()?
    A.进程对管道进行读操作和写操作都可能被阻塞
    B.一个管道只能有一个进程或一个写进程对其操作
    C.一个管道可实现双向数据传输
    D.管道的容量仅受磁盘容量大小限制
    解析:
    A.正确,因为管道为空,读操作会被阻塞;管道满了,写操作会被阻塞
    B.可以有多个进程对其读;也可以有多个进程写,只不过不能同时写。并且题目没有说“同时”,B不对
    C.匿名管道只能单向;命名管道可以双向;所以C过于绝对
    D.管道是内存中的,所以D不对

  • what is the result of the following code?(C)

enum AccountType
{
    SAVING, FIXED, CURRENT;
    private AccountType()
    {
        System.out.println(“It is a account type”);
    }
}
class EnumOne
{
    public static void main(String[]args)
    {
        System.out.println(AccountType.FIXED);
    }
}

A.Compiles fine and output is prints”It is a account type”once followed by”FIXED”
B.Compiles fine and output is prints”It is a account type”twice followed by”FIXED”
C.Compiles fine and output is prints”It is a account type”thrice followed by”FIXED”
D.Compiles fine and output is prints”It is a account type”four times followed by”FIXED”
解析:
枚举类有三个实例,故调用三次构造方法,打印三次It is a account type。

  • 关于抽象类与接口,下列说法正确的有?(AC)
    A.优先选用接口,尽量少用抽象类
    B.抽象类可以被声明使用,接口不可以被声明使用
    C.抽象类和接口都不能被实例化。
    D.以上说法都不对
    解析:
  1. 一个子类只能继承一个抽象类,但能实现多个接口
  2. 抽象类可以有构造方法,接口没有构造方法
  3. 抽象类可以有普通成员变量,接口没有普通成员变量
  4. 抽象类和接口都可有静态成员变量,抽象类中静态成员变量访问类型任意,接口只能public static final(默认)
  5. 抽象类可以没有抽象方法,抽象类可以有普通方法,接口中都是抽象方法
  6. 抽象类可以有静态方法,接口不能有静态方法
  7. 抽象类中的方法可以是public、protected;接口方法只有public
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值