Java经典笔试题—day09

news2024/12/23 15:16:16

Java经典笔试题—day09

  • 🔎选择题
  • 🔎编程题
    • 🥝 另类加法
    • 🥝走方格的方案数
  • 🔎结尾

🔎选择题

(1)下面程序的输出是 ( )

String x=“fmn”;
x.toUpperCase();
String y=x.replace(‘f’,‘F’);
y=y+“wxy”;
System.out.println(y);

A.FmNwxy
B.fmnwxy
C.wxyfmn
D.Fmnwxy

D

toUpperCase() 方法会返回一个字符串作为转换成大写字母后的结果
x.toUpperCase() 只是调用该方法, 并没有去接受返回值, 所以 x 的值依然是 “fmn”
字符串 y 将 x 中的 f 替换为 F, 拼接 wxy, 输出 Fmnwxy
在这里插入图片描述

(2)在 java 中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值可能各不相同,这种面向对象的特性称为()

A.隐藏
B.覆盖
C.重载
D.无此特性

C

重载的特性
方法名相同, 参数列表不同(参数的类型, 参数的个数, 参数的顺序), 返回值不做要求

(3)关于 JAVA 的堆,下面说法错误的是()

A.所有类的实例和数组都是在堆上分配内存的
B.对象所占的堆内存是由自动内存管理系统回收
C.堆内存由存活和死亡的对象,空闲碎片区组成
D.数组是分配在栈中的

D

A. 类的实例化和数组的开辟都是需要 new 的, 因此都是在堆上分配内存的
B. 对象所占的堆内存是由自动内存管理系统回收
C. 堆内存由存活和死亡的对象,空闲碎片区组成
D. 数组分配在堆中

(4)一个以“.java”为后缀的源文件 ( )

A.只能包含一个public类,类名必须与文件名相同
B.只能包含与文件名相同的public类以及其中的内部类
C.只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)
D.可以包含任意public类

C

A. 没考虑内部类
B. 还能包含其他的类
D. 只能包含一个 public 类(不考虑内部类)

(5)JAVA 语言的下面几种数组复制方法中,哪个效率最高?

A.for循环逐一复制
B.System.arraycopy
C.Arrays.copyOf
D.使用clone方法

B

执行效率
System.arraycopy() > Object.clone() > Arrays.copyof() > for

(6)()仅包含方法定义和常量值

A.接口
B.变量
C.单元
D.成员

A

接口是一种规范, 需要类去实现接口中的方法, 因此接口中仅包含方法的定义和常量值

(7)对文件名为Test.java 的 java 代码描述正确的是 ( )

class Person {
	String name = "No name";
	public Person(String nm) {
		name = nm;
	}
}
class Employee extends Person {
	String empID = "0000";
	public Employee(String id) {
		empID = id;
	}
}
public class Test {
	public static void main(String args[]) {
		Employee e = new Employee("123");
		System.out.println(e.empID);
	}
}

A.输出:0000
B.输出:123
C.编译报错
D.输出:No name

C

实例化 Employee 类时, 由于 Employee 继承了 Person, 因此先去调用 Person 类的构造方法
系统提供的 super() 默认是无参数的, 而 Person 类的构造方法需要参数, 因此编译报错
在这里插入图片描述
在这里插入图片描述

(8)有关下述 Java 代码描述正确的选项是 ( )

public class TestClass {
   private static void testMethod(){
        System.out.println("testMethod");
   }
   public static void main(String[] args) {
        ((TestClass)null).testMethod();
   }
}

A.编译不通过
B.编译通过,运行异常,报NullPointerException
C.编译通过,运行异常,报IllegalArgumentException
D.编译通过,运行异常,报NoSuchMethodException
E.编译通过,运行异常,报Exception
F.运行正常,输出testMethod

F

testMehod() 被 static 修饰, 属于静态方法, null 被强转为 TestClass 类, 因此可以调用 testMethod() 方法
在这里插入图片描述
在这里插入图片描述

(9)下列 java 程序的输出结果为 ( )

public class Example{
    String str=new String("hello");
    char[]ch={'a','b'};
    public static void main(String args[]){
        Example ex=new Example();
        ex.change(ex.str,ex.ch);
        System.out.print(ex.str+" and ");
        System.out.print(ex.ch);
    }
    public void change(String str,char ch[]){
        str="test ok";
        ch[0]='c';
    }
}

A.hello and ab
B.hello and cb
C.hello and a
D.test ok and ab
E.test ok and cb
F.test ok and c

B

change() 方法是引用传递
进入 change() 方法的形参 str 最初指向的是 “hello” 的地址
当执行到 str = “test ok” 时, 形参 str 指向的是 “test ok” 的地址
而实参 str 仍然指向的是 “hello” 的地址
ch[0] = ‘c’ 是将 ch 所指向地址的值进行了修改, 即 char[] ch = {‘c’, ‘b’}
但 ch 所指向的对象未发生改变
在这里插入图片描述
在这里插入图片描述

