精华内容
下载资源
问答
  • 异常处理、tkinter编程

    2020-05-24 16:29:21
    一.单选题(共11题,78.1分) 1 1.下列关于Python异常处理的描述中,不正确的是( )。...以下关于异常处理try语句块的说法,不正确的是( )。 A、 finally语句中的代码段始终要被执行 B、 一个try块后接一个

    一.单选题(共11题,78.1分)
    1
    1.下列关于Python异常处理的描述中,不正确的是( )。

    A、
    异常处理可以通过try-except语句实现。

    B、
    任何需要检测的语句必须在try语句块中执行,并由except语句处理异常。

    C、
    raise语句引发异常后,它后面的语句不再执行。

    D、
    except语句处理异常最多有两个分支。

    正确答案: D

    2
    以下关于异常处理try语句块的说法,不正确的是( )。

    A、
    finally语句中的代码段始终要被执行

    B、
    一个try块后接一个或多个except块

    C、
    一个try块后接一个或多个finally块

    D、
    try必须与except或finally块一起使用

    正确答案: C

    3
    Python异常处理机制中没有( )语句

    A、
    try

    B、
    throw

    C、
    assert

    D、
    finally

    正确答案: B

    4
    如果以负数作为平方根函数math.sqrt()的参数,将产生( )。

    A、
    死循环

    B、
    复数

    C、
    ValueError异常

    D、
    finally

    正确答案: C
    5
    下列程序的输出结果是( )。

    try:

    x=1/2
    

    except ZeroDivisionError:

    print('AAA')
    

    A、
    0

    B、
    0.5

    C、
    AAA

    D、
    无输出

    正确答案: D
    6
    下列程序的输出结果是( )。

    x=10

    raise Exception(“AAA”)

    x+=10

    print(“x=”,x)

    A、
    Exception: AAA

    B、
    10

    C、
    20

    D、
    x=20

    正确答案: A
    7
    下列控件类中,可用于创建单行文本框的是( )。

    A、
    Button

    B、
    Label

    C、
    Entry

    D、
    Text

    正确答案: C
    8
    如果要输入学生的兴趣爱好,比较好的方法是采用( )。

    A、
    单选按钮

    B、
    复选框

    C、
    文本框

    D、
    列表框

    正确答案: B
    9
    如果要输入学生的性别,比较好的方法是采用( )。

    A、
    单选按钮

    B、
    复选框

    C、
    文本框

    D、
    列表框

    正确答案: A
    10
    下列选项中,可用于将tkinter模块创建的控件放置于窗体的是( )。

    A、
    pack

    B、
    show

    C、
    set

    D、
    bind

    正确答案: A
    11
    事件表示( )。

    A、
    单击鼠标右键

    B、
    单击鼠标左键

    C、
    双击鼠标右键

    D、
    双击鼠标左键

    正确答案: B
    二.填空题(共3题,21.9分)
    1
    下列程序的输出结果是 。

    try:

    print(2/'0')
    

    except ZeroDivisionError:

    print('AAA')
    

    except Exception:

    print('BBB')
    

    正确答案:

    第一空:
    BBB

    2
    通过控件的 和 属性,可以设置控件的宽度和高度。

    正确答案:

    第一空:
    width

    第二空:
    height

    3
    用户实施的某个操作就引发一个 。就操作的设备来说,常见的事件有 事件和 事件。

    正确答案:

    第一空:
    事件

    第二空:
    鼠标

    第三空:
    键盘

    展开全文
  • 事务处理原理 第2版

    热门讨论 2012-12-30 10:49:38
    2.2.6 异常处理 2.2.7 保存点 2.2.8 使用保存点支持嵌套事务 2.3 进程和线程 2.3.1 为什么需要线程 2.3.2 实现线程 2.4 远程过程调用 2.4.1 事务rpc 2.4.2 绑定客户机和服务器 2.4.3 rpc走查 2.4.4 rpc系统特性 ...
  • 正确跟踪三角形边缘 1/10 特征。 另一个特征沿着中间右侧六边形缓慢移动。 请注意,它们将使用进一步工作中提到修改进行修复。 活动报名 [2] 这显示了 [2] 中描述的注册序列。 在此动画中,异常值已被移除且...
  • 9、下列有关数据库的描述正确的是()。 A、数据库是一个DBF文件 B、数据库是一个关系 C、数据库是一个结构化的数据集合 D、数据库是一组文件 我的答案:C 10、下列说法中,不属于数据模型所描述的内容的是...
  • Java错题集(十三)

    2021-02-08 12:22:01
    下列关于异常处理的描述中,错误的是()。 Java的体系结构包含()。 下面有关 java 类加载器,说法正确的是?() 下列哪些操作会使线程释放锁资源? 下面有关JVM内存,说法错误的是? 以下代码将打印出 关于上面...

    目录

    以下哪个事件会导致线程销毁?()

    下面有关java基本类型的默认值和取值范围,说法错误的是?

    下列关于异常处理的描述中,错误的是()。

    Java的体系结构包含(    )。

    下面有关 java 类加载器,说法正确的是?()

    下列哪些操作会使线程释放锁资源?

    下面有关JVM内存,说法错误的是?

    以下代码将打印出

    关于上面代码片段叙述正确的是()

    假定Base b = new Derived(); 调用执行b.methodOne()后,输出结果是什么?

    关于多线程和多进程,下面描述正确的是():

    以下JAVA程序的运行结果是什么(  )

    以下哪个不能用来处理线程安全

    若采用命令行“java Test one two three”调用,则程序输出的结果为:

    This调用语句必须是构造函数中的第一个可执行语句。

    String s = new String("xyz");创建了几个StringObject?

    将此对象序列化为文件,并在另外一个JVM中读取文件,进行反序列化,请问此时读出的Data0bject对象中的word和i的值分别为:


    以下哪个事件会导致线程销毁?()

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

    调用方法sleep()
    调用方法wait()
    start()方法的执行结束
    run()方法的执行结束

    来源:https://www.nowcoder.com/questionTerminal/e108aea70e334abc84f9001734fe3c4c

     

    下面有关java基本类型的默认值和取值范围,说法错误的是?

    正确答案: C   你的答案: C (正确)

    字节型的类型默认值是0,取值范围是-2^7—2^7-1
    boolean类型默认值是false,取值范围是true\false
    字符型类型默认是0,取值范围是-2^15 —2^15-1
    long类型默认是0,取值范围是-2^63—2^63-1

    来源:https://www.nowcoder.com/questionTerminal/18f100abfe294eceb6c421d2f6501c1d

                     默认值        取值范围                  示例

    字节型 : 0                 -2^7—-2^7-1            byte b=10;

    字符型 : ‘ \u0000′      0—-2^16-1              char c=’c’ ;

    short :      0                  -2^15—-2^15-1       short s=10;

    int :          0                  -2^31—-2^31-1       int i=10;

    long :       0                  -2^63—-2^63-1       long o=10L;

    float :       0.0f              -2^31—-2^31-1       float f=10.0F

    double :   0.0d             -2^63—-2^63-1       double d=10.0;

    boolean:  false             true\false                boolean flag=true

     

    下列关于异常处理的描述中,错误的是()。

    正确答案: D   你的答案: D (正确)

    程序运行时异常由Java虚拟机自动进行处理
    使用try-catch-finally语句捕获异常
    可使用throw语句抛出异常
    捕获到的异常只能在当前方法中处理,不能在其他方法中处理

    来源:https://www.nowcoder.com/questionTerminal/aa997d8ad0c54da0ae8e0f22c00f1e0d

    编译时异常必须显示处理,运行时异常交给虚拟机。

    运行时异常可以不处理。当出现这样的异常时,总是由虚拟机接管。

    比如我们从来没有人去处理过Null Pointer Exception异常,它就是运行时异常,并且这种异常还是最常见的异常之一。

    出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。

    如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。

    抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,整个程序也就退出了。

    运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。

    只不过往往不对它处理罢了。也就是说,如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。

     

    Java的体系结构包含(    )。

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

    Java编程语言
    Java类文件格式
    Java API
    JVM

    来源:https://www.nowcoder.com/questionTerminal/00f7f8eb019945e4876b724338f84f18
    Java体系结构包括四个独立但相关的技术:

    • Java程序设计语言
    • Java.class文件格式
    • Java应用编程接口(API)
    • Java虚拟机

    我们再在看一下它们四者的关系:

        当我们编写并运行一个Java程序时,就同时运用了这四种技术,用Java程序设计语言编写源代码,把它编译成Java.class文件格式,然后再在Java虚拟机中运行class文件。当程序运行的时候,它通过调用class文件实现了Java API的方法来满足程序的Java API调用

     

    下面有关 java 类加载器,说法正确的是?()

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

    引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的
    扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。
    系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类
    tomcat 为每个 App 创建一个 Loader,里面保存着此 WebApp 的 ClassLoader。需要加载 WebApp 下的类时,就取出 ClassLoader 来使用

    来源:https://www.nowcoder.com/questionTerminal/99bfa10e4c1e429e98856bca6d80586e

    类的加载是由类加载器完成的,类加载器包括:根加载器( BootStrap )扩展加载器( Extension )系统加载器( System )用户自定义类加载器( java.lang.ClassLoader 的子类)

    从 Java 2 ( JDK 1.2 )开始,类加载过程采取了父亲委托机制( PDM )。 PDM 更好的保证了 Java 平台的安全性,在该机制中, JVM 自带的 Bootstrap 是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。 JVM 不会向 Java 程序提供对 Bootstrap 的引用。下面是关于几个类加载器的说明:

    • Bootstrap :一般用本地代码实现,负责加载 JVM 基础核心类库( rt.jar );
    • Extension :从 java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是 Bootstrap ;
    • system class loader :又叫应用类加载器,其父类是 Extension 。它是应用最广泛的类加载器。它从环境变量 classpath 或者系统属性 java.class.path 所指定的目录中记载类,是用户自定义加载器的默认父加载器。
    • 用户自定义类加载器: java.lang.ClassLoader 的子类

      父类委托机制是可以修改的,有些服务器就是自定义类加载器优先的。

     

    下列哪些操作会使线程释放锁资源?

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

    sleep()
    wait()
    join()
    yield()

    来源:https://www.nowcoder.com/questionTerminal/3a3f308d61d0453e91ccc23bd6aff468

    1.sleep会使当前线程睡眠指定时间,不释放锁

    2.yield会使当前线程重回到可执行状态,等待cpu的调度,不释放锁

    3.wait会使当前线程回到线程池中等待,释放锁,当被其他线程使用notify,notifyAll唤醒时进入可执行状态

    4.当前线程调用 某线程.join()时会使当前线程等待某线程执行完毕再结束,底层调用了wait,释放锁

     

    下面有关JVM内存,说法错误的是?

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

    程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
    虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
    方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的
    原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

    来源:https://www.nowcoder.com/questionTerminal/2a1cdf3e61d14947bf00dfe10e25a2c0

    大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) ,   VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack  ( 本地方法栈 ),其中Method Area 和  Heap 是线程共享的  ,VM Stack,Native Method Stack  和Program Counter Register  是非线程共享的。为什么分为 线程共享和非线程共享的呢?请继续往下看。

    首先我们熟悉一下一个一般性的 Java 程序的工作过程。一个 Java 源程序文件,会被编译为字节码文件(以 class 为扩展名),每个java程序都需要运行在自己的JVM上,然后告知 JVM 程序的运行入口,再被 JVM 通过字节码解释器加载运行。那么程序开始运行后,都是如何涉及到各内存区域的呢?

    概括地说来,JVM初始运行的时候都会分配好 Method Area(方法区) 和Heap(堆) ,而JVM 每遇到一个线程,就为其分配一个 Program Counter Register(程序计数器) ,   VM Stack(虚拟机栈)和Native Method Stack  (本地方法栈), 当线程终止时,三者(虚拟机栈,本地方法栈和程序计数器)所占用的内存空间也会被释放掉。这也是为什么我把内存区域分为线程共享和非线程共享的原因,非线程共享的那三个区域的生命周期与所属线程相同,而线程共享的区域与JAVA程序运行的生命周期相同,所以这也是系统垃圾回收的场所只发生在线程共享的区域(实际上对大部分虚拟机来说知发生在Heap上)的原因。

     

    以下代码将打印出

    1

    2

    3

    4

     public static void main (String[] args) { 

        String classFile = "com.jd.". replaceAll(".""/") + "MyClass.class";

        System.out.println(classFile);

    }

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

    com. jd
    com/jd/MyClass.class
    ///MyClass.class
    com.jd.MyClass

    来源:https://www.nowcoder.com/questionTerminal/53ea61fdee47423fb63a71d9dd0309f4

    由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/"。

    如果想替换的只是".",那么就要写成"\\.".

    如果想替换的只是“.”的话,正则表达式那里就要写成“\\.”或者是“[.]”。前者将“.”转义为“.”这个具体字符,后者则匹配“[]”中的任意字符,“.”就代表具体字符“.”。

     

    代码片段: 

    1

    2

    3

    4

    5

    byte b1=1,b2=2,b3,b6; 

    final byte b4=4,b5=6

    b6=b4+b5; 

    b3=(b1+b2); 

    System.out.println(b3+b6);

    关于上面代码片段叙述正确的是()

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

    输出结果:13
    语句:b6=b4+b5编译出错
    语句:b3=b1+b2编译出错
    运行期抛出异常

    来源:https://www.nowcoder.com/questionTerminal/344945bc01fd49b5beca0cf5f6edea78

    被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了

    b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。

    Java中的byte,short,char进行计算时都会提升为int类型。

     

    假定Base b = new Derived(); 调用执行b.methodOne()后,输出结果是什么?

    public class Base
    {
       public void methodOne()
       {
          System.out.print("A");
          methodTwo();
       }
    
       public void methodTwo()
       {
          System.out.print("B");
       }
    }
    
    public class Derived extends Base
    {
       public void methodOne()
       {
          super.methodOne();
          System.out.print("C");
       }
    
       public void methodTwo()
       {
          super.methodTwo();
          System.out.print("D");
       }
    }

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

    ABDC
    AB
    ABCD
    ABC

    来源:https://www.nowcoder.com/questionTerminal/b2d79f37c4f444d989d47a392147d65e

    只要是被子类重写的方法,不被super调用都是调用子类方法

     

    关于多线程和多进程,下面描述正确的是():

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

    多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间。
    线程因为有自己的独立栈空间且共享数据,所有执行的开销相对较大,同时不利于资源管理和保护。
    线程的通信速度更快,切换更快,因为他们在同一地址空间内。
    一个线程可以属于多个进程。

    来源:https://www.nowcoder.com/questionTerminal/fbe0cb97dcff4df5bf849d15cbe29e64

    A.子进程得到的是除了代码段是与父进程共享以外,其他所有的都是得到父进程的一个副本,子进程的所有资源都继承父进程,得到父进程资源的副本,子进程可获得父进程的所有堆和栈的数据,但二者并不共享地址空间。两个是单独的进程,继承了以后二者就没有什么关联了,子进程单独运行;进程的线程之间共享由进程获得的资源,但线程拥有属于自己的一小部分资源,就是栈空间,保存其运行状态和局部自动变量的。

    B.线程之间共享进程获得的数据资源,所以开销小,但不利于资源的管理和保护;而进程执行开销大,但是能够很好的进行资源管理和保护。

    C.线程的通信速度更快,切换更快,因为他们共享同一进程的地址空间。

    D.一个进程可以有多个线程,线程是进程的一个实体,是CPU调度的基本单位。

     

    以下JAVA程序的运行结果是什么(  )

    public static void main(String[] args) {
    
        Object o1 = true ? new Integer(1) : new Double(2.0);
    
        Object o2;
    
        if (true) {
    
            o2 = new Integer(1);
    
        } else {
    
            o2 = new Double(2.0);
    
        }
    
        System.out.print(o1);
    
        System.out.print(" ");         
    
        System.out.print(o2);
    
    }

     

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

    1 1
    1.0 1.0
    1 1.0
    1.0 1

    来源:https://www.nowcoder.com/questionTerminal/701d348fec8f4c1893740e253217a65f

    三元操作符类型的转换规则:三元运算符会对两个结果的数据类型,进行自动的类型提升。
    1.若两个操作数不可转换,则不做转换,返回值为Object类型
    2.若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。
    3.若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则T转换为S类型。

    4.若两个操作数都是直接量数字,则返回值类型为范围较大者

    符合4,所以选D.

     

    以下哪个不能用来处理线程安全

    正确答案: D   你的答案: D (正确)

    synchronized关键字
    volatile关键字
    Lock类
    transient关键字

    来源:https://www.nowcoder.com/questionTerminal/dd1854a663654400ad8c54a49c664011

    synchrozied关键字 称作同步,主要用来给方法、代码块加锁,被加锁的代码段,同一时间内多线程同时访问同一对象的加锁方法/代码块时,只能有一个线程执行能执行方法/代码块中的代码,其余线程必须等待当前线程执行完以后才执行该方法/代码块。

    volatile关键字 1.保证了不同线程对该变量操作的内存可见性.(当一个线程修改了变量,其他使用次变量的线程可以立即知道这一修改)。2.禁止了指令重排序.

    Lock接口 提供了与synchronized关键字类似的同步功能,但需要在使用时手动获取锁和释放锁。

    transient关键字  简单地说,就是让某些被修饰的成员属性变量不被序列化。

     

    如下的Java程序 

    public class Test { 
         public static void main(String[] args) { 
         System.out.println(args[0]); 
         } 
    } 

    若采用命令行“java Test one two three”调用,则程序输出的结果为:

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

    Test
    one
    two
    java

    来源:https://www.nowcoder.com/questionTerminal/fb0b258bc80b4da0bdfea52818389c23

    采用命令行“ java Test one two three ”调用

    其中Test为调用的方法,而one two three则为Test方法里面main函数的参数;

      System.out.println(args[0]);表示输出第一个元素,故为one;

     

    This调用语句必须是构造函数中的第一个可执行语句。

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

    正确
    错误

    来源:https://www.nowcoder.com/questionTerminal/c051336317bd4a2f99eccb0913d0c965

    this()和super()为构造方法,作用是在JVM堆中构建出一个对象。

    因此避免多次创建对象,同一个方法内只能调用一次this()或super()。

    同时为了避免操作对象时对象还未构建成功,需要this()和super()的调用在第一行实现【以此来创建对象】,防止异常。

     

    String s = new String("xyz");创建了几个StringObject?

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

    两个或一个都有可能
    两个
    一个
    三个

    来源:https://www.nowcoder.com/questionTerminal/644933ebcb814fc3a99c8533b8ac6301

    String str2 = new String("aaa") ; 一共会创建两个字符串对象 一个在堆中,一个在常量池中(前提是常量池中还没有 "aaa" 字符串对象)。

     

    public class DataObject implements Serializable{
        private static int i=0;
        private String word=" ";
        public void setWord(String word){
            this.word=word;
        }
        public void setI(int i){
            Data0bject. i=I;
         }
    }

    创建一个如下方式的DataObject:

    DataObject object=new Data0bject ( );
    object. setWord("123");
    object. setI(2); 

    将此对象序列化为文件,并在另外一个JVM中读取文件,进行反序列化,请问此时读出的Data0bject对象中的word和i的值分别为:
     

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

    "", 0
    "", 2
    "123", 2
    "123", 0

    来源:https://www.nowcoder.com/questionTerminal/cbec6a41dc75420eb4f909a5fd4652bf

    序列化的是对象,不是类类变量不会被序列化

     

     

    展开全文
  • 9 以下关于异常的描述错误的是:( )A、RuntimeException:可以不使用try…catch进行处理,但是如果有异常产生,则异常将由JVM进行处理B、finally语句块是不管有没有出现异常都要执行的内容C、throw关键字可以在...

    9 以下关于异常的描述错误的是:( )

    A、RuntimeException:可以不使用try…catch进行处理,但是如果有异常产生,则异常将由JVM进行处理

    B、finally语句块是不管有没有出现异常都要执行的内容

    C、throw关键字可以在方法上声明该方法要抛出的异常

    D、try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句


    正确答案: C


    解析:

    关键字是throws
    throw语句用在方法体内,表示抛出异常,由方法体内的语句处理
    throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理,必须做出处理(捕获或继续声明)

    展开全文
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? *3.4 有这样一个巧妙的表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b的值。 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副...
  • 因此,对象名(变量)实际上存放的是一个被实例化之后的对象所占有的内存区域 的指针。 例如: type objectName = new type ( [paramlist] ); 运算符 new 为对象分配内存空间 ,实例化一个对象 。new 调用对象的构造...
  • 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 34  *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 34 3.5 可否用显式括号来强制执行我所需要的计算顺序并...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 34  *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 34 3.5 可否用显式括号来强制执行我所需要的计算顺序并...
  • 1.6.4 提供高效查询处理的存储结构 13 1.6.5 提供备份与恢复 14 1.6.6 提供多用户界面 14 1.6.7 表示数据间复杂联系 14 1.6.8 确保完整性约束 14 1.6.9 允许使用规则进行推理和动作 15 ...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    3, 有的为4, 哪个是正确的? . . . . . . . . . . . . . . . . . . . . . 14 3.4 这是个巧妙的表达式: a ˆ= b ˆ= a ˆ= b 它不需要临时变量就可 以交换a 和b 的值。. . . . . . . . . . . . . . . . . . . . . . ....
  • Java选择题

    2021-06-11 17:18:34
    1.下面关于构造方法的说法不正确的是 (B) A 构造方法也属于类的方法,可以创建对象的时候给成员变量赋值 B 构造方法不可以重载 C 构造方法没有返回值 D 构造方法一定要和类名相同 解析: 1.构造方法也是类的方法,...

    ** 1.下面关于构造方法的说法不正确的是 (B)**
    A 构造方法也属于类的方法,可以创建对象的时候给成员变量赋值
    B 构造方法不可以重载
    C 构造方法没有返回值
    D 构造方法一定要和类名相同

    解析:
    1.构造方法也是类的方法,可以在创建对象时为成员变量赋值
    2.构造方法可以进行重载,但是参数列表必须不相同,不以返回值和访问级别进行区分
    3.构造方法没有返回值
    4.构造方法一定要与定义为public的类同名

    2.在异常处理中,以下描述不正确的有(D)
    A try块不可以省略
    B 可以使用多重catch块
    C finally块可以省略
    D catch块和finally块可以同时省略

    解析:
    用try-catch 捕获异常;
    用try-finally 清除异常;
    用try-catch-finally 处理所有的异常.
    三者选一种即可

    3.下列描述中,错误的是(C)
    A SQL语言又称为结构化查询语言
    B java中”static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问
    C 面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变不会反映到所引用的对象上
    D java是强类型语言,javascript是弱类型语言
    E 面向对象的三大特性包括:封装,继承,多态

    解析:
    值传递,传递的是原来值的副本。
    引用传递,除了一些特殊的(String,包装类属于不可变类),一般的引用类型在进行传递的时候,一开始形参和实参都是指向同一个地址的,这个时候形参对对象的改变会影响到实参。

    4.程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10 ,使用throw语句显式地引发异常,异常输出信息为”something’ swrong!" ,语句为( A)
    A.if(>10)throw new Exception(“something’ swrong!”;
    B. if(i>10)throw Exception e(“something’ swrong!”);
    C. if(i>10) throw new Exception e(“something’ swrong!”);
    D. if(i>10)throw Exception( “something’ swrong!”;

    解析:
    throw是语句抛出异常,有两种用法:
    抛出异常e实例或新的Exception实例
    1.catch中的throw e;
    2.方法体中的throw new Exception();
    区别如下: throw e是将已经catch到的e重新抛出,而throw new Exception()是重新生成一个Exception类的对象并抛出。有两点重要区别,第一e中记录了原异常的信息,如除零异常的信息,而new Exception()是一个新对象,当中不包含任何有用的信息;第二e可能存在向上转型,即e的实际类型可能是Exception的子类,而new Exception()就是Exception类的对象。

    5.以下关于集合类 ArrayList 、 LinkedList 、 HashMap 描述错误的是:(C)

    A HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
    B ArrayList和LinkedList均实现了List接口
    C 添加和删除元素时,ArrayList的表现更佳
    D ArrayList的访问速度比LinkedList快

    解析:
    A、HashMap实现了Map接口的,它的Key和Value都可以是null,但是Hashtable种,Key和Value都不能是null。
    B、ArrayList与LinkedList都实现了List接口,继承了AbstractList类。
    C、ArrayList底层是动态数组是实现,随机位置添加和删除,都需要移动数组的数据,而LinkedList底层是双向链表,只需要修改Node节点的引用。
    D、随机访问数组要比链表块。

    6.关于 Java 线程,下面说法错误的是(C)。
    A 创建线程可以通过实现Runnable接口和继承Thread类
    B java利用线程使整个系统成为异步
    C 新线程一旦被创建,它将自动开始运行

    解析:
    A、创建线程有三个方式:继承Thread类,实现Runnable,实现Callable
    B、同步说的是必须等待一个事情完了才能去干另一间事情,异步说的是不需要停下来一直等待一个事件结束,我在等待的过程中还可以进行别的事情。这个东西在Callable中call方法返回一个Future体现的淋漓尽致。
    C、线程创建时start方法,线程处于Runnable,线程只有run方法执行,才进入Running。

    7.下列关于栈叙述正确的是(D )。
    A算法就是程序
    B设计算法时只需要考虑数据结构的设计
    C设计算法时只需要考虑结果的可靠性
    D以上三种说法都不对

    解析:
    算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

    8.java语言的下面几种数组复制方法中,哪个效率最高?
    A for 循环逐一复制
    B System.arraycopy
    C Array.copyOf
    D 使用clone方法

    解析:
    (1)从速度上看:System.arraycopy > clone > Arrays.copyOf > for
    (2)for的速度之所以最慢是因为下标表示法每次都从起点开始寻位到指定下标处(现代编译器应该对其有进行优化,改为指针),另外就是它每一次循环都要判断一次是否达到数组最大长度和进行一次额外的记录下标值的加法运算。
    (3)Arrays.copyOf本质上是调用了System.arraycopy。之所以时间差距比较大,是因为很大一部分开销全花在了Math.min函数上了。
    (4)System.arraycopy实质上是通过Jni调用本地方法,及c/c++已经编译成机器码的方法,所以快。

    9.关于 Socket 通信编程,以下描述错误的是:( D)
    A 服务器端通过new ServerSocket()创建TCP连接对象
    B 服务器端通过TCP连接对象调用accept()方法创建通信的Socket对象
    C 客户端通过new Socket()方法创建通信的Socket对象
    D 客户端通过new ServerSocket()创建TCP连接对象

    10.下面的程序编译运行后,在屏幕上显示的结果是( )

    public class test {
    public static void main(String argsQ) {
    int x,y;
    x=5>>2;
    y=x>>>2;
    System.out.println(y);
    

    A.0
    B.2
    C.5
    D. 80
    解析:

    
    >>表示带符号右移; >>>无符号右移, 左边空出的位以0填充。
    

    5的二进制是0101。
    x=5>>2 (>>带符号右移)
    将0101右移2位,为:0001。
    y=x>>>2(>>>无符号右移,左边空缺补充为0)
    将0001右移2位,补0。结果为:0000。

    展开全文
  • JSTL详细标签库介绍

    2010-11-01 16:37:44
    C++》关于异常处理论文,向对象中每增加一个类,都可能包含一些错误。<BR>Java使用和C++类似异常处理<BR>1、处理错误方法有很多流行方法<BR>2、一般方法是把程序处理代码段分散到系统代码中,在可能发生错误...
  • 关于MySQL性能优化的描述,下列哪些说法是正确的:ABCD A .主键查询优先于二级索引查询。 B .表连接有一定的代价,故表连接数量越少越好。 C .一般情况下,二级索引扫描优先于全表扫描。 D .可以使用通过...
  • 有关类的描述正确的是:(选择1项) A) 程序在编译时将出错。在Test中的day为私有变量,所以类外无法访问。 B) 程序能通过编译,但是不能正常运行。 C) 程序能通过编译,运行时将打印出0/0,因为在Java中int型变量...
  • /创建一个关于项目的目标、限定条件和解决方案的概要视图 界面层的异常处理的处理方法有//重试/将问题提交给用户/停止界面流程 52、 常见的Caching技术有://ASP.NET Cache //数据库缓存 //通过静态变量缓存//...
  • java 面试题 总结

    2009-09-16 08:45:34
    finally是异常处理语句结构一部分,表示总是执行。 finalize是Object类一个方法,在垃圾收集器执行时候会调用被回收对象此方法,可以覆盖此方法提供垃圾收集时其他资源回收,例如关闭文件等。 13、sleep()...
  • 2.5.9 对于INVERSE ARP的描述正确的是? 百度篇 3.1.0 在函数内定义一个字符数组,用gets函数输入字符串的时候,如果输入越界,为什么程序会崩溃? 3.1.1 C++中引用与指针的区别 3.1.2 C/C++程序的内存分区 ...
  • C#数据结构

    2013-12-10 11:49:54
    输出处理的明确而无歧义的描述。 2、可读性(Readability)。算法主要是为了人阅读和交流,其次才是机器的执行。 所以,一个算法应当思路清晰、层次分明、简单明了、易读易懂。即使算法已转 变成机器可执行的程序,也...
  • 用清晰、正确、精准且语法正确的语句 使用易于读取且标准的文件格式发送问题 精确地描述问题并言之有物 话不在多而在精 别动辄声称找到 Bug 低声下气不能代替你的功课 描述问题症状而非你的猜测 按发生时间先后列出...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

以下关于异常处理的描述正确的是