java基础训练题(2)

一、题目

1. 以下程序输出(D)

public static void main(String[] args) {int num = 2;switch (num) {case 1:++num;case 2:++num;case 3:++num;default:++num;break;}System.out.println(num);}
}

A:2

B:3

C:4

D:5

2.将类的成员的访问权限设置为默认的,则成员变量(A)

A:同一包中的类访问

B:其他包中的类访问

C:所有的类访问

D:所有的子类访问

3.对于下面这段代码,以下说法正确的是(C)

public class Test02{public int x;public static void main(String []args){  System. out. println("Value is" + x);}
}

A:程序会打出 "Value is 0"

B:程序会抛出 NullPointerException

C:非静态变量不能够被静态方法引用 

D:编译器会抛出 "possible reference before assignment"的错误

4.关于下列代码,说法正确的是(C)

public class Test02{static int arr[] = new int[5];//int数组默认值为0public static void main(String a[]){System.out.println(arr[0]); }
}

A:编译时产生错误

B:编译时正确,运行时将产生错误

C:输出零

D:输出 

5.假设score 是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是?(B)

temp = score[0];
for (int index = 1;index < 5;index++) {if (score[index] < temp) {temp = score[index];}
}

A:求最大值

B:求最小值

C:找到数组最后一个元素

D: 编译出错

6.下列代码执行后,输出结果是什么(B)


int i=0,s=0;
do{if (i%2 == 0){i++;continue;}i++;s = s + i;
} while (i<7);
System.out.println(s);

A:16

B:12

C:28

D:21

7.在 System.out.printf() 格式化输出语句中,不可以用于浮点数格式化输出的占位符是(D)

A:%f

B:%s

C:%e

D:%d

8.下面关于数组的声明语句中,有语法编译错误的是(B)

A:  int[] arr = new int[]{1,'A',3};

B : int[] arr;

        arr = {1,2,3,4,5};

C: int[] arr = new int[]{'X','A','S'};

D: int[][] arr = new int[3][];

9.switch的表达式可以是什么数据类型?(B)

A: Object

B:  char 

C:  double 

D:  float

10.下列代码执行后,输出结果是什么(D)

public static void main(String[] args) {int x = 1, y = 1, z = 1;if (x-- == 1 || y++ == 1 && z++ == 1) {System.out.println("x=" + x + ",y=" + y + ",z=" + z);}}

A:  x=0,y=2,z=1

B:  x=1,y=2,z=1 

C:  没有输出  

D:  x=0,y=1,z=1 

11.下列代码中,ABCD注释标注的哪行代码有错误?(D)

public class Test05 {public static void main(String[] args) {byte b = 'a'; //A int n =100; char c = 65; //B b = b; //C b = b+1; //D}
}

A: A

B: B

C: C

D: D

12.下列代码中,ABCD注释标注的哪行代码有错误?(B)

public class Test05 {public static void main(String[] args) {char ch = '花'; //A byte m = -100; ch = ch-ch; //B m = m; //C m = 127; //D }
}

A: A

B: B

C: C

D: D

13.下列选项中,那个选项中的表达式替换程序标注的【代码】会使得程序输出hello(C)

   public class Test { public static void main (String args[ ]) { int m = 0; if(【代码】){ System.out.println("您好");} else {System.out.println("hello");} } 
}

A: m-- <= 0

B: ++m > 0

C: m++ > 0

D: --m < 0

14.String字符串的replace()方法的作用是?(C)

A: 根据下标,获取字符串中的指定位置字符

B:  截取字符串

C:  替换字符串 

D:  查找子字符串,返回子字符串在原字符串中的下标位置

15.执行下列程序段后,运行结果为:(C)

Integer n1 = Integer.valueOf(127);Integer n2 = Integer.valueOf(127);System.out.println(n1 == n2);System.out.println(n1.equals(n2));

A: false

    false

B:  true

     false

C:  true

     true

D:  false

