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数组默认值为0
    public 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 stub
        Test 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);//-2
        System.out.Prinln(3 % -2);//1
        System.out.Prinln(-3 % 2);//-1
        System.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标识符:字母、$、下划线

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决本地googleapis 谷歌统计 nodejs 遇到 ECONNRESET和 ETIMEDOUT

在本地通过谷歌分析接口, 获取网站的访问量统计, 用于在管理端面板世界地图显示 获取分析数据的部分代码,这部分很简单示例有 // 获得前10个页面浏览量与页面标题在过去30天 const {BetaAnalyticsDataClient} require(google-analytics/data); const analyticsDataClient ne…

62-JS-canvas画布高斯模糊之图像操作

将一张图片放到canvas画布上 1.绘制图像drawImage <img src="./3.webp" alt=""><canvas></canvas><script>var canvas = document.getElementsByTagName("canvas")[0];canvas.width = 500;canvas.height = 500;var a …

“薪”的一年程序员裁员潮技术变革情况下 程序员就业机会在哪里?

引言&#xff1a;一对来自中国的工程师夫妻在美国的不幸身亡&#xff0c;疑似与谷歌的裁员有关&#xff0c;这一事件再次引发了人们对技术变革下裁员对程序员影响的关注。 一、针对裁员潮的一些看法 在我看来&#xff0c;技术变革对程序员的影响是双面的。一方面&#xff0c;…

anomalib1.0学习纪实-续3:结合python lightning理思路

一、python lightning python lightning是个好东西&#xff0c;但不见得那么友好。 GPT4给我讲解了他的用法&#xff1a; 二、anomalib的思路 1、 创建一个Lightning Module。 首先&#xff0c;在src\anomalib\models\components\base\anomaly_module.py中&#xff0c; cl…

你真的了解—————NumPy吗

&#x1f308;个人主页&#xff1a;小田爱学编程 &#x1f525; 系列专栏&#xff1a;opencv &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到小田代码世界~ &#x1f601; 喜欢的…

2024-02-19(Flume,DataX)

1.flume中拦截器的作用&#xff1a;个人认为就是修改或者删除事件中的信息&#xff08;处理一下事件&#xff09;。 2.一些拦截器 Host Interceptor&#xff0c;Timestamp Interceptor&#xff0c;Static Interceptor&#xff0c;UUID Interceptor&#xff0c;Search and Rep…

Docker从入门到上天系列第一篇:Docker开篇介绍

&#x1f609;&#x1f609; 欢迎加入我们的学习交流群呀&#xff01; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring、Security、Docker、Grpc、消息中间件、Rpc、SpringCloud等等很多应用和源码级…

如何在iStoreOS软路由系统中安装cpolar实现公网远程本地电脑桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能&#xff0c;也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…

git上传报错:Object too large, rejecting the pack

在gerrit设置了最大不能上传超过600M的文件&#xff0c;今天开发遇到推送问题&#xff1a; 结果到本地怎么也找不到大文件。 后来只能按commit排查&#xff0c;用如下命令排查到了&#xff1a; 解决方法,将大文件去掉&#xff1a;&#xff08;commitid为大文件所在commit&…

扫盲:什么是webGPU,和webGL对比哪些优点?

web端的3D图像渲染&#xff0c;大都采用webGL&#xff0c;不过其性能让大家很崩溃&#xff0c;webGPU的出现&#xff0c;让大家看到了访问加速的可能&#xff0c;本文通过对比webGPU与webGL&#xff0c;给老铁们普及一下。老铁们如有数据可视化的设计和开发需求&#xff0c;可以…

“丑女”上春晚:任素汐获赞,黄绮珊遭网暴?

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 在这个光怪陆离的人间舞台&#xff0c;我们常被绚烂的表象所迷…

Solidworks:钣金模型作业

有了实体模型设计的基础&#xff0c;钣金模型掌握起来很容易。

微博数据可视化分析:利用Python构建信息图表展示话题热度

1. 引言 随着社交媒体的迅速发展&#xff0c;微博已成为人们交流观点、表达情感的重要平台之一。微博评论数据蕴含着丰富的信息&#xff0c;通过对这些数据进行分析和可视化&#xff0c;我们可以深入了解用户对特定话题的关注程度和情感倾向。本文将介绍如何利用Python进行微博…

网络原理 - HTTP/HTTPS(3)

HTTP请求 认识请求"报头" header的整体的格式也是"键值对"的结构. 每个键值对占一行,键和值之间使用分号进行分割. 报头的种类有很多,此处仅介绍几个常见的. Host 表示服务器主机的地址和端口.(Host和URL中的ip地址端口啥的,绝大部分情况下都是一样的,少…

React项目基础搭建过程中遇到的问题

由于React Router版本的不同导致的问题 报错信息如下&#xff1a; Line 9:18: Switch is not defined react/jsx-no-undef Line 13:88: Redirect is not defined react/jsx-no-undef 问题出现的原因&#xff1a; 对于导入 Switch is not defined 和 Redirect is not…

Netty Review - NIO空轮询及Netty的解决方案源码分析

文章目录 Pre问题说明NIO CodeNetty是如何解决的&#xff1f;源码分析入口源码分析selectCntselectRebuildSelector Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 Netty Review - 服务端channel注册流程源码解析 问题说明 N…

某和OA C6 RssModulesHttp.aspx存在SQL注入漏洞(附漏洞利用脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

Linux调优指南

更多相关知识可以阅读&#xff1a; https://www.yuque.com/treblez/qksu6c/yxl59pkvczqot9us https://www.yuque.com/treblez/qksu6c/nqe8ip59cwegl6rk 本文不会讲解linux的基础知识。 CPU 工具大图 观测时优先使用top、vmstat和pidstat三个工具&#xff1a; 设置调度器 这…

设计模式----开题

简介&#xff1a; 本文主要介绍设计模式中的六大设计原则。开闭原则&#xff0c;里氏代换原则&#xff0c;依赖倒转原则&#xff0c;接口隔离原则&#xff0c;迪米特原则和合成复用原则。这几大原则是设计模式使用的基础&#xff0c;在使用设计模式时&#xff0c;应该牢记这六大…

《剑指 Offer》专项突破版 - 面试题 53 : 二叉搜索树的下一个节点(详解 C++ 实现的两种方法)

目录 前言 一、方法一 二、方法二 前言 题目链接&#xff1a;LCR 053. 二叉搜索树中的中序后继 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给定一棵二叉搜索树和它的一个节点 p&#xff0c;请找出按中序遍历的顺序该节点 p 的下一个节点。假设二叉搜索树…