java基础选择题--18(转载)

2024-06-05 13:36
文章标签 java 基础 18 转载 选择题

本文主要是介绍java基础选择题--18(转载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.设有定义 int a=3 ,b=4,c=5; 则以下的表达式中 , 值为 false 的是 ()

正确答案: D 你的答案:D(正确)
A.a < b && b < c
B.a <= b
C.a < ( b + c )
D.! ( a < b )

解析:
a < b && b < c
true && true
true a <= b
true a <( b + c )
true ! ( a < b )
!true false

2.代码String str=”123456a”;int i=Integer.parseInt(str);会报异常的是()
正确答案: B 你的答案: A (错误)
A.java.lang.NullPoninterException
B.java.lang.NumberFormatException
C.java.lang.RuntimeException
D.java.lang.ArrayindexOutOfBoundsException

解析:非纯数字的字符串转化为Integer对象会报数字格式异常。

3.下面的输出结果是:

public class Test { public static void main(String[] args) {
    Father a = new Father();
    Father b = new Child();
  }
} class Father { public Father() {
    System.out.println("我是父类");
  }
} class Child extends Father { public Child() {
    System.out.println("我是子类");
  }
}

正确答案: A

A.我是父类
我是父类
我是子类

B.我是父类
我是子类
我是子类

C.我是父类
我是父类
我是父类

D.我是父类
我是父类

解析:
这道题,首先没有初始化对象根本没有输出。
其次,即使初始化了对象,也该是输出
我是父类
我是父类
我是子类

4.与未加访问控制符的缺省情况相比,public和protected修饰符扩大了属性和方法的被访问范围,private修饰符则缩小了这种范围。
正确答案: A 你的答案: A (正确)
A.正确
B.错误


5.下面程序的运行结果是

String str1 = "hello";
String str2 = "he" + new String("llo");
System.err.println(str1 == str2);
1
2
3
正确答案: B 你的答案: A (错误)
A.true
B.false
C.exception
D.无输出

解释:String str1 = “hello”;这里的str1指的是方法区的字符串常量池中的“hello”,编译时期就知道的;
String str2 = “he” + new
String(“llo”);这里的str2必须在运行时才知道str2是什么,所以它是指向的是堆里定义的字符串“hello”,所以这两个引用是不一样的。

如果用str1.equal(str2),那么返回的是True;因为两个字符串的内容一样。

6.中的数据域使用private修饰为私有变量,所以任何方法均不能访问它。
正确答案: B 你的答案: B (正确)
A.正确
B.错误

7.假定AB为一个类,则执行 “AB ab = new AB(a,5);”语句时将自动调用该类的( )。
正确答案: A 你的答案: A (正确)
A.带参构造函数
B.无参构造函数
C.拷贝构造函数
D.重载赋值运算

8.以下有关构造方法的说法,正确的是:()
正确答案: A 你的答案: B (错误)
.A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其他方法调用
D.构造方法可以和类同名,也可以和类名不同

解释:
A一个类有多个构造方法便是重载的表现。重载参数列表不同。所以A是正确的。
B构造方法是在对象创建时就被调用,用于初始化。

C构造方法是给与之对应的对象进行初始化,初始化的动作只执行一次。
D构造方法必须与所在类的名称同名。

9.关于finally,下面哪个描述正确? ()

正确答案: B 你的答案: C (错误)
A.在catch块之前但在try块之后执行finally块
fB.inally块会被执行无论是否抛出异常
C.只有在执行catch块之后才执行finally块
D.都不是

10.以下程序的运行结果是()

public class Increment
{
    public static void main(String args[])
    {
        int a;
        a = 6;
        System.out.print(a);
        System.out.print(a++);
        System.out.print(a);
    }
}

正确答案: B 你的答案: B (正确)
A.666
B.667
C.677
D.676

解释:a++可以理解为当访问a之后再对a进行加一操作

11.基本的Java语言函数存储在以下哪个java包中?()

正确答案: A 你的答案: D (错误)
A.java.lang
B.java.io
C.java.net
D.java.util

解释: java.lang包包含 包装类 String 类 Math 类 —— 包含函数 Class 类 Object 类

12.如果一个list初始化为{5,3,1},执行以下代码后,其结果为()?
nums.add(6);
nums.add(0,4);
nums.remove(1);
正确答案: B 你的答案: B (正确)
A.[5, 3, 1, 6]
B.[4, 3, 1, 6]
C.[4, 3, 6]
D.[5, 3, 6]

解释:
list{5,3,1} nums.add(6); //往后边加一个6,{5,3,1,6}
nums.add(0,4);//往下标为0的数加一个4,{4,5,3,1,6}
nums.remove(1); // 移除下标为1的元素,{4,3,1,6}

13.关于下面程序,哪些描述是正确的: ( )

public class While { public void loop() { int x= 10; while ( x ) {
System.out.print("x minus one is " + (x - 1)); x -= 1; } } }

正确答案: B 你的答案: B (正确)
A.行1有语法错误
B.行4有语法错误
C.行5有语法错误
D.行6有语法错误
E.行2有语法错误,loop是关键字
F.程序能够正常编译和运行

解释: while()括号里参数必须是布尔类型,要么true要么false

14.以下不是修饰符final的作用的是( )。

正确答案: C 你的答案: D (错误)
A.修饰常量
B.修饰不可被继承的类
C.修饰不可变类
D.修饰不可覆盖的方法

15.以下代码的输出的正确结果是

以下代码的输出的正确结果是

public class Test {
public static void main(String args[]) {
String s = "祝你考出好成绩!";
System.out.println(s.length());
}
}

正确答案: D 你的答案: D (正确)
A.24
B.16
C.15
D.8

16.以下 _____ 不是 Object 类的方法

正确答案: D 你的答案: A (错误)
A.clone()
B.finalize()
C.toString()
D.hasNext()

17.以下程序的输出结果是

public class Print{
    static boolean out(char c){
        System.out.println(c);
        return true;
    }
    public static void main(String[] argv){
        int i = 0;
        for(out('A');out('B') && (i<2);out('C')){
            i++;
            out('D');
        }
    }
}

正确答案: A 你的答案: D (错误)
A.ABDCBDCB
B.BCDABCD
C.编译错误
D.运行错误

首先执行out(‘A’) 输出A;
然后执行out(‘B’)&&(i<2)此时输出B,i=0,判断条件为真,执行for循环的循环体;
执行i++,out(‘D’),输出D i=1; 执行out(‘C’),输出C
然后执行out(‘B’)&&(i<2) 此时输出B,i=1
判断条件为真 ,执行for循环的循环体;
执行i++,out(‘D’),输出D i=2; 执行out(‘C’),输出C
然后执行out(‘B’)&&(i<2) 此时输出B,i=2,不满足i<2 判断条件为假 ,跳出循环;
所以结果为ABDCBDCB

18.下列说法正确的是( )
正确答案: C 你的答案: C (正确)
A.volatile,synchronized 都可以修改变量,方法以及代码块
B.volatile,synchronized 在多线程中都会存在阻塞问题
C.volatile能保证数据的可见性,但不能完全保证数据的原子性,synchronized即保证 了数据的可见性也保证了原子性
D.volatile解决的是变量在多个线程之间的可见性、原子性,而sychroized解决的是多个线程之间访问资源的同步性

19.Java数据库连接库JDBC用到哪种设计模式?
正确答案: B 你的答案: A (错误)
A.生成器
B.桥接模式
C.抽象工厂
D.单例模式

20.在jdk1.5之后,下列 java 程序输出结果为______。

nt i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));

