【Java练习题】Java 程序的输出 | 第十二套(含解析)

简介: 【Java练习题】Java 程序的输出 | 第十二套(含解析)

难度级别: 中级

程序

程序一


1) 以下程序的输出是什么?

public class Test implements Runnable
{
  public void run()
  {
    System.out.printf("%d",3);
  }
  public static void main(String[] args) throws InterruptedException
  {
    Thread thread = new Thread(new Test());
    thread.start();
    System.out.printf("%d",1);
    thread.join();
    System.out.printf("%d",2);
  }
}

a) 123

b) 213

c) 132

d) 321



程序二


2) 以下程序的输出是什么?

public class Test
{
  private static int value = 20;
  public int s = 15;
  public static int temp = 10;
  public static class Nested
  {
  private void display()
  {
    System.out.println(temp + s + value);
  }
  }
  public static void main(String args[])
  {
  Test.Nested inner = new Test.Nested();
  inner.display();
  }
}

a) 编译错误

b) 1020

c) 101520

d) 以上都不是



程序三


3) 以下程序的输出是什么?

import java.io.*;
public class Test
{
  public void display() throws IOException
  {
    System.out.println("Test");
  }
}
class Derived extends Test
{
  public void display() throws IOException
  {
    System.out.println("Derived");
  }
  public static void main(String[] args) throws IOException
  {
    Derived object = new Derived();
    object.display();
  }
}

a) 测试

b) 派生

c) 编译错误

d) 运行时错误



程序四


4) 以下程序的输出是什么?

public class Test extends Thread
{
  public void run()
  {
    System.out.printf("Test ");
  }
  public static void main(String[] args)
  {
    Test test = new Test();
    test.run();
    test.start();
  }
}

a) 编译错误

b) 运行时错误

c) Test

d) Test Test



程序五


5) 以下程序的输出是什么?

public class Test extends Thread
{
  public static void main(String[] args)
  {
    String a = "Haiyong";
    String b = new String(a);
    int value = 0;
    value = (a==b) ? 1:2;
    if(value == 1)
    {
      System.out.println("Haiyong");
    }
    else if(value == 2)
    {
      System.out.println("Blog");
    }
    else
    {
      System.out.println("HY");
    }
  }
}

a) Haiyong

b) Blog

c) HY

d) 以上都不是



程序六


6) 以下程序的输出是什么?

public class Test
{
  try
  {
    public Test()
    {
      System.out.println("Haiyong");
      throw new Exception();
    }
  }
  catch(Exception e)
  {
    System.out.println("HY");
  }
  public static void main(String[] args)
  {
    Test test = new Test();
  }
}

a) Haiyong

b) HY

c) 编译错误

d) 以上都不是



程序七


7) 对于给定的代码,选择正确的答案。

public interface Test
{
  public int calculate();
  protected interface NestedInterface
  {
    public void nested();
  }
}

b)由于 NestedInterface 的访问修饰符导致的编译时错误

c) 没有编译时错误

d) NestedInterface 不能保存任何函数声明。



程序八

8) 下列关于构造函数声明的说法正确的是?

a) 构造函数可以声明为 final。

b) 构造函数可以被 try/catch 块包围。

c) 构造函数不能抛出异常。

d) 构造函数可以持有同步代码(以便每个线程可以顺序访问构造函数)。



文章后半部分是程序的输出及解析

image.png


输出及解析

程序一输出

答案

(c)

说明

父线程使用join等待新创建的线程完成。join()方法允许一个线程等待另一个线程完成它的执行。因此,父线程打印 1 并等待子线程完成。子线程在控制台上打印 3,最后父线程打印 2。


程序二输出

答案

(a)

说明

不能在静态嵌套内部类中访问非静态变量。“嵌套”不能访问非静态变量[在这种情况下是变量]。因此错误:

10:错误:不能从静态上下文中引用非静态变量 s 
            System.out.println(temp + s + value); 
                                      ^

程序三输出

答案

(b)

说明

如果超类方法声明了异常,子类覆盖的方法可以声明相同、子类异常或不声明异常,但不能声明父类异常。


程序四答案

回答 :

(d)

说明

test.run() 执行 run 方法。test.start() 创建一个新线程并执行 Thread 类的重写 run 方法。Thread.start() 方法总是启动一个新线程,这个线程的入口点是 run() 方法。如果您直接调用 run() 它将在同一个线程中执行,但始终建议在逻辑上调用 Thread.start() 以启动一个新的执行线程,然后是 run() 方法。


程序五答案

回答 :

(b)

说明:

== 运算符检查两个变量是否指向同一个对象。这里 a 和 b指的是两个不同的对象。?: 是 if else 语句的另一种形式,可以理解为,condition : if true then do this : else do this。


程序六答案

回答 :

(c)

说明:

构造函数不能包含在 try/catch 块中


程序七答案

回答 :

(b)

说明:

NestedInterface 的访问修饰符只能是公共的。因此错误:

4:错误:修饰符的非法组合:公共和受
    保护的受保护接口 NestedInterface 
              ^ 
1 错误

程序八答案

回答 :

(d)

说明:

构造函数允许在线程之间顺序访问数据。


以上就是本篇文章的所有内容了


目录
相关文章
|
1天前
|
安全 前端开发 Java
10:基于Servlet模拟用户登录功能的实现与解析-Java Web
10:基于Servlet模拟用户登录功能的实现与解析-Java Web
11 3
|
1天前
|
存储 网络协议 Java
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
|
2天前
|
供应链 Java API
Java 8新特性解析及应用区块链技术在供应链管理中的应用与挑战
【4月更文挑战第30天】本文将深入探讨Java 8的新特性,包括Lambda表达式、Stream API和Optional类等。通过对这些新特性的详细解析和应用实例,帮助读者更好地理解和掌握Java 8的新技术。
|
3天前
|
安全 Java API
Java 8新特性深度解析
【4月更文挑战第30天】本文将深入探讨Java 8的新特性,包括Lambda表达式、Stream API、Optional类等,以及这些新特性如何改变我们编写Java代码的方式。
|
3天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
9 0
|
3天前
|
算法 Java
【Java探索之旅】运算符解析 算术运算符,关系运算符
【Java探索之旅】运算符解析 算术运算符,关系运算符
11 0
|
3天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
14 0
|
4天前
|
存储 Java 大数据
JAVA:编程的艺术与实战解析
JAVA:编程的艺术与实战解析
13 2
|
4天前
|
数据采集 存储 前端开发
Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
2024年北京车展凸显电动车全球热度,中国引领市场,展出117台全球首发车,包括30台跨国公司电动车。借助Nutch库抓取汽车网站数据,分析电动车市场趋势。通过配置代理和多线程爬虫,高效收集新车信息,助力理解市场动态,推动可持续交通发展。
Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
|
4天前
|
Oracle Java 关系型数据库
Java历史简述及程序运行机制简述
Java起源于1991年Sun公司James Gosling领导的Green项目,最初命名为Oak,后因爪哇岛咖啡更名为Java。1995年正式发布,2009年Sun被Oracle收购。Java程序运行包括:开发源代码、编译成字节码、JVM翻译为平台兼容的机器码执行。

推荐镜像

更多