基础面试问题

news2025/1/20 2:08:29
    • 在Java中获取当前的工作目录

System.getProperty("user.dir")

public class Test {
    public static void main(final String[] args) {
        final String dir = System.getProperty("user.dir");
        System.out.println("current dir = " + dir);
    }
}
    • 获取一定范围的随机整数

方法一:利用java.util.Random类实现

例如:生成[0,100]内随机数

Random random = new Random();
int r = random.nextInt(100)+1;    // random.nextInt(100)只能生成[0,100)

方法二:利用Math.random

(1)产生从0到n的随机整数,即返回值[0,n]

int num=(int)(Math.random()*(n+1);

(2)生成从a到b的随机整数,即返回值[a,b]

int num=a+(int)(Math.random()*(b-a+1));

想要得到某个范围内的随机数: (数据类型)(最小值+Math.random()*(最大值-最小值+1))

例如:生成[1,100]内随机数

int r = (int) (1+Math.random()*(100-1+1));

3、Math函数

Math.round()函数

可以简单的理解为四舍五入函数,在负数的情况下0.5不进位。

正数:Math.round(11.5)=12
负数:Math.round(-11.5)=-11

正数:Math.round(11.46)=11
负数:Math.round(-11.46)=-11

Math.ceil()函数

ceil() 方法执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。java.lang.Math.ceil(double a) 返回最小的(最接近负无穷大)double值,大于或相等于参数,并相等于一个整数。特殊情况:如果参数值已经等于某个整数(+0,-0等任意整数)或者是NaN,那么结果与参数相同。

Math.floor()函数

math.floor()函数用来返回数字的下舍整数,即它总是将数值向下舍入为最接近的整数。

math. floor (-45.17 ) : -46.0

math. floor (100.12 ) : 100.0

math. floor (100.72) : 100.0

math. floor (119L) : 119.0

math. floor (math.pi) : 3.0

4、什么是包?定义包有什么好处?

Java 包(package),package是一个为了方便管理组织java文件的目录结构,并防止不同java文件之间发生命名冲突而存在的一个java特性。

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

好处:

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2、可重用性。在java中开发项目时,我们常常觉得我们的代码中一遍又一遍地写的东西很少。使用包,您可以在包内部以类的形式创建这样的东西,并且只要您需要执行相同的任务,只需导入该包并使用该类。

3、防止命名冲突。我们可以在不同的包中定义两个具有相同名称的类,以避免名称冲突,我们就可以使用包。

4、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

5、查看磁盘中目录文件

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

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

相关文章

Redis01之Windows版本的Redis安装配置

目录 0. 学习网址 https://www.w3cschool.cn/redis/https://www.w3cschool.cn/redis/ 1. Redis简介 2. 下载 3. 安装和配置 3.1 window(略...) 3.2 linux(CentOS) 4. Redis支持五种数据类型 5.通过命令操作redis 0. 学习网址 https://www.w3cschool.cn/redis/http…

一文搞懂CPU如何控制I/O设备

1 接口和设备:经典适配器模式 输入输出设备不只是一个设备。大部分输入输出设备,都有: 它的接口(Interface)实际的I/O设备(Actual I/O Device) 硬件设备并非直接接入到总线上和CPU通信&#…

UOS 录制电脑播放的音频 / 内录音频

Windows 里面有一个“立体声混音”,可以内录电脑播放的音频,而不受到外界噪音的干扰。前段时间接到反馈说 UOS 的设置里面的音频输入里面没有可以选择的设备,这里就稍微探索了一下,发现 UOS 也是可以配置内录的。这里参考了一下这…

网络基础(一)

网络基础(一)计算机网络背景网络发展独立模式: (计算机之间相互独立)网络互联: ( 多台计算机连接在一起, 完成数据共享)局域网LAN: (计算机数量更多了, 通过交换机和路由器连接在一起);广域网WAN: (将远隔千里的计算机…

vue入门到精通(一)

一、vue简介 Vue是一款用于构建用户界面的 JavaScript 框架。 它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。 无论是简单还是复杂的界面,Vue 都可以胜任。 二、vue3选项式…

Linux编译器-gcc/g++使用

目录 1. 背景知识 2. gcc如何完成 2.1 预处理(进行宏替换) 2.2 编译(生成汇编) 2.3 汇编(生成机器可识别代码) 2.4 链接(生成可执行文件或库文件) 3 函数库 3.1 分类 3.2 图解 4 gcc选项 1. 背景知…

开源工具系列2:Trivy

在云原生安全的场景中,一个常见的场景就是对漏洞和配置进行扫描,以发现整个 K8s 环境的安全问题。今天我们来介绍一个高效的扫描工具Trivy。 Trivy 是什么 Trivy(tri 发音为 trigger,vy 发音为 envy)是一个简单而全面…

QT 学习笔记(十七)

文章目录一、多线程简介1. 基础知识2. 多线程的优缺点及注意事项二、多线程详解1. 背景案例2. 通过多线程对背景案例进行优化3. 方法一:多线程的创建使用(QT 4.7 以前)3.1 方法一的创建步骤3.2 方法一的具体实现及实现代码4. 方法二&#xff…

Android Hook之Frida安装使用

目录Frida安装安装frida-serverfrida-server配置和启动Frida Hook实例1:实例2:Frida 常用命令Frida 是一个动态检测框架,允许开发人员在 Windows、macOS、Linux、iOS 和 Android 上的原生应用程序中注入 JavaScript 或 Python 脚本。该框架可…

Spring复习(二)

FactoryBean FactoryBean是一个接口,需要创建一个类实现该接口 package com.mao.pojo;import org.springframework.beans.factory.FactoryBean;public class StudentFactoryBean implements FactoryBean {//getObject方法将对象交给Spring容器来管理Overridepubli…

Go web开发

使用 Gin-Plus 框架快速进行 web 开发 一、前言 安装 Get go get github.com/archine/gin-plus/v2v2.0.0Mod # go.mod文件加入下面的一条 github.com/archine/gin-plus/v2 v2.0.0# 命令行在该项目目录下执行 go mod tidy二、项目使用 1、启动入口 定义 main 文件&#xf…

来自一位双非本科大二学生的?自我救赎:堕落——蜕变

回望2022:获得?:失去;开心?:难过;伤心?:释怀 先提一句,总结2022,有后悔、不甘;有开心、感动;2022结束,更多的是…

springboot 2.6.6读不到nacos上的配置文件

搭建了一个微服务项目 spring boot 版本:2.6.6 spring cloud 版本:2021.0.1 spring cloud alibaba 版本:2021.0.1.0 遇到的问题无论是在application.yml还是在bootstrap.properties属性文件里配置服务中心相关的的信息都不能读取nacos上的…

LeetCode[215]数组中的第K个最大元素

难度:中等题目:给定整数数组 nums和整数 k,请返回数组中第 k个最大的元素。请注意,你需要找的是数组排序后的第 k个最大的元素,而不是第 k个不同的元素。你必须设计并实现时间复杂度为 O(n)的算法解决此问题。示例 1:输…

2.5(完结)C语言重点解剖内存管理函数要点速记

1.指针如果有具体的指向,包括野指针,对应的合法性,我们是无法验证的。 2.所有的指针如果没有被直接使用,必须设置为NULL。 3.在函数内部,要验证指针的合法性,本质上是验证指针!NULL。 4.自定义函数传入指…

Odoo 16 企业版手册 - 库存管理之到岸成本

到岸成本 到岸成本可以定义为买方在购买时应支付的产品总价。这包括运输、关税、手续费、服务费、运费等。为了获得产品的销售价格,这些额外费用被添加到产品的实际成本中。根据公司政策,不同公司的到岸成本计算方法将有所不同。在Odoo 库存模块中&#…

JAVA中的for循环使用方法

一. 循环结构1. 概念在学习Java里的循环之前,我们先来了解一下到底什么是循环,以及循环的作用。我们先来看下面这张图:大家想一下,我们在400米的跑道上参加万米长跑,正常情况下要跑25圈,这25圈每一圈的跑步…

FPGA:逻辑运算及逻辑门

文章目录逻辑变量与逻辑函数逻辑运算基本逻辑运算及对应的逻辑门1.与运算与逻辑举例状态表与真值表与逻辑符号与逻辑表达式与门电路2. 或运算或逻辑举例电路状态表状态表与真值表或逻辑符号或逻辑表达式或门电路3. 非运算非逻辑举例电路状态表状态表与真…

Lichee_RV学习系列---认识Lichee Rv Dock、环境搭建和编译第一个程序

Lichee Rv Dock学习系列文章目录 文章目录Lichee Rv Dock学习系列文章目录前言一、认识Lichee RV1、D1-H 芯片2、Lichee RV开发板3、系统镜像二、Lichee RV 固件烧录1、要求基本硬件2、基本资料下载3、固件烧录在这里插入图片描述三、连接上开发板1、ADB方式连接a:A…

【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境

【ART-Pi】使用STM32CubeIDE搭建开发环境STM32CubeIDESTM32CubeIDE新建工程进入芯片选型界面HSE和LSE时钟源设置时钟系统(时钟树)配置Generate CodeSTM32CubeIDE STM32CubeIDE安装比较简单,这里略过,可以百度搜索相关教程 STM32…