zoukankan      html  css  js  c++  java
  • 牛客刷题2020年9月9日

    牛客刷题2020年9月9日

    1. 下列说法正确的有()

      正确答案: A 你的答案: D (错误)

      数组是一种对象
      数组属于一种原生类
      int number=[]={31,23,33,43,35,63}
      数组的大小可以任意改变
      解释:原生类是指Java中,数据类型分为基本数据类型(或叫做原生类、内置类型)和引用数据类型。->数组是一种引用类型。
      
    2. 以下哪一项正则能正确的匹配网址: http://www.bilibili.com/video/av21061574 ()

      正确答案: B 你的答案: D (错误)

      /^(https?://)?([a-zA-Zd]+).bilibili.com/?video/av(D{1,8})/?$/
      /^(http://)?(w+).bilibili.com/?video/av(d{1,8})/?$/
      /^(https?://)?(w+).bilibili.com/?w*$/
      /^(http://)?([a-zA-Zd]+).bilibili.com/?video/avw*/+$/
      解释:
      正则表达式的知识点:
      首先,^表示匹配输入的开始,$表示匹配输入的结束
      每个选项从前向后看,http都能够严格匹配
      ?表示匹配某元素0次或1次,这里四个选项都没有问题,能够匹配0次或1次字符s
      接下来:严格匹配,//严格匹配两个//
      接着往下看,[]表示字符集合,它用在正则表达式中表示匹配集合中的任一字符
      A D 选项中的 [a-zA-Zd] 表示匹配一个小写字母 或者 大写字母 或者 数字
      B C 选项中的 w 表示匹配字母数字或下划线(注意这里比A D中能多匹配下划线类型)
      +表示匹配某元素1次或多次,到这里四个选项都能够完美匹配字符www
      .可以匹配除了换行符
       
      外的任何字符
      接下来我们看选项A,bilibili com video av都严格匹配,而 D 表示匹配一个非数字字符而非数字字符,av后的数字是无法匹配成功的,A错误
      B选项,d匹配数字,{m,n}表示最少匹配m次,最多匹配n次,/?能匹配末尾的0个或1个/字符,B正确
      C选项,*表示匹配某元素0次或多次,但 w 并不能匹配字符 /,C错误
      D选项,前面都对,错在最后的/+至少要匹配一个/,而原字符串最后并没有/
      
    3. 下面关于JAVA的垃圾回收机制,正确的是( )

      正确答案: B 你的答案: C (错误)

      当调用“System.gc()”来强制回收时,系统会立即回收垃圾
      垃圾回收不能确定具体的回收时间
      程序可明确地标识某个局部变量的引用不再被使用
      程序可以显式地立即释放对象占有的内存
      解释:
      java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。当对象的引用变量被赋值为null,可能被当成垃圾。
      
    4. String s = new String("xyz");创建了几个StringObject?

      正确答案: A 你的答案: C (错误)

      两个或一个都有可能
      两个
      一个
      三个
      解释:
      着重解释:这种类型的题很容易考,考察的就是java的基础牢固不牢固。具体可以看下解释内容
      1.String对象的两种创建方式:
      第一种方式: String str1 = "aaa"; 是在常量池中获取对象("aaa" 属于字符串字面量,因此编译时期会在常量池中创建一个字符串对象),
      第二种方式: String str2 = new String("aaa") ; 一共会创建两个字符串对象一个在堆中,一个在常量池中(前提是常量池中还没有 "aaa" 字符串对象)。
      System.out.println(str1==str2);//false
      
      2.String类型的常量池比较特殊。它的主要使用方法有两种:
      直接使用双引号声明出来的String对象会直接存储在常量池中。
      如果不是用双引号声明的String对象,可以使用 String 提供的 intern 方法。 String.intern() 是一个 Native 方法,它的作用是: 如果运行时常量池中已经包含一个等于此 String 对象内容的字符串,则返回常量池中该字符串的引用; 如果没有,则在常量池中创建与此 String 内容相同的字符串,并返回常量池中创建的字符串的引用。
      String s1 = new String("AAA");
      String s2 = s1.intern();
      String s3 = "AAA";
      System.out.println(s2);//AAA
      System.out.println(s1 == s2);//false,因为一个是堆内存中的String对象一个是常量池中的String对象,
      System.out.println(s2 == s3);//true, s2,s3指向常量池中的”AAA“
      
    5. 在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象

      正确答案: C 你的答案: A (错误)

      Servlet对象
      HTTP服务器
      Web容器
      JSP网页
      解释:
      servlet是运行在服务器端的小应用程序,是接收网络服务的请求和产生响应的一种方式。
      servlet的功能:接受http请求,产生动态http响应。
      
    6. 对于文件的描述正确的是( )

      正确答案: D 你的答案: B (错误)

      A 文本文件是以“.txt”为后缀名的文件,其他后缀名的文件是二进制文件。
      B File类是Java中对文件进行读写操作的基本类。
      C 无论文本文件还是二进制文件,读到文件末尾都会抛出EOFException异常。
      D Java中对于文本文件和二进制文件,都可以当作二进制文件进行操作。
      解释:
      A.文件分为文本文件和二进制文件,计算机只认识二进制,所以实际上都是二进制的不同解释方式。文本文件是以不同编码格式显示的字符,例如Ascii、Unicode等,window中文本文件的后缀名有".txt",".log",各种编程语言的源码文件等;二进制文件就是用文本文档打开是看不懂乱码,只要能用文本打开的文件都可以算是文本文件,只是显示的结果不是你想要的,二进制文件只有用特殊的应用才能读懂的文件,例如".png",".bmp"等,计算机中大部分的文件还是二进制文件。
      B.File类是对文件整体或者文件属性操作的类,例如创建文件、删除文件、查看文件是否存在等功能,不能操作文件内容;文件内容是用IO流操作的。
      C.当输入过程中意外到达文件或流的末尾时,抛出EOFException异常,正常情况下读取到文件末尾时,返回一个特殊值表示文件读取完成,例如read()返回-1表示文件读取完成。
      D.上面A选项已经说了,不论是文本文件还是二进制文件,在计算机中都是以二进制形式存储的,所以都当做二进制文件读取。
      

    最后说一下final关键字吧:

    1.final修饰变量,则等同于常量

    2.final修饰方法中的参数,称为最终参数。

    3.final修饰类,则类不能被继承

    4.final修饰方法,则方法不能被重写。

    5.final 不能修饰抽象类

    6.final修饰的方法可以被重载 但不能被重写

  • 相关阅读:
    2019 ICPC Malaysia National H题
    欧拉定理证明
    P3384 【模板】树链剖分
    HDU 6070 Dirt Ratio(线段树、二分)
    51Nod 1571 最近等对(线段树、离线查询)
    51Nod 1781 Pinball(线段树、dp、离散化)
    51Nod 1494 选举拉票(权值线段树)
    51Nod 1766 树上的最远点对(欧拉序、lca、线段树区间合并)
    lintcode-179-更新二进制位
    lintcode-178-图是否是树
  • 原文地址:https://www.cnblogs.com/chenyameng/p/13636933.html
Copyright © 2011-2022 走看看