Java笔试选择题 1 您所在的位置:网站首页 末日三问二代女主 Java笔试选择题 1

Java笔试选择题 1

2023-09-23 08:38| 来源: 网络整理| 查看: 265

1.下列哪种说法是正确的()

 A.实例方法可直接调用超类的实例方法  B.实例方法可直接调用超类的类方法  C.实例方法可直接调用其他类的实例方法  D.实例方法可直接调用本类的类方法  分析:类方法指的是用static关键字修饰的方法,而实例方法就是相对于类方法的其它方法    当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后, 类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是, 当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址, 也就是说,方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才被取消。 对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。从而类方法不仅可以被类创建 的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出才被取消。

对于A,不可以调用父类的private实例方法。因为private修饰的方法只有本类对象才可以调用

对于B,类方法只有本类才可以调用

对于C,跟A相同,比A更离谱

D是正确的

2.下列语句哪一个正确( ) A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

解析:.java文件编译后是字节码,即.class文件,然后java虚拟机把.class文件翻译成字节码,让cpu来调用。这也是跨平台性的体现。所以答案是B

3.Java中将ISO8859-1字符串转成GB2312编码,语句为 ?   A. new String(String.getBytes("ISO8859-1"),GB2312)  B.new String(String.getBytes("GB2312"),ISO8859-1)  C.new String(String.getBytes("ISO8859-1"))  D.new String(String.getBytes("GB2312")) 解析:JAVA有一个public String(byte bytes[], Charset charset)函数可以用指定字节数组和编码来构造字符串。一个public byte[] getBytes(Charset charset)函数把字符串按指定编码来得到字节数组。可以用这两个函数来实现编码转

换。选A

4.下面函数将返回?     public static int func (){     try{         return 1;     }catch (Exception e){         return 2;     }finally{         return 3;     } } A.1  B.2  C.3 D.编译错误

解析:finally一般和try{}catch{}配套使用,try和catch执行之后总会执行finally.并且finally会覆盖前者的return。(当try和catch中有System.exit()语句时,则不会执行finally)

5.下列关于容器集合类的说法正确的是? A.LinkedList继承自List B.AbstractSet继承自Set C.HashSet继承自AbstractSet D.WeakMap继承自HashMap

解析:List、set、Map都是借口,list和set集成了Collection类。A和B应该说实现了接口而不是继承。C是正确的

6.

下面哪项技术可以用在WEB开发中实现会话跟踪实现? A.session B.Cookie C.地址重写 D.隐藏域

解析:实现会话跟踪的机制

Cookies,URL重写,隐藏式表单域,Session机制

Cookies

      Cookies是使用最广泛的会话跟踪机制,Cookies是有服务器创建,并把Cookies信息保存在用户机器上的硬盘上,下次用户再次访问该站点服务器的时候,保存在用户机器上硬盘的Cookies信息就被送回给服务器。一般Cookies一般不多于4KB,且用户的敏感信息如信用卡账号密码不应该保存在Cookies中。

URL重写

       URL重用户在每个URL结尾附加标识回话的数据,与标识符关联的服务器保存有关与会话的数据,如我们访问某个新闻的时候,在地址栏我们一般会看到这样的信息:http://www.XXX.com/news?id=??,通常的话id后面的问号表示该条新闻在后台数据库中的新闻表的id。URL重写能够在客户端停用cookies或者不支持cookies的时候仍然能够发挥作用。

隐藏表单域

      通常,在表单中我们使用隐藏表单域的时候会有这么一句代码:。通过给type属性赋值为hidden值来实现隐藏,这样用户在浏览的时候看不到这行代码的数据,但是当用户通过查看源代码还是可以看到的。

Session机制

       这个机制要慎用,特别是对于访问量很大的站点,因为这种机制是吧Session信息保存在服务器端。如果访问量特别大的话,对于服务器的承受力的要求有多高是可想而知的。

7.以下代码将打印出(C)

public static void main (String[] args) { String classFile = "com. jd. ". replaceA11(".", "/") + "MyClass.class"; System.out.println(classFile); A.com. jdB.com/jd/MyClass.classC./MyClass.classD.com.jd.MyClass  解析:replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:

  1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

  2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;

题目中“.”,在正则表达式中表示任何符号,所以答案是C,五个字母,2个点号,两个空格被代替。

8.

检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果(D)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package algorithms.com.guan.javajicu;  public class Example {     String str = new String( "good" );     char[] ch = { 'a' , 'b' , 'c' };     public static void main(String[] args) {        Example ex = new Example();        ex.change(ex.str, ex.ch);        System.out.print(ex.str + "and" );        System.out.print(ex.ch);      }          public void change(String str, char ch[]){        str= "test ok" ;        ch[0]= 'g' ;     }  }

A.test okandabc B.test okandgbc C.goodandabc D.goodandgbc

解析:String类是final类型的,不能继承和修改这个类。str=“teskok”,其实是隐含的让Java生成一个新的String对象,那么就与原来的“Hello”没有任何关系,当函数结束,str作用结束.ch[]是值传递,所以可以改变。

9.下列程序的运行结果(A)

1 2 3 4 5 6 7 8 9 10 11 public void getCustomerInfo() {          try {              // do something that may cause an Exception          } catch (java.io.FileNotFoundException ex) {              System.out.print( "FileNotFoundException!" );          } catch (java.io.IOException ex) {              System.out.print( "IOException!" );          } catch (java.lang.Exception ex) {              System.out.print( "Exception!" );          }      } A.IOException!B.IOException!Exception!C.FileNotFoundException!IOException!D.FileNotFoundException!IOException!Exception!

解析:

try-catch-finally 规则(异常处理语句的语法规则)

1)  必须在 try 之后添加 catch 或 finally 块。try 块后可同时接 catch 和 finally 块,但至少有一个块。

2) 必须遵循块顺序:若代码同时使用 catch 和 finally 块,则必须将 catch 块放在 try 块之后。 3) catch 块与相应的异常类的类型相关。 4) 一个 try 块可能有多个 catch 块。若如此,则执行第一个匹配块。即Java虚拟机会把实际抛出的异常对象依次和各个catch代码块声明的异常类型匹配,如果异常对象为某个异常类型或其子类的实例,就执行这个catch代码块,不会再执行其他的 catch代码块 5) 可嵌套 try-catch-finally 结构。 6) 在 try-catch-finally 结构中,可重新抛出异常。

7) 除了下列情况,总将执行 finally 做为结束:JVM 过早终止(调用 System.exit(int));在 finally 块中抛出一个未处理的异常;计算机断电、失火、或遭遇病毒攻击

由此可以看出,catch只会匹配一个,因为只要匹配了一个,虚拟机就会使整个语句退出

9.下面属于java包装类的是?  A.String  B.Long  C.Character  D.Short

解析:Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,即包装类。对应的基本类型和包装类如下表:

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有