自学内容网 自学内容网

软件开发----Java基础每日刷题(转载于牛客)

1.        A 是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明:

1. A  a0=new  A();

2. A  a1 =new  B();

3. A  a2=new  C();

问以下哪个说法是正确的?( )

A        第1行不能通过编译

       第1、2行能通过编译,但第3行编译出错

       第1、2、3行能通过编译,但第2、3行运行时出错

       第1行、第2行和第3行的声明都是正确的

正确答案:A

解析:

抽象类或接口不能实例化。

第1行肯定不能通过编译。

第2行和第3行,若B和C是抽象父类或接口,也不能通过编译。

题目不严谨。


2.        J2EE中,当把来自客户机的HTTP请求委托给servlet时,会调用HttpServlet的( )方法

       service

B        doget

C        dopost

D        init

正确答案:A

解析:

HttpServlet容器响应Web客户请求流程如下:

1)Web客户向Servlet容器发出Http请求;

2)Servlet容器解析Web客户的Http请求;

3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;

4)Servlet容器创建一个HttpResponse对象;

5)Servlet容器调用HttpServlet的service方法,这个方法中会根据request的Method来判断具体是执行doGet还是doPost,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;

6)HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;

7)HttpServlet调用HttpResponse的有关方法,生成响应数据;

8)Servlet容器把HttpServlet的响应结果传给Web客户。

doGet() 或 doPost() 是创建HttpServlet时需要覆盖的方法.


3.        在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?

A        管道

B        消息队列

C        高速缓存数据库

D        套接字

正确答案:A

解析:

对于管道,有下面这几种类型:

①普通管道(PIPE):通常有两种限制,一是单工,即只能单向传输;二是血缘,即常用于父子进程间(或有血缘关系的进程间)。

②流管道(s_pipe):去除了上述的第一种限制,实现了双向传输。

③命名管道(name_pipe):去除了上述的第二种限制,实现了无血缘关系的不同进程间通信。

显然,要求是对于不同的服务器之间的通信,是要要求全双工形式的,而管道只能是半双工,虽然可以双向,但是同一时间只能有一个方向传输,全双工和半双工的区别可以如下图示理解:


4.        下面哪个不属于HttpServletResponse接口完成的功能?

A        设置HTTP头标

B        设置cookie

       读取路径信息

D        输出返回数据

正确答案:C

解析:

A:设置HTTP头标  

response.setHeader("Refresh","3"); //三秒刷新页面一次

B:设置cookie

Cookie c1 = new Cookie("username","only");
response.addCookie(c1);

C(错误):读取路径信息,request读取路径信息

从request获取各种路径总结 
request.getRealPath("url"); // 虚拟目录映射为实际目录
request.getRealPath("./");    // 网页所在的目录
request.getRealPath("../"); // 网页所在目录的上一层目录
request.getContextPath();    // 应用的web目录的名称

D:输出返回数据

HttpServleteResponse.getOutputStream().write()

5.        已知 boolean result = false,则下面哪个选项是合法的:

A        result=1

B        result=true;

C        if(result!=0) {//so something…}

D        if(result) {//do something…}

正确答案:BD

解析:

1、boolean类型只有两个直接量值:true和false.

2、除成员变量会有默认初始值外,其他变量必须在第一次使用之前初始化


6.        下列符号中可以在 java 程序里表示单行注释的是( )

       --

       /* ……*/

       //

D        /** ……*/

正确答案:C


7.        程序文件名必须与公共外部类的名称完全一致(包括大小写).

A        正确

B        错误

正确答案:A

解析:

一个java文件里可以有多个class,但是只能有一个public class外部类,并且类名必须和.java文件名相同


8.        问这个程序的输出结果。

class Base

{

    public void method()

    {

        System.out.println("Base");

    } 

}

class Son extends Base

{

    public void method()

    {

        System.out.println("Son");

    }

     

    public void methodB()

    {

        System.out.println("SonB");

    }

}

public class Test01

{

    public static void main(String[] args)

    {

        Base base = new Son();

        base.method();

        base.methodB();

    }

}

A        Base SonB

B        Son SonB

C        Base Son SonB

       编译不通过

正确答案:D

解析:

多态成员访问特点

成员变量:编译看左边,运行看左边

静态变量:编译看左边,运行看左边

成员方法:编译看左边,运行看右边

静态方法:编译看左边,运行看左边


9.        以下 json 格式数据,错误的是

A        {company:4399}

B        {"company":{"name":[4399,4399,4399]}}

       {[4399,4399,4399]}

       {"company":[4399,4399,4399]}

E        {"company":{"name":4399}}

正确答案:AC

解析:

JSON由{键:值}组成,需要注意的是:
1)键用引号(单双都行)引起来,也可以不使用引号;
2)值得取值类型:
1. 数字(整数或浮点数)
2. 字符串(在双引号中)
3. 逻辑值(true 或 false)
4. 数组(在方括号中) {"persons":[value1 , value2]}
5. JSON对象(在花括号中) {"address":{"province":"陕西"....}}
6. null

据此分析,BDE是对的,A中冒号是中文冒号,C中没有键


10.        下面的Java赋值语句哪些是有错误的 ()

A        int i =1000;

B        float f = 45.0;

C        char s = ‘\u0639’;

       Object o = ‘f’;

E        String s = "hello,world\0";

F        Double d = 100;

正确答案:BF

解析:

b:小数如果不加 f 后缀,默认是double类型。double转成float向下转换,意味着精度丢失,所以要进行强制类型转换。

c:是使用unicode表示的字符。

d:'f' 字符会自动装箱成包装类,就可以向上转型成Object了。

f:整数默认是int类型,int类型不能转型为Double,最多通过自动装箱变为Integer但是Integer与Double没有继承关系,也没法进行转型。


原文地址:https://blog.csdn.net/weixin_62803673/article/details/142937657

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!