正确答案: B 你的答案: A (错误)
A.true,false
B.true,true
C.false,true
D.false,false
E.对于不同的环境结果不同
F.程序无法执行

解释:
i==j ,这个是基本类型与 Integer 的比较, j 会自动拆箱成 int 类型,然后比较的是值。因此返回真。
j.equals(i) ,调用 equals 方法后,这个 i 会自动装箱成 Integer 类型,然后再比较值,所以也返回真。

21.下列哪个说法是正确的()
正确答案: D 你的答案: A (错误)
A.ConcurrentHashMap使用synchronized关键字保证线程安全
B.HashMap实现了Collction接口
C.Array.asList方法返回java.util.ArrayList对象
D.SimpleDateFormat是线程不安全的

22.SP分页代码中,哪个步骤次序是正确的?
正确答案: A 你的答案: D (错误)
A.先取总记录数,得到总页数,最后显示本页的数据。
B.先取所有的记录,得到总页数,再取总记录数,最后显示本页的数据。
C.先取总页数,得到总记录数,再取所有的记录,最后显示本页的数据。
D.先取本页的数据,得到总页数,再取总记录数,最后显示所有的记录。

23.下面代码的输出是什么?

public class Base
{
    private String baseName = "base";
    public Base()
    {
        callName();
    }
 
