java 每日一练 (9)

文章目录

  • 1. 单选
  • 2. 编程

1. 单选


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


在这里插入图片描述


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


答案 : D , 这里主要考察 toUpperCase 和 replace 方法 , 注意点 : toUpperCase 方法 将小写字母转为大写字母并不会影响原字符串而是生成一个新的字符串.

在这里插入图片描述


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


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


答案 : C

A : java 中并没有 隐藏

B : 覆盖 其实就是 重写 , 子类继承 父类 ,将父类的方法进行了重写 , 重写 : 方法名相同 ,参数列表相同 (数据类型 ,个数 ,顺序) 返回值相同 (有一个特例,就是 返回值构成父子类).

C : 重载 : 方法名相同 , 参数列表不同 (数据类型, 个数, 顺序 ) , 返回值不做要求.

D : 根据题目 分析 很明显 有这个特性 ,这个特性就是 重载.


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

A 所有类的实例和数组都是在堆上分配内存的

B 对象所占的堆内存是由自动内存管理系统回收

C 堆内存由存活和死亡的对象,空闲碎片区组成

D 数组是分配在栈中的


答案 : D


A : 正确 , 类的实例 和 数组 都是通过 new 关键字 创建的 ,通过 new 关键字创建出来的都是分配在堆上的 .

这种静态初始化数组, jvm 会通过 new 来创建数组对象.

在这里插入图片描述


B : 正确

C :正确

D : 错误 数组分配在 堆上


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

A 只能包含一个public类,类名必须与文件名相同

B 只能包含与文件名相同的public类以及其中的内部类

C 只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)

D 可以包含任意public类


答案 : C


A : 一个 .java 为后缀的 源文件 ,可以包含 一个 public 修饰的类 (这个类名与 .java 名相同) ,还可以包含 其他类 (外部类,内部类) 所以 A 错误

B : 错误 , 看可以包含 外部类 .

C : 正确

D : 错误 只能包含一个 public 修饰的类


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


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


答案 : B


A : for 循环逐一复制效率是最低的 , for的速度之所以最慢 是因为下标表示法每次都从起点开始询问道指定下标出,另外 就是它每一次循

环就要判断依次是否达到最大长度和进行一次额外的记录下标值的加法运算.

B : System.arraycopy 是比较推荐的方法 , 这个方法 针对非基本类型拷贝,拷贝的是对象,效率是非常高的

C : Arrays.copyOf

在这里插入图片描述

D : clone 方法 对于 对象来说是深拷贝 ,对于 数组来说是浅拷贝 , 它的效率要高于 Arrays.copyOf , 低于 System.arraycopy

总结 : System.arraycopy > Object.clone > Arrays.copyOf > for

如不不太清楚 clone 这个方法 ,可以看这个回顾一下

这篇文章关于 ,Cloneable 接口


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


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


答案 : A , 这里 B , C , D 都不符合实际 , 接口 是可以定义 方法 和常量值的.

在这里插入图片描述


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


这里先不放在 IDEA 上展示 ,因为放上去 一下就知道答案了

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

在这里插入图片描述


8. 有关下述Java代码描述正确的选项是____。

在这里插入图片描述


A 编译不通过

B 编译通过,运行异常,报NullPointerException

C 编译通过,运行异常,报IllegalArgumentException

D 编译通过,运行异常,报NoSuchMethodException

E 编译通过,运行异常,报Exception

F 运行正常,输出testMethod


答案 : F , 本题 主要考察 static , 关于 static 修饰的方法 无论 new 多少个 实例对象, 被 static 修饰的 只有一份 , 属于类本身 , 这里 testMethod 方法 被 static 修饰 , 这个方法属于类的, 就可以直接通过类名.testMethod() 调用这个方法. ,我们这里将 null 强转为 Test2 就可以 通过 . 来调用 testMethod 方法


运行结果 :

在这里插入图片描述

关于 static 修饰的 方法 和变量 知识点

下列java程序的输出结果为____。

在这里插入图片描述

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

在这里插入图片描述


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

在这里插入图片描述

A true,false

B true,true

C false,true

D false,false

E 对于不同的环境结果不同

F 程序无法执行


答案 : B

在这里插入图片描述


关于装箱拆箱相关知识

2. 编程

题目一 : 另类加法_牛客题霸_牛客网 (nowcoder.com)

在这里插入图片描述



图一 :

在这里插入图片描述


代码 :

在这里插入图片描述


题目二 : 走方格的方案数_牛客题霸_牛客网 (nowcoder.com)


在这里插入图片描述


解析 :


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


附上代码 :

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static int cnt = 0;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int m = sc.nextInt();

        int n = sc.nextInt();

        int[][] arr = new int[m + 1][n + 1];

        dp(arr, 0, 0);

        System.out.println(cnt);

    }

    private static void dp(int[][] arr, int i, int j) {

        // 判断当前的 i , j 是否越界
        if (i > arr.length || j > arr[0].length) {
            return;
        }
        // 判断是否走到了 预期地点
        if (i == arr.length - 1 && j == arr[0].length - 1) {

            // 让 全局变量 ++
            cnt++;
        }

        // 递归 走右边
        dp(arr, i + 1, j);

        // 递归 走下面
        dp(arr, i, j + 1);

    }

}


方法二 :


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

附上代码 :

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        int m = sc.nextInt();

        int cnt = dp(m, n);

        System.out.println(cnt);


    }

    private static int dp(int m, int n) {
        if (m == 1 && n >= 1 || n == 1 && m >= 1) {
            return m + n;
        }

        return dp(m - 1, n) + dp(m, n - 1);
    }
}

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

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

相关文章

动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)

动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。动态规划问题,五步走:状态定义&am…

【数据结构】双向链表

