秋招备战笔试Day2

news2024/9/23 23:35:26

目录

单选

1.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:

2.下面代码将输出什么内容:()

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

4.在使用super和this关键字时,以下描述正确的是()

5.如下代码的 结果是什么 ?

6.如下代码的输出结果是什么?

7.下列哪一种叙述是正确的()

8.下列说法正确的有:()

9.选项中哪一行代码可以替换 //add code here 而不产生编译错误

10.在使用 interface 声明一个外部接口时,只可以使用( )修饰符修饰该接口。

编程

1.排序子序列

相关题目链接:排序子序列_牛客笔试题_牛客网

题目重现

思路

代码

2.倒置字符串

相关题目链接:倒置字符串__牛客网

题目重现

思路

代码


单选

1.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:

1. A a0=new A();
2. A a1=new B();
3. A a2=new C();

问以下哪个说法是正确的()

A. 只有第一行能通过编译

B. 第1、2行能通过编译,但第3行编译出错

C. 第1、2、3行能通过编译,但第2、3行运行时出错

D. 第1行,第2行和第3行的声明都是正确的

class A{

}

class B extends A{

}

class C extends B{

}

A a0=new A(); A实例化一个自己当然是没问题的,也就是说,1是正确的。

A a1=new B(); 实例化一个B类对象,因为B是A的子类,所以可以实例化,父类引用可以指向子类对象。

A a2=new C(); 实例化一个C类对象,因为C是B的子类,所以可以实例化,父类引用可以指向子类对象。

2.下面代码将输出什么内容:()

public class SystemUtil{
 public static boolean isAdmin(String userId){
 return userId.toLowerCase()=="admin";
 }
 public static void main(String[] args){
 System.out.println(isAdmin("Admin"));
 }
}

A. true

B. false

C. 1

D.编译错误

toLowerCase() 是一个字符串方法,用于将字符串中的所有大写字母转换为小写字母。

在toLowerCase()方法的源码中我们可以发现,这里的返回值是new了一个新的String对象,也就是说,这里调用toLowerCase()方法不是对本身进行修改而是new了一个新的对象,userId.toLowerCase()这里产生了一个新的对象,而“admin”在常量池中,==表示比较的是双方的地址是否相同,这里肯定是不相等的,也就是false。

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

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,不能正常运行

Test test=null;表示这个引用不指向任何对象。

此处hello方法是一个静态方法,而静态方法的调用不依赖于任何对象。

所以,这里可以正确运行。

4.在使用super和this关键字时,以下描述正确的是()

A. 在子类构造方法中使用 super() 显示调用父类的构造方法,super() 必须写在子类构造方法的第一行,否则编译不通过

B. super() 和 this() 不一定要放在构造方法内第一行

C. this() 和 super() 可以同时出现在一个构造函数中

D. this() 和 super() 可以在static环境中使用,包括static方法和static语句块

superthis 关键字在 Java 中都有以下特点:

  1. super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)
  2. this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)
  3. super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参) this:它代表当前对象名(在程序中易产生二义性之处,应使用 this 来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用 this 来指明成员变量名)
  4. 调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用 super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。
  5. super() 和 this() 类似,区别是,super() 从子类中调用父类的构造方法,this() 在同一类内调用其它方法。
  6. super() 和 this() 均需放在构造方法内第一行
  7. 尽管可以用this调用一个构造器,但却不能调用两个。
  8. this 和 super 不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有 super 语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
  9. this() 和 super() 都指的是对象,所以,均不可以在 static 环境中使用。包括:static 变量,static 方法,static 语句块。
  10. 从本质上讲,this 是一个指向本对象的指针, 然而 super 是一个 Java 关键字。

5.如下代码的 结果是什么 ?

class Base {
 Base() {
 System.out.print("Base"); 
 }
}
public class Alpha extends Base {
 public static void main( String[] args ) {
 new Alpha();
 //调用父类无参的构造方法
 new Base();
 } 
}