      true

16.下列哪个叙述是正确的?(D)

A: 成员变量的名字不可以和局部变量的名字相同。

B:  方法的参数的名字可以和方法中声明的局部变量的名字相同。

C:  成员变量没有默认值。

D:  局部变量没有默认值。

17.下列说法正确的是(B)

A: java的数组可以随时改变大小

B:  String字符串的长度和内容都是不可变的 

C:  局部变量和成员变量重名时以成员变量优先

D:  使用final修饰的方法不能被继承

18.假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(C)

class A{     int i;static String s;void method1() { }static void method2() { }
}

A:System.out.println(a.i);

B:  a.method1();

C:  A.method1(); 

D:  A.method2();

19.对于下列代码,下列哪个叙述是正确的?(A)

class A { public int i=0; public A(int m) { i = 1; } 
} 
public class B extends A {public B(int m) { i = 2; } public static void main(String args[]){ B b = new B(100); System.out.println(b.i); //【代码】} 
}

A: 程序提示编译错误(原因是A类没有不带参数的构造方法)。

B:  编译无错误,【代码】输出结果是0。

C:  编译无错误,【代码】输出结果是1。

D:  编译无错误,【代码】输出结果是2。

20.关于异常的编程,以下描述错误的是(A)

 A:在有除法存在的代码处,为了防止分母为零,必须抛出并捕获异常

B: Inti=lnteger.parselnt(”123a”);将产生NumberFormatException

C:  int a[]=null; a[0]=1; 将产生NullPointerException

D:  输入输出流编程中,读和写时都要抛出IOException

21.以下代码段执行后的输出结果为(D)

public class Test {public static void main(String args[]) {int x = -5;int y = -12;System.out.println(y % x);}
}

A:  -1

B:  2

C:  1

D:  -2 

22.以下Java程序代码,执行后的结果(B)

public class Test {public static void main(String[] args) {   Object o = new Object() {  public boolean equals(Object obj) {  return true; }};   System.out.println(o.equals("Fred"));}
}

A: Fred

B:  true 

C:  编译错误

D:  运行时抛出异常

23.(多选) java中关于继承的描述正确的是(A C D)

A:一个子类只能继承一个父类 

B: 子类可以继承父类的构造方法

C:  继承具有传递性 

D: 父类一般具有通用性,子类更具体 

24.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有(A)

package NowCoder;
class Test {public static void hello() {System.out.println("hello");}
}
public class MyApplication {public static void main(String[] args) {// TODO Auto-generated method stubTest test=null;test.hello();}
}

A:  能编译通过,并正确运行 正确答案

B: 因为使用了未初始化的变量,所以不能编译通过

C: 以错误的方式访问了静态方法

D: 能编译通过,但因变量为null,不能正常运行

25.对于以下代码段,4个输出语句中输出true的个数是(C)

class A{}
class B extends A{}
class C extends A{}
class D extends B{}
A obj = new D();
System.out.println(obj instanceof B);
System.out.println(obj instanceof C);
System.out.println(obj instanceof D);
System.out.println(obj instanceof A);

A: 1

B: 2

C: 3

D: 4

26.在Java中,以下数据类型中,需要内存最多的是(B)

A:byte

B:  long

C: Object

D:  int

27.以下代码的循环次数是(D)

public class Test {public static void main(String args[]) {int i = 7;do {System.out.println(--i);--i;} while (i != 0);System.out.println(i);}
}

A: 0

B: 1

C: 7

 D: 无限次 

28.关键字super的作用是(D)

A:  用来访问父类被隐藏的非私有成员变量

B:  用来调用父类中被重写的方法

C:  用来调用父类的构造函数