🚀write in front🚀 📜所属专栏: 初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

海思SD3403/SS928V100开发(7)mcp2515-SPI转CAN驱动开发

1. 前言 需求: 需要一路can进行收发 分析: 根据目前使用较多的方案是使用主控端SPI接口 接入MCP2515芯片进行CAN协议转换 硬件: MCP2515->SPI2->SS928 2. Uboot开发 2.1 pinmux复用配置 2.1.1 修改uboot参数表 路径: osdrv/tools/pc/uboot_tools/ SS928V100…

Android 进程间通信机制(三) 系统进程与应用进程通信

一. 概述 Android中有一个重要的系统进程(system_server),运行着系统中非常重要服务(AMS, PMS, WMS等), 针对Activity而言,系统进程需要不断地调度Activity执行,管理Activity的状态; 每一个APK都需要运行在一个应用进程中&#xf…

【动态规划】最长上升子序列(单调队列、贪心优化)

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

jvm-题库

1、JVM内存模型 JVM内存区域总共分为两种类型 线程私有区域:程序计数器、本地方法栈和虚拟机栈 线程共享区域:堆(heap)和方法区 特征 线程私有区域:依赖用户的线程创建而创建、销毁而销毁,因用户每次访问都…

带头双向循环链表

在前面我们学习了单链表,发现单链表还是有一些不够方便,比如我们要尾插,需要遍历一遍然后找到它的尾,这样时间复炸度就为O(N),现在我们引入双向带头链表就很方便了,我们先看看它的结构。通过观察,我们发现一…

Vue全新一代状态管理库 Pinia【一篇通】

文章目录前言1. Pinia 是什么?1.1 为什么取名叫 Pinia?1.2. 为什么要使用 Pinia ?2. 安装 Pinia2.1.创建 Store2.1.1. Option 类型 Store2.1.2 Setup 函数类型 Store2.1.3 模板中使用3. State 的使用事项(Option Store )3.1 读取 State3.2 …

EEPROM芯片(24c02)使用详解(I2C通信时序分析、操作源码分析、原理图分析)

1、前言 (1)本文主要是通过24c02芯片来讲解I2C接口的EEPROM操作方法,包含底层时序和读写的代码; (2)大部分代码是EEPROM芯片通用的,但是其中关于某些时间的要求,是和具体芯片相关的,和主控芯片和外设芯片都有关系&…

一天吃透TCP面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…

vue模板语法

src目录文件说明: 1,数据绑定{{}} 数据绑定最常见的形式就是使用{{}}(双花括号)语法的文本插值 在template中使用{{}}文本插值语法中,设置一个变量,再在script中引入data函数,在return中进行数…

接口测试和性能测试有什么区别?我敢打赌你一定不知道

目录 一、什么是接口测试 二、接口测试原理 三、接口测试步骤 四、什么是性能测试 五、性能测试步骤 六、接口测试和性能测试的区别 一、什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点…

2023最全Python+Selenium环境搭建教程-你绝对想不到有这么简单!

还有视频版本结合项目实战介绍,轻松学习! PythonSelenium自动化测试环境搭建Web自动化测试全套教程_哔哩哔哩_bilibiliPythonSelenium自动化测试环境搭建Web自动化测试全套教程共计180条视频,包括:1、Web自动化测试需求和挑战、2…

深度学习-Tensorflow使用Keras进行模型训练

本文以FasionMNIST/加州房价数据集为例,介绍KerasAPI进行分类问题/回归问题模型训练的方法Tensorflow版本Tensorflow和keara都需要2.0及以上版本import tensorflow as tf from tensorflow import keras print(tf.__version__) print(keras.__version__)分类MLP构建数…

AI_Papers周刊:第六期

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 2023.03.13—2023.03.19 文摘词云 Top Papers Subjects: cs.CL 1.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot Evaluation 标题:UPRISE:改进零样本评估…

要是早看到这篇文章,你起码少走3年弯路,20年老程序员的忠告

文章目录前言一、程序员的薪资是怎么样的?二、我现在的情况适合做程序员吗?三、大学期间到底应该学些什么?四、工作还是考研?五、总结前言 我是龙叔,一名工作了20多年的退休老程序员。 如果你在工作之前看到这篇文章…

【AI大比拼】文心一言 VS ChatGPT-4

摘要:本文将对比分析两款知名的 AI 对话引擎:文心一言和 OpenAI 的 ChatGPT,通过实际案例让大家对这两款对话引擎有更深入的了解,以便大家选择合适的 AI 对话引擎。 亲爱的 CSDN 朋友们,大家好!近年来&…

libcurl库访问人工智能平台之人脸识别

一、前言上一篇文章我们调用libcurl库去访问了百度,访问的是http协议的百度云主页。那么现在我们要基于翔云人工智能平台来实现人脸识别,具体的操作大概就是我们在linux下调用libcurl库去访问翔云人工智能平台,然后实现我们想要的两张人脸图片…

FPGA纯verilog实现RIFFA的PCIE通信,提供工程源码和软件驱动

目录1、前言2、RIFFA简介RIFFA概述RIFFA架构RIFFA驱动3、vivado工程详解4、上板调试验证并演示5、福利:工程代码的获取1、前言 PCIE是目前速率很高的外部板卡与CPU通信的方案之一,广泛应用于电脑主板与外部板卡的通讯,PCIE协议极其复杂&…

【Linux】基本指令介绍

前言从今天开始,我们一起来学习Linux的相关知识,今天先来介绍怎么登录Linux,并且介绍一些Linux的基本指令。使用 XShell 远程登录 Linux很多同学的 Linux 启动进入图形化的桌面. 这个东西大家以后就可以忘记了. 以后的工作中 没有机会 使用图…
最新文章