(10)在jdk1.5之后,下列 java 程序输出结果为 ( )

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

A.true,false
B.true,true
C.false,true
D.false,false
E.对于不同的环境结果不同
F.程序无法执行

B

基本类型和包装类型进行 == 比较时, 包装类型会自动拆包变为基本类型再去进行比较, 因此 Integer(0) 会变为 int j = 0 再去进行 == 比较, 结果为 true
两个 Integer 类型进行 == 比较, 如果其值在 -128 ~ 127(闭区间), 返回 true. 否则返回 false
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
两个包装类进行 equals() 比较, 首先会判断类型是否相同, 如果类型相同, 则继续比较值, 如果值相同, 则返回 true

🔎编程题

🥝 另类加法


题目描述

给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符

在这里插入图片描述

解题思路

  • 通过异或与按位与进行操作
    • 异或表示无进位相加
    • 按位与表示两数相加后需要进位的部分
    • << 1 表示将需要进位的部分进1位
    • 当按位与的结果为0, 此时异或的结果就是最后的答案(因为需要进位的没有了)

在这里插入图片描述
在这里插入图片描述

public static int addAB(int A, int B) {
        // write code here
        int Eor = A;
        while(B != 0) {
            Eor = A ^ B;
            B = (A & B) << 1;
            A = Eor;
        }
        return Eor;
}

📢题目链接
链接: link


🥝走方格的方案数


题目描述

请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。

注:沿棋盘格之间的边缘线行走

输入描述

输入两个正整数n和m,用空格隔开。(1≤n,m≤8)

输出描述

输出一行结果

在这里插入图片描述

解题思路

采用递归求解

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

//走方格的方案数
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNextInt()) {
            int n = scan.nextInt();//横向(行)
            int m = scan.nextInt();//纵向(列)

            int ret = getRet(n,m);
            System.out.println(ret);
        }
    }

    private static int getRet(int n,int m) {
        if((n == 1 && m >= 1) || (n >= 1 && m == 1)) return n + m;
        int bottomArea = getRet(n - 1, m);
        int rightArea = getRet(n, m - 1);
        return rightArea + bottomArea;
    }
}

📢题目链接
链接: link


🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

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

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

相关文章

数据结构lab3-图型结构的建立与搜索

title: 数据结构lab3-图型结构的建立与搜索 date: 2023-05-16 11:42:26 tags: 数据结构与算法 课程名称&#xff1a;数据结构与算法 课程类型&#xff1a;必修 实验项目&#xff1a;图型结构的建立与搜索 实验题目&#xff1a;图的存储结构的建立与搜索 实验日期&#xff1…

基于html+css的图展示72

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【K8s】openEuler23操作系统安装Docker和Kubernetes

openEuler23操作系统安装 服务器搭建环境随手记 文章目录 openEuler23操作系统安装前言&#xff1a;一、前期准备&#xff08;所有节点&#xff09;1.1所有节点&#xff0c;关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换&#xff0c;打通所有服务器网络&am…

Java 工程师不同阶段的发展路线

Java作为一种广泛应用于企业级应用程序的编程语言&#xff0c;已成为全球最流行的编程语言之一。在Java领域&#xff0c;Java高级工程师是一个非常有前途的职业&#xff0c;随着互联网和移动应用的不断发展&#xff0c;Java高级工程师的需求量也在不断增加。在这篇文章中&#…

Node.js 学习系列(二) —— 创建一个应用

Node.js 应用由三部分组成&#xff1a; &#xff08;一&#xff09;require 指令&#xff1a; 在 Node.js 中&#xff0c;使用 require 指令来加载和引入模块&#xff0c;引入的模块可以是内置模块&#xff0c;也可以是第三方模块或自定义模块。 语法格式&#xff1a; cons…

Qt+QtWebApp开发笔记(一):QtWebApp介绍、下载和搭建基础封装http轻量级服务器Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/130631547 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

MySQL学习---16、触发器

1、触发器 MySQL从5.0.2版本开始支持触发器。MySQL的触发器和存储过程一样&#xff0c;都是嵌入到MySQL服务器的一段程序。 触发器是由某个事件来触发某个操作&#xff0c;这些事件包括Insert、Update、Delete事件。所谓事件就是指用户的动作或者触发某项行为。如过定义了触发…

杂记——24.HTML中空格的写法

前几天写项目时&#xff0c;突然对HTML中空格的写法感兴趣&#xff0c;于是搜了一下&#xff0c;现在对其进行总结 HTML不是一种编程语言&#xff0c;而是一种超文本标记语言 (markup language)&#xff0c;是网页制作所必备的。超文本”就是指页面内可以包含图片、链接&#…

PDF文件转换工具Solid Converter PDF 10.1版本在Win10系统的下载与安装配置教程