    public void callName()
    {
        System. out. println(baseName);
    }
 
    static class Sub extends Base
    {
        private String baseName = "sub";
        public void callName()
        {
            System. out. println (baseName) ;
        }
    }
    public static void main(String[] args)
    {
        Base b = new Sub();
    }
}

正确答案: A 你的答案: B (错误)
A.null
B.sub
C.base

解释:
1.首先,需要明白类的加载顺序。
(1) 父类静态代码块(包括静态初始化块,静态属性,但不包括静态方法)
(2) 子类静态代码块(包括静态初始化块,静态属性,但不包括静态方法 )
(3) 父类非静态代码块( 包括非静态初始化块,非静态属性 )
(4)父类构造函数
(5) 子类非静态代码块 ( 包括非静态初始化块,非静态属性 )
(6) 子类构造函数
其中:类中静态块按照声明顺序执行,并且(1)和(2)不需要调用new类实例的时候就执行了(意思就是在类加载到方法区的时候执行的)
2.其次,需要理解子类覆盖父类方法的问题,也就是方法重写实现多态问题。Base b = new Sub();它为多态的一种表现形式,声明是Base,实现是Sub类, 理解为 b 编译时表现为Base类特性,运行时表现为Sub类特性。
当子类覆盖了父类的方法后,意思是父类的方法已经被重写,
题中父类初始化调用的方法为子类实现的方法,子类实现的方法中调用的baseName为子类中的私有属性。
由1.可知,此时只执行到步骤4.,子类非静态代码块和初始化步骤还没有到,子类中的baseName还没有被初始化。所以此时
baseName为空。 所以为null。

24.如果希望监听TCP端口9000,服务器端应该怎样创建socket?
正确答案: B 你的答案: D (错误)
A.new Socket(“localhost”,9000);
B.new ServerSocket(9000);
C.new Socket(9000);
D.new ServerSocket(“localhost”,9000);

25.下面属于java引用类型的有?
正确答案: A D 你的答案: A (错误)
A.String
B.byte
C.char
D.Array

26.以下哪些方法是Object类中的方法
正确答案: A B C D 你的答案: D (错误)
A.clone()
B.toString()
C.wait()
D.finalize()

27.下列选项中是正确的方法声明的是?()
正确答案: A B C D 你的答案: C (错误)
A.protected abstract void f1();
B.public final void f1() {}
C.static final void fq(){}
D.private void f1() {}

28.下列可作为java语言标识符的是()
正确答案: A B C 你的答案: C (错误)
A.a1
B.$1
C._1
D.11

解释:java中标识符的组成:由52个字母A-Z ,a-z ,数字0-9 ,下划线_ , 美元符$ 组成

29.有关线程的哪些叙述是对的()
正确答案: B C D 你的答案: B D (错误)
A.一旦一个线程被创建,它就立即开始运行。
B.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
D.当一个线程因为抢先机制而停止运行,它可能被放在可运行队列的前面。
D.一个线程可能因为不同的原因停止并进入就绪状态。

30.hibernate 开发中,关于 POJO 类对象的状态说法正确的是()。
正确答案: A B C 你的答案: B (错误)
A.自由状态(Transient):实体在内存中自由存在,与数据库中的记录无关
B.持久状态(Persistent):实体处于由Hibernate框架所管理的状态,对应了数据库中的一条记录,同时与某个session实例发生了关联
C.游离状态(Detached):在session 关闭之后,可以使对象从持久状态转换到游离状态。
D.不能将对象从游离状态转换成持久态


 

    
                        
原文链接:https://blog.csdn.net/Ctra_aaa/article/details/112758284

这篇关于java基础选择题--18(转载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1033197

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2