A. Base

B. BaseBase

C. 编译失败

D. 代码运行但没有输出

E. 运行时抛出异常

子类的构造方法会帮父类的构造方法构造,这里子类中没有写,那么会默认帮父类的构造方法构造,所以这里new Alpha会打印Base ,new Base也会打印Base。

6.如下代码的输出结果是什么?

public class Test { 
 public int aMethod(){
 static int i = 0;
 i++; 
 return i;
 } 
public static void main(String args[]){
 Test test = new Test(); 
 test.aMethod(); 
 int j = test.aMethod();
 System.out.println(j);
 } 
}

A. 0

B. 1

C. 2

D. 编译失败

static在定义的时候不能定义局部变量。也就是说static定义的变量一定是静态成员变量。

不能在普通的方法里面定义静态变量,静态的方法里面也不可以出现静态成员变量。

7.下列哪一种叙述是正确的()

A. abstract修饰符可修饰字段、方法和类

B. 抽象方法的body部分必须用一对大括号{ }包住

C. 声明抽象方法,大括号可有可无

D. 声明抽象方法不可写出大括号

abstract修饰符不可以修饰字段。

抽象方法不需要大括号,写大括号就表明现在是一个具体实现了。

8.下列说法正确的有:()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new 时执行

D. 一个class只能定义一个constructor

class中的constructor不可省略:类中的构造方法可以省略。

constructor必须与class同名,但方法不能与class同名:方法可以和类同名。

一个class只能定义一个constructor:构造方法可以发送重载。

9.选项中哪一行代码可以替换 //add code here 而不产生编译错误

public abstract class MyClass {
 public int constInt = 5;
 //add code here
 public void method() {
 }
}

A. public abstract void method(int a);

B. consInt=constInt+5;

C. public int method();

D. public abstract void anotherMethod(){}

首先这个类是抽象类,有一个成员变量和一个方法。

成员变量的运算一定要放到方法里面。

public int method();没有方法体

public abstract void anotherMethod(){}:抽象方法不能有花括号,有花括号就表示这个方法有具体实现了。

10.在使用 interface 声明一个外部接口时,只可以使用( )修饰符修饰该接口。

A. private

B. protected

C. private protected

D. public

在使用 interface 声明一个外部接口时,只可以使用 public 修饰符修饰该接口。

这里考察的还是修饰符权限的问题。

编程

1.排序子序列

相关题目链接:排序子序列_牛客笔试题_牛客网

题目重现

思路

首先,非递减就是:a[i] <= a[i+1],递减就是a[i] > a[i+1]

非递增就是:a[i] >= a[i+1],递增就是a[i] < a[i+1]

要找有多少段,就是说,如果发现它要进入下一个段了,那么我们的计数器加加。

我们使用一个标志来区分当前状态:0表示不增不减,1表示递增,-1表示递减。

代码

   public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()){
            int n = scanner.nextInt();
            int[] num = new int[n];
            for (int i = 0; i < n; i++) {
                num[i] = scanner.nextInt();
            }


            //开始处理数据
            // 非递增  num[i] <= num[i+1]
            // 非递减  num[i] >= num[i+1]
            int f = 0;
            int count = 1;
            for (int i = 0; i < num.length-1; i++) {
                if (num[i] < num[i+1]){
                    if (f == 0){
                        f = 1;
                    }
                    if (f == -1){
                        f = 0;
                        count++;
                    }

                }else if (num[i] > num[i+1]){
                    if (f == 0){
                        f = -1;
                    }
                    if (f == 1){
                        f = 0;
                        count++;
                    }
                }
            }
            System.out.println(count);
        }
    }

2.倒置字符串

相关题目链接:倒置字符串__牛客网

题目重现

思路

思路如图所示,先将字符串根据空格进行分割,然后按顺序放入栈中,再从栈中按序取出字符串数组将其添加到stringBuffer中。最后输出。