目录 前言一、Solid Converter PDF安装二、使用配置总结 前言 Solid Converter PDF是一种PDF文件转换工具&#xff0c;可以将PDF文件转换为Microsoft Word、Excel、PowerPoint等格式。它还支持批量转换和OCR&#xff08;光学字符识别&#xff09;功能。 Solid Converter PDF的…

NIO基础

NIO 在学习Netty之前&#xff0c;我们需要先了解一下NIO&#xff0c;以便更好的学习Netty NIO是non-blocking io&#xff0c;也就是非阻塞IO 1.三大组件 1.1 channel & Buffer channel 有一点类似于 stream&#xff0c;它就是读写数据的双向通道&#xff0c;可以从 ch…

【YOLO系列】YOLO v3(网络结构图+代码)

文章目录 网络结构YOLO v3YOLOv3-SPP 多尺度预测损失函数参考 最近在研究YOLO系列&#xff0c;打算写一系列的YOLO博文。在YOLO的发展史中&#xff0c;v1到v3算法思想逐渐完备&#xff0c;后续的系列也都以v3为基石&#xff0c;在v3的基础上进行改进&#xff0c;所以很有必要单…

KD600A变频抗干扰精密介质损耗测量仪

一、产品概述 KD600A变压器介质损耗测试仪是发电厂、变电站等现场自动测量各种高压电力设备介损正切值及电容量的高精度仪器。由于采用了变频技术能保证在强电场干扰下准确测量。仪器采用中文菜单操作&#xff0c;微机自动完成测量。 该仪器同样适用于车间、试验室、科研单位测…

映射及有关概念

映射的概念:有两个集合A,B&#xff0c;若A的任何元素都有唯一的B中元素与之对应&#xff0c;B中元素与之对应的称为像&#xff0c;A中对应的元素称为原像 一个集合也有像&#xff0c;定义为各自像的集合 B中集合也有原像&#xff0c;定义为各自原像的集合 虽然采用了f-1的符号&…

端口隔离、MAC地址表项、MAC地址漂移防止与检测

目录 前言 端口隔离 MAC地址表项 端口安全 MAC地址漂移检测 前言 目前网络中以太网技术的应用非常广泛。然而&#xff0c;各种网络攻击的存在&#xff08;例如针对ARP、DHCP等协议的攻击&#xff09;&#xff0c;不仅造成了网络合法用户无法正常访问网络资源&#xff0c;…

【案例教程】山洪径流过程模拟及洪水危险性评价技术

GIS水文分析&#xff08;ArcHydro、Spatial Anlysist等模块&#xff09;是流域水文模拟建模的重要工具&#xff0c;能够自动提取及计算流域边界、河网水系、流向、汇流时间和其它流域特征参数。美国陆军工程兵团开发的开源、免费Hec-RAS软件具有强大的空间数据分析与整合功能、…

每日学术速递5.13

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.VideoChat: Chat-Centric Video Understanding 标题&#xff1a;VideoChat&#xff1a;以聊天为中心的视频理解 作者&#xff1a;KunChang Li, Yinan He, Yi Wang, Yizhuo Li, Wen…

计算机网络基础知识(五)——什么是TCPUDP协议?图文并茂的方式对两大传输层协议进行从头到尾的讲解

文章目录 01 | &#x1f4d5; 什么是 T C P &#xff1f; \color{red}{什么是TCP&#xff1f;} 什么是TCP&#xff1f;&#x1f4d5;特点三次握手 && 四次挥手超时重传滑动窗口 02 | &#x1f4d9; 什么是 U D P &#xff1f; \color{orange}{什么是UDP&#xff1f;} 什…

1. 链表

b站懒猫数据结构课程笔记&#xff1a;https://www.bilibili.com/read/cv8013121?spm_id_from333.999.0.0 一、链表的概念 单链表&#xff1a;线性表的链接存储结构 单链表存储特点&#xff1a; 逻辑次序和物理次序不一定相同 元素之间的逻辑关系用指针表示 举例&#xff1a…

PASCAL VOC数据集

一、前言 之前寒假好像就学了&#xff0c;但是没有记笔记&#xff0c;现在看来还是得记笔记&#xff0c;都忘得差不多了啊。 二、数据集的介绍 2.1数据集背景 分类类别 2.2数据集文件结构&#xff1a; 2.3文件夹 2.3.1Annotations文件夹 对于标注文件Annotations&#xff1a;里…

基于SpringBoot框架的程序开发步骤

SpringBoot简介 1. 入门案例问题导入1.1 入门案例开发步骤1.2 基于SpringBoot官网创建项目1.3 SpringBoot项目快速启动 2. SpringBoot概述问题导入2.1 起步依赖2.2 辅助功能 1. 入门案例 问题导入 SpringMVC的HelloWord程序怎么写&#xff1f; SpringBoot是由Pivotal团队提供…