 D: 以上都是

29.对于如下代码段,可以放入到横线位置,使程序正确编译运行,而且不产生错误的选项是(C)

class A{public A foo() {return this;}
}
class B extends A {public A foo(){return this;}
}
class C extends B {_______
}

A:  public void foo(){}

B:  public int foo(){return 1;}

C:  public A foo(B b){return b;} 

D:  public A foo(){return A;}

30.(多选)下列可作为java语言标识符的是(A B C)

A: a1

B:  $1 

c:  _1 

d:  11

二、题解:

1.很多同学会错选为B:3 ;选择5的原因是,Case 2 后没有break,循环还在继续,直到遇见break才会结束循环。
2.略
3.x是非静态变量,不能被静态方法引用
4. int[ ]数组默认值为0,所以 arr[0] 是 0
5.本题考察对数组遍历的操作,循环体中,依次访问数组中第一个元素之后的每一个元素,并于第一个元素比较,如果小于第一个元素,将该元素赋值给temp,最后temp的值为数组中的最小元素
6.题解如下:   注意: (1)执行了if语段就不用执行  "i++; s = s + i;" (2) i 要跟循环条件进行比较
7.     %f ===> 格式化输出浮点数
        %s ===> 格式化输出字符串 (不知道用什么占位符,都可以用 %s)
        %e ===> 格式化输出科学计数法表示的浮点数
        %d ===> 格式化输出整数
8.略
9.Switch 支持的类型 :byte 、short 、int 、char 、String 、enum枚举
10.干扰选项是A;首先我们要知道 "||"表示逻辑或,即两者有一个直行通过即可。其次我们要知道 "++i"和"i++"的区别。
11.   b=b+1,1默认为int类型,b自动转型为int与1做加法,结果是int类型的。把int类型赋给byte类型b.就报错了。顺便说一下,如果b=b+1改为b+=1就没错了。
12.同上
13.本题我们要明白 "++m"是先 "++",再比较;"m++"是先比较,后"++";
例如:m++ > 0 ===>  先比较m > 0 ? "hello","您好"  ; 后 m = m++ = 1
14.A: 根据下标,获取字符串中的指定位置字符====> charAt()
B:  截取字符串 ====> subString()
C:  替换字符串 =====> replace()
D:  查找子字符串,返回子字符串在原字符串中的下标位置 ====> indexOf()
15. 没有开辟新的内存空间,所以都是对的
16.(1)局部变量没有默认值,要声明赋值后才可以使用    (2)成员变量有默认值    (3)当成员变量和局部变量重名时,局部变量优先
17.在Java中,String对象时不可变的,一旦创建字符串对象,其长度和内容都是不可变的。String字符串不可变原因:(1)String内部类的private final char[ ] 字符数组不可变(2)一旦创建,会产生新的对象,长度和内容也不可变
18.method1 不是静态方法,不能直接用类调用
19.略
20. B选项将字符串类型转化为数字,当字符串的格式不是整数形式的时候就会产生数字格式化异常了,就是那个NumberFormatException;C选项数组元素为null,还使用数组进行赋值,必会产生NullPointerException空指针异常;D选项流程的读写都需要抛出IOException,且IOException是编译时异常,所以以上三个描述都是正确的;A选项整数除以0会抛出一个ArithmeticException,但是此异常时,运行时异常,所以不是必须添加捕获异常的处理手段的,必须这个词描述的错误
21.输出结果的符号与被除数必须保持一致!!!例如:
public class Test {public static void main(String args[]) {int x = -5;int y = -12;System.out.println(y % x);//-2System.out.Prinln(3 % -2);//1System.out.Prinln(-3 % 2);//-1System.out.Prinln(-3 % -2);//-1}
}
22.Object 类的匿名子类重写了equals()方法,总是返回true;代码调用了o.equals("Fred"),它将使用匿名子类的equals()方法,因此输出结果将是true;
23.构造方法不可以继承,只可以调用、重载等
24.因为hello方法是静态的,没有this隐藏的参数,所以即使test指向空也没有问题,因为不需要传递这个参数。如果hello是普通成员方法的话就应该选择D
25.System.out.println(obj instanceof C); 错误·
26.A:byte 占1个字节   B:  long 占8个字节  C: Object 占4个字节  D:  int占4个字节
27.因为 i 一直不等于0,所以是无限循环
28.略
29.在父类中定义了相同签名的方法(签名:方法名称,输入的参数)
在子类中只能复写,而不能重新定义。所以方法public A foo()已经在A中定义了,所以只能覆写,所谓的覆写:只是重写方法体,像B的的做法一样。
A: 对方法foo()进行了重新定义,(把返回类型改变了)所以错误
B:同上,返回类型重新定义为int了
C:正确,因为这里重新定义了一个方法(名称+输入的参数)签名和父类中的不一样。
D:类名不能直接返回使用,返回的必须是一个对象。
30.可作为Java标识符:字母、$、下划线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 TIM输入捕获测频率占空比库函数

目录 一、输入捕获初始化函数 TIM_ICInit TIM_PWMIConfig TIM_ICStructInit 二、主从触发模式对应函数 TIM_SelectInputTrigger TIM_SelectOutputTrigger TIM_SelectSlaveMode 三、配置分频器函数 TIM_SetIC1Prescaler TIM_SetIC2Prescaler TIM_SetIC3Prescaler T…

Kubernetes基础(二十二)-K8S的PV/PVC/StorageClass详解

1 概述 先来个一句话总结&#xff1a;PV、PVC是K8S用来做存储管理的资源对象&#xff0c;它们让存储资源的使用变得可控&#xff0c;从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组件。所有Pod使用存储只有一个原则&#xff1a;先规…

蓝牙BLE安全-SSP简单安全配对

SSP的配对过程由于可以根据设备的IO能力选择不同的关联模型&#xff0c;因此十分灵活&#xff0c;其提供了四种方式&#xff1a;Numeric Comparison、Passkey Entry、Just Works以及Out of Band (OOB) 。这里关联方式的选择实质上对后面的流程是有一定影响的&#xff0c;如Just…

使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记

目录 引言背景方法离散化离散化的导数算子速度插值 广义的半拉格朗日步重新网格化双向流固耦合和质量守恒 原文&#xff1a; Klingner, Bryan M., et al. “Fluid animation with dynamic meshes.” ACM SIGGRAPH 2006 Papers. 2006. 820-825. 引言 使用 [Alliez et al., 20…

openai公司的chatgpt-3.5参数库内还未增加sora的语料信息

openai公司的chatgpt-3.5参数库内还未增加sora的语料信息&#xff01;我想通过openai公司的chatgpt3.5来了解一下关于sora的技术信息&#xff0c;结果呢&#xff0c;它竟然回答不知道sora是什么。看来&#xff0c;sora的语料库信息还未来得及加入chatgpt3.5的训练模型中。 如图…

每日学习总结20240219

每日总结 20240219 1.文件类型.csv CSV文件是一种以逗号分隔值&#xff08;Comma-Separated Values&#xff09;为标记的文本文件&#xff0c;它可以用来存储表格数据。每一行表示一条记录&#xff0c;而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。 常用场景…

HTTP特性

大家好我是苏麟 , 今天说说HTTP特性. 资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 到目前为止&#xff0c;HTTP 常见到版本有 HTTP/1.1&#xff0c;HTTP/2.0,HTTP/3.0&#xff0c;不同版本的 HTTP 特性是不一样的。 这里先用 HTTP/1.1 版本给大家介…

Golang - 使用CentOS 7 安装Golang环境

文章目录 操作步骤 操作步骤 为在CentOS 7上安装Go语言环境&#xff0c;可以按照以下步骤进行操作&#xff1a; 下载Go语言包&#xff1a; 从官方网站 https://golang.org/dl/ 下载适用于Linux的Go语言包。 解压缩Go语言包&#xff1a; 使用以下命令解压缩下载的Go语言包 […

CyberDAO:web3时代的引领者

Web3.0正在改写着世界运行的规则&#xff0c;AGI将为人类未来的生产效率、工作方式与目标带来改变&#xff0c;区块链经过十余年发展开启了去中心化新格局&#xff0c;带来生产关系的变革。人类正在从过往以时间换取收入、听命完成工作&#xff0c;转变为以个性化、自主追求人生…

OpenAI Sora视频模型技术原理报告解读

▌01. OpenAI Sora 视频生成模型技术报告总结 •不管是在视频的保真度、长度、稳定性、一致性、分辨率、文字理解等方面。 •技术细节写得比较泛&#xff08;防止别人模仿&#xff09;大概就是用视觉块编码&#xff08;visual patch&#xff09;的方式&#xff0c;把不同格…

数据采集三防平板丨三防平板电脑丨停车场应用

随着现代科技的不断发展&#xff0c;三防平板已经成为许多人工作和生活的必备工具。在停车场这个场景中&#xff0c;三防平板的应用可以大大提高停车场管理的效率和安全性。 停车场是现代城市交通管理的重要组成部分&#xff0c;它直接关系到城市交通的流畅和公共安全。停车场…

RK3588平台开发系列讲解(视频篇)ffmpeg 的移植

文章目录 一、ffmpeg 介绍二、ffmpeg 的组成三、ffmpeg 依赖库沉淀、分享、成长,让自己和他人都能有所收获!😄 📢ffmpeg 是一种多媒体音视频处理工具,具备视频采集功能、视频抓取图像、视频格式转换、给视频加水印并能将视频转化为流等诸多强大的功能。它采用 LGPL 或 G…

Rofin罗芬Laser激光DQ80设备操作说明书

Rofin罗芬Laser激光DQ80设备操作说明书

计算机视觉的应用23-OpenAI发布的文本生成视频大模型Sora的原理解密

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用23-OpenAI发布的文本生成视频大模型Sora的原理解密。本文概况性地将Sora模型生成视频主要分为三个步骤&#xff1a;视频压缩网络、空间时间潜在补丁提取以及视频生成的Transformer模型。 文章目录…

【lesson62】网络通信UdpSocket版

文章目录 UdpSocketUdpServer.hppUdpServer类成员变量解释成员函数解释 UdpServer的实现ServerIinit的实现socketbindhtonsinet_addr具体实现 ServerStart的实现recvfromsendtontohsinet_ntoa具体实现 ~UdpServer函数实现UdpServer.hpp整体完整代码 UdpServer.ccUdpClient.ccTh…

CDP和Chrome

CDP和Chrome CDP和WebDriver Protocol WebDriver和 Chrome DevTools Protocol&#xff08;CDP&#xff09; 是用于自动化浏览器的两个主要协议&#xff0c;大多数的浏览器自动化工具都是基于上述其中之一来实现的。可以通过这两种形式来和浏览器交互&#xff0c;通过代码来控…

探索海洋世界,基于DETR(DEtection TRansformer)模型开发构建海洋场景下海洋生物检测识别分析系统

前面的博文中&#xff0c;开发实践过海底相关生物检测识别的项目&#xff0c;对于海洋场景下的海洋生物检测则很少有所涉及&#xff0c;这里本文的主要目的就是想要开发构建基于DETR的海洋场景下的海洋生物检测识别系统。 首先看下实例效果&#xff1a; DETR (DEtection TRans…

【机器学习笔记】 15 机器学习项目流程

机器学习的一般步骤 数据清洗 数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序&#xff0c;包括检查数据一致性&#xff0c;处理无效值和缺失值等。与问卷审核不同&#xff0c;录入后的数据清理一般是由计算机而不是人工完成。 探索性数据分析(EDA 探索性数据…

Elasticsearch查询报错 Result window is too large

一现象&#xff1a; es数据分页查询前端提示系统异常&#xff0c;后端报错日志 二根本原因&#xff1a; 默认情况下&#xff0c;Elasticsearch 限制了 from size 参数的组合不能超过 10,000 条记录&#xff0c;用于防止查询大数据集时对系统资源的过度消耗 三解决办法&#…

沁恒CH32V30X学习笔记09---使用TIM 外部时钟1模式实现硬件计数

TIM 外部时钟1使用 定时器时钟 通过框图可知;外部时钟1模式下仅仅只有通道1 和通道2 可以输入脉冲 简单示例教程 void TIM1_ETRClockMode1_Init(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);TIM_CounterModeConfig(TIM1, TIM_CounterMode_Up)