代码

  public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            String s = scanner.nextLine();
            //分割
            String[] str = s.split(" ");

            //栈先入后出  可以使用
            Stack<String> stack = new Stack<>();

            for (int i = 0; i < str.length; i++) {
                stack.push(str[i]);
            }

            while (!stack.isEmpty()){
                for (int i = 0; i < stack.size(); i++) {
                    StringBuffer stringBuffer = new StringBuffer();
                    stringBuffer.append(stack.pop() + " ");
                    System.out.println(stringBuffer);
                }
            }
        }
    }

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

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

相关文章

vlan access, trunk, hybrid (tagged/untagged) 笔记

vlan 接口和配置 PVID&#xff08;port vlan ID&#xff09; 定义 pvid 主要目的&#xff1a; 当交换机接口收到没有 vlan tag 标签的包时&#xff0c;接口会将定义的 pvid 作为当前包的 vlan id。当对映 pvid vlan 的包&#xff0c;通过当前交换机接口发出时&#xff0c;接…

ADSelfService Plus:保护密码安全的最佳解决方案

密码安全是当今数字时代中至关重要的话题。随着互联网和信息技术的迅速发展&#xff0c;我们的生活变得越来越数字化&#xff0c;密码已成为我们生活中不可或缺的一部分。然而&#xff0c;随着各种网络威胁和黑客攻击不断增加&#xff0c;保护我们的密码变得越来越重要。 密码安…

测试工程师刚入职如何快速熟悉需求并输出测试用例?

刚入职第一天&#xff0c;早上办完入职&#xff0c;下午就就分配了测试任务&#xff0c;2个模块13条短信验证&#xff0c;2天内输出测试用例&#xff08;xmind输出功能点&#xff0c;excel书写业务流&#xff09;。测试负责人给我们快速讲了一下业务&#xff0c;在这过程中大概…

openssl/bn.h: No such file or directory

报错截图 解决方法 ubuntu apt install libssl-dev -y centos yum install openssl-devel -y

echarts实现多层环图(复制粘贴即可)

data里面参数配置&#xff1a; // 多重环图optionCircle: {tooltip: {show: false,trigger: item,formatter: "{a} : {c} ({d}%)"},color: [#3AB1EB, #D48B6A, #5B41C8, #FE7E02],legend: {orient: horizontal,itemWidth: 30, // 图例标记的图形宽度。itemHeight…

从产品和运营的角度聊聊,如何有效吸引与引导用户注册转化?

从产品和运营的角度聊聊 如何有效吸引与引导用户注册转化&#xff1f; 正文共&#xff1a;4360字 23图 预计阅读时间&#xff1a;11分钟 1 如何进行改版&#xff0c;找找思路&#xff1f; 前段时间在做公司的网站改版策划&#xff0c;此前接触的都是一些ToB的解决方案提供商…

Jmeter脚本录制:抓取IOS手机请求包

现在移动端的项目越来越多&#xff0c;今天给大家介绍一下&#xff0c;在IOS下Jmeter如何抓包。 1、电脑连上wifi 2、Jmeter中配置“HTTP代理服务器” 1)启动Jmeter&#xff1b;2)“测试计划”中添加“线程组”&#xff1b;3)“测试计划”中添加“HTTP代理服务器”&#xff…

【算法很美】多维数组和字符串篇打卡(第三天)

文章目录 子矩阵的最大累加和整体代码 矩阵运算-乘法整体代码 检测字符串是否有重复字符整体代码 反转字符串整体代码 变形词整体代码 替换字符串中的空格整体代码 子矩阵的最大累加和 整体代码 package 每日算法学习打卡.算法打卡.七月份.七月三十一号;import java.util.Arra…

nginx配置访问本机文件夹里的静态资源404

在nginx中配置了location访问一直404 location /web/user/ { alias /home/user/wlds/user/;index index.html;try_files $uri $uri/ /index.html 404;} 看日志发现Permission denied 因为是直接使用的yum安装的二进制包nginx&#xff0c;nginx.conf文件首行是user nginx;所以没…

【DRAM存储器三】内存颗粒内部结构

&#x1f449;个人主页&#xff1a;highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 参考资料&#xff1a;《镁光DDR4数据手册》 目录 DDR4颗粒的内部结构 …

[SSM]Spring6整合JUnit5与集成MyBatis3.5

目录 十七、Spring6整合JUnit5 17.1Spring对JUnit4的支持 17.2Spring对JUnit5的支持 十八、Spring6集成MyBatis3.5 18.1实现步骤 18.2具体实现 18.3spring配置文件的import 十七、Spring6整合JUnit5 17.1Spring对JUnit4的支持 准备工作&#xff1a; <dependencies&…

python——案例四:判断字符串中的元素组成

案例四&#xff1a;判断字符串中的元素组成str"Hello World! 666" print(str.isalnum()) #判读所有的字符都是数字或者是字母 print(str.isalpha()) #判读所有的字符都是字母 print(str.isdigit()) #判读所有的字符都是数字 print(str.islower()) #判读所有的字符都是…

从 0 到 1!得物如何打造通用大模型训练和推理平台

1.背景 近期&#xff0c;GPT 大模型的发布给自然语言处理&#xff08;NLP&#xff09;领域带来了令人震撼的体验。随着这一事件的发生&#xff0c;一系列开源大模型也迅速崛起。依据一些评估机构的评估&#xff0c;这些开源模型大模型的表现也相当不错。一些大模型的评测情况可…

【Linux取经路】进度条小程序

文章目录 一、预备知识1.1 回车换行1.2 缓冲区 二、倒计时2.1 注意事项 三、进度条3.1 源代码3.2 代码分析3.2 实际使用场景 一、预备知识 1.1 回车换行 一般意义上的回车换行是两个独立的独立的动作&#xff0c;而C语言中的\n则同时完成了回车和换行的工作。回车是将光标移动…

接口压测实践——压力测试常见参数解释说明

使用场景​ 对指定接口进行性能测试时&#xff0c;一些常见参数解释说明。 一键并发​ 可以通过下载最新版的 Apipost 客户端实现单接口的高性能一键并发压测&#xff0c;如下图所示 注意&#xff1a;请勿设置太大的并发量或者循环次数&#xff0c;这有可能导致直接将被压服…

实时协作:团队效率倍增的关键

实时协作是指团队在当前时刻共同完成项目的能力。无论是否使用技术&#xff0c;都能实现这一点。然而&#xff0c;随着远程工作的盛行&#xff0c;安全的协作工具被用来让团队成员在项目和一般业务之间保持联系和同步。 传统协作与实时协作的区别 两种类型的协作最明显的区别…

JPEG有损图像压缩编码器(附源码)

概述 一个基本由自己实现的JPEG有损图像压缩编码器&#xff0c;基于JFIF&#xff08;JPEG文件交换格式&#xff09;标准&#xff1a; 色彩空间转换&#xff08;RGB to YUV&#xff09;色度抽样&#xff08;采样因子4:2:0&#xff09;MCU分块&#xff08;16x16的最小编码单元&…

抄写Linux源码(Day1:获取并运行 Linux0.11)

Day1&#xff1a;获取并运行 Linux0.11 参考资料&#xff1a;https://zhuanlan.zhihu.com/p/438577225 这是我参考的一个别人写的 Linux0.11 解读&#xff1a;https://github.com/dibingfa/flash-linux0.11-talk 我获取 Linux-0.11 源码的链接&#xff1a;https://github.com/…

最适合新手的Java项目/SpringBoot+SSM项目《苍穹外卖》/项目实战、笔记(超详细、新手)[持续更新……]

小知识 软件设计中提到的UI设计中的UI是什么意思&#xff1f; 在软件设计中&#xff0c;UI设计中的UI是User Interface的简称&#xff0c;即用户界面。UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计可以让软件变得有个性有品位&#xff0c;同时让操作…