java random用法_JAVA面试题(1)

1.Java内部类和子类之间有什么区别?

答案:内部类是指在一个外部类的内部再定义一个类,内部类对外部类有访问权限,可以访问类 中定义的所有变量和方法。子类是从父类(superclass)中继承的类,子类可以访问父类所有public和protected的字段和方法。

2.Java语言中有哪些常见的访问说明符,有什么意义?

答案:Java中的访问说明符是放在类名之前,用于定义访问范围的关键字,常见的访问说明符有 以下几类:Public:公共,能被项目中的任何一个Class、Method、Field访问。Protected:受保护,能被同类或子类访问,不能从外部访问。Default:默认,只能被同一个包的Class、Method、Field访问。Private:私有,只能被本类访问。

3.静态方法和静态变量的目的是什么?

答案:静态变量被类的所有实例共用,静态类只能访问类的静态变量,或调用类的静态方法。

4.什么是数据封装及其意义? 

答案:封装是面向对象编程中用于在单个单元中组合属性和方法。封装可以帮助程序员遵循模块化方法进行软件开发,每个对象都有自己的一组方法和变量,并且 可以独立于其他对象来执行其功能。另外,封装也有数据隐藏的目的。

5.什么是 singleton class(单例类)?并给出其用法的实际例子。 

答案:单例类只能有一个实例,必须自己创建自己的唯一实例,必须给所有其他对象提供这一实 例。单例使用场景的最佳实践是由于某些驱动程序限制或由于许可问题的限制只能连接数据库。

6.什么是循环?Java中有哪些循环? 

答案:循环用于编程中重复执行语句,Java中的循环有三类:1、for循环 for循环用于执行指定重复次数的语句,当程序员明确知道循环次数可以使用for循环。2、While循环 当语句满足条件时开始进行重复执行,直到语句不再满足条件退出循环。While循环中在执行语 句之前先检查是否满足条件。3、do while循环 Do while 和while循环基本类似,唯一不同的是do while是先执行语句再检查条件,也就是说do while循环至少会执行一次语句。

7.什么是无限循环?如何声明无限循环? 

答案:无限循环是指无条件执行,无限运行。无限循环可以由定义中断语句块来结束。

8.continue和break语句有什么区别? 

答案:break和continue都是循环中的重要关键词,break语句是结束整个循环过程, continue语句只结束本次循环,而不是终止整个循环的执行。

af39f1b76537d2c69c7e2e50d803c360.png

9.Java中的double和float变量有什么区别? 

答案:float是单精度浮点数,内存中占用4字节,double是双精度浮点数,内存中占用8字节。

10.Java中的Final关键字是什么意思?请举例说明 

答案:final是Java中的关键字,有“无法改变” 、 “终态”的含义,final类不能被继承,没有子 类,final类中的方法默认是final的,且不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方 法。下面的例子中,const_val被声明且赋值为常量100:Private Final int const_val=100 而当一个方法被声明为final之后,它不能被子类覆盖,而且会比其他方法都快。

11.举例说明什么是三元运算符?

答案:三元运算符,也称为条件运算符,根据布尔值来决定将哪个值分配给变量,它被表 示为...?...:... 在下面的示例中,如果rank为1,status=Done,否则status=Pending

5fc1a7b074f071cfd2cc1ef231fe15ea.png

12.如何在Java中生成随机数? 

答案:使用Math.random()可以生成0.1到1.0范围内的随机数字,然后通过数学方法实现生成 符合要求的随机数。

13.举例说明什么是default switch case? 

答案:在switch语句中,如果没有case条件匹配,那么它会就会执行default后面的语句。在下面的例子中,当score既不是1也不是2时,就会执行default之后的语句。

cc37e629700a6143f726b3f298499988.png

14.Java中所有派生类的基类是什么? 

答案:java.lang.object

15.Java中的main()方法可以返回任何数据吗? 

答案:java中的main()方法不能返回任何数据,它的返回类型始终是void。

16.什么是Java Packages?其意义是什么?

答案:为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。包的作用:1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的 包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区 别。因此,包可以避免名字冲突。 3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

17.我们可以声明一个抽象类,但是没有任何抽象方法吗? 

答案:是的,我们可以声明一个抽象类,且不包含任何抽象方法,但是一旦一个类中含有 一个抽象方法,那么该类必须声明为抽象。

18.Java中的抽象类和接口有什么区别? 

答案:抽象类和接口之间的主要区别在于,抽象类可以拥有任意范围的成员数据,同时也 可以拥有自己的非抽象方法,但是接口方式中,它仅能够有静态、不能修改的成员数据, 同时它所有的方法都必须是抽象的。抽象类是对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行 为,但是接口却是对类局部(行为)进行抽象。一个类可以实现多个接口,但它只能扩展一个抽象类。

19.接口对抽象类的性能影响是什么? 

答案:与抽象类相比,接口性能较慢。一个类只能扩展一个抽象类,却能实现许多接口, 随着接口在类中的实现,也会给开发人员带来额外负担。

20.Java中导入包时,其子包是否会被导入? 

答案:在Java中导入包时,其子包不会被导入,如果有需要,开发者必须单独导入。开发 者需要单独导入它们。

21.类中的main方法可以声明为private? 

答案:Java中main方法必须是public,如果是private,那么它虽然在编译时不会出错,但 是在运行时会出错。

22.我们能不能通过引用向函数传递参数? 

答案:不能,我们只能通过引用将值传递给函数。

23.对象在java中如何序列化? 

答案:序列化是指把Java对象转换为字节序列的过程,只能将支持 java.io.Serializable 接 口的对象写入流中,每个 serializable 对象的类都被编码。

24.Java中的try...catch是用于异常处理吗? 

答案:try后面往往会跟着catch或finally,try抛出的任何异常都会被捕获在catch中,在代 码终止前的要执行的任务放在finally中。

25.有没有什么办法在出现异常时跳过finally? 

答案:当在try中出现异常时,如果存在catch,会先被catch捕获,否则会执行到finally。异 常发生时肯定会执行finally,除非在try的末尾有强制中止代码:System.exit(0);

26.什么时候类的构造函数会被调用? 

答案:每次用new来创建对象时,都会调用构造函数。例如,下例中new创建了两个对象,构造函数也被调用了两次。

9196ea3925673322f716fd9dc2b86b6c.png

27.一个类可以有多个构造函数吗? 

答案:是的,一个类可以有多个具有不同参数的构造函数,创建对象的构造函数取决于创建对象 时传递的参数。

28.我们可以覆盖类的静态方法吗?

答案:我们不能覆盖静态方法,静态方法属于一个类而不是单个对象,并且在编译时解析 (而不是在运行时)。

29.在下面的例子中,输出是什么?

36678f84311cfa6c8a4b380590f0500a.png

答案: 输出为:Displaying from subclass Displaying from superclass

30.String是Java的数据类型吗? 

答 案 :String 不 是 Java 的 原 始 数 据 类 型 , Java 中 创 建 一 个 string 时 , 实 际 上 是 创 建 了 Java.Lang.String类的对象,这个对象可以使用String类的所有内置方法。

31.下面的示例中,共创建了多少个String对象?

8647832ac898efe3ae50343260cdfadf.png

答案:共创建了两个java.Lang.String类的对象。s1和s3是对同一个对象的引用。

32.为什么Java中的String被称为Immutable? 

答案:Java中,string对象是不可变的, 一旦赋值不可更改,如果更改,则会创建一个新对象。在下面的示例中,str是值为“Value One”的字符串对象:

a3bd2b8dad2863d1338b80c03a7dde60.png

当分配一个新值时,将创建一个新的String对象,并将引用移动到新对象。

7d7f2a037ce1ace25d8bdf2eeb36cb6f.png

33.数组和向量之间有什么区别? 

答案:数组是对相同原始类型的数据进行组合,本质上是静态的,而矢量本质上是动态的,并且 可以容纳不同数据类型的数据。

34.什么是多线程? 

答案:多线程是一个编程概念,可以在单个程序中以并发方式执行多个任务。同一个进程的多个 线程堆栈共享,有助于程序的性能改进。

35.为什么在ava中使用Runnable Interface? 

答案:Runnable接口在Java中用于实现多线程应用程序,Java.Lang.Runnable接口由一个支持 多线程的类来实现。

36.Java中实现多线程的两种方法是什么? 

答案:1、通过使用Java.Lang.Runnable Interface,通过Run()方法来启用多线程。2、编写一个扩展Java.Lang.Thread类的类。

37.当数据需要进行大量更改时, String和StringBuffer谁是更好的选择? 

答案:StringBuffers本质上是动态的,我们可以改变StringBuffer对象的值,而String是不可变 的,每次数据更改都会创建一个新的String对象,增加额外开销,所以在数据更改很多的情况 下,StringBuffer是一个更好的选择。

38.每个switch语句后使用break的目的是什么? 

答案:switch使用break可以在执行完这个语句后中断,如果不使用break,那么它将把所有情况 都执行一遍。

39.如何在Java中完成垃圾回收?

答案:Java中,对象不被引用时,垃圾回收就会发生,对象会被自动销毁,调用System.gc() 方法或Runtime.gc()方法。

40.可以在Main()方法前执行代码? 

答案:如果我们要在类加载时,对象创建之前执行语句,可以在类中使用静态代码块,这样即使 在main方法中创建对象之前,此静态代码块中的语句都将在加载类时执行一次。以上是前40道Java面试问题和答案,之后不定时更新剩下的面试题,希望同学们在学好技术的基础上,也能理解和掌握这些知识,祝大家早日拿到满意的offer!(申明:以上面试题均为网络整理)

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

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

相关文章

【不了解你就OUT了】云原生基本原则

戳蓝字“CSDN云计算”关注我们哦!作者 | 架构师技术联盟责编 | 阿秃云原生指的是一个敏捷的工程团队,遵循敏捷的研发原则,使用高度自动化的研发工具,开发基于云基础设施和服务的应用以满足快速变化的客户需求。这些应用采用弹性&…

如何降低90%Java垃圾回收时间?以阿里HBase的GC优化实践为例

摘要: GC一直是Java应用中讨论的一个热门话题,尤其在像HBase这样的大型在线存储系统中,大堆下(百GB)的GC停顿延迟产生的在线实时影响,成为内核和应用开发者的一大痛点。 过去的一年里,我们准备在Ali-HBase上突破这个被…

会不会导致内存泄漏_Java内存泄漏!为什么会泄漏?如何泄漏?怎么定位?

JVM应该可以算Java中最为核心的部分了,其中开箱即用的内存管理又是JVM中的核心组成部分。我们都知道JVM的内存管理具有垃圾回收功能(Java Garbage Collector),编码时只需要new而无需主动的释放(类似于C中的delete操作),所以Java中比较少出现内…

看了三张照片,这个AI只用20分钟破获六年“悬案”

摘要: 浙江实现首个AI破案:钱某某夫妇在衢州“国字号”水利风景区信安湖使用“电鱼”方式偷了六年鱼,但由于缺少证据始终无法定罪,然而最终没有逃过衢州城市大脑的AI神眼。 近日,浙江实现首个AI破案:钱某某…

c语言 异或_编程入门:C语言基础知识全网超全不用到处找了!(文末附清单)

你背或者不背,干货就在那里,不悲不喜你学或者不学,编程就在那里,不来不去听到这话的你是否略感扎心?01基础知识1. 计算机系统的主要技术指标与系统配置。2. 计算机系统、硬件、软件及其相互关系。3. 微机硬件系统的基本…

oracle中如何创建表的自增ID(通过序列)

1、什么是序列呢?序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特别的Oracle程序自动生成,因而序列避免了在运用层实现序列而引起的性能瓶颈。Oracle序列允许同时生成多个序列号,而…

反转!以视频搜视频,这批 AI 程序员要逆天了!

抖音AI火了!以图搜图,已经无法满足我们了。近期抖音新功能以视频搜视频上新,不知小姐姐叫什么,也能搜出她的影像!比如,你捕捉了一只可爱的妹子,想要看到更多她的影像,只要点一下“识…

阿里云消息队列Kafka商业化:支持消息无缝迁移到云上

摘要: 7月25日,阿里云宣布正式推出消息队列Kafka,全面融合开源生态。在兼容Apache生态的基础上,阿里云消息队列Kafka彻底解决了开源产品稳定性不足的痛点,可用性达99.9%,数据可靠性99.999999%,并…

excel三维地图数据源引用无效_Excel函数公式应用的基础,数据源的引用,动图解释...

一、数据源的相对引用公式的使用就是对数据源的引用,默认使用相对引用方式。采用这种方式引用的数据源,当将公式复制到其他位置时,公式中的单元格地址会随着变化。方法:1、选中C2单元格,在公式编辑栏中可以看到该单元格…

一份帮助你更好地理解深度学习的资源清单

摘要: 深度学习朝着可解释的方向发展,理解背后的基本原理显得更加重要。本文是一份帮助读者更好地理解深度学习基本过程的清单,便于初学者和部分起步者针对性地补充自己的知识体系。 人工智能和深度学习太火了,火得一塌糊涂&#…

python 按条件选择行和列数据_小白学数据结构-排序算法Python(冒泡、选择、快速、希尔等等)...

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内…

【戳进来有福利】|【技巧帖】3个Tips提升云性能

戳蓝字“CSDN云计算”关注我们哦!作者 | David Linthicum转自 | InfoWorld翻译 | 孔子东游责编 | 阿秃当企业遭遇云计算性能瓶颈时,一般人能想到的而且是最简单的办法,就是针对那些表现不佳的工作负载来增加可用的资源数量。具体来说&#x…

目标检测技术演化:从R-CNN到Faster R-CNN

摘要: 一文了解目标检测技术发展,不要错过哟。 目标检测旨在准确地找到给定图片中物体的位置,并将其正确分类。准确地来讲,目标检测需要确定目标是什么以及对其定位。 然而,想要解决这个问题并不容易。因为&#xff…

关于解决jdbc版本错误问题

关于解决jdbc版本错误问题 最近在做一个项目,在使用IDEA测试某个接口时出现了这个异常: 然后百度了一下发现很多都说是mysql-connector-java.jar包版本不一样,或者是jdbc.properties文件内容出错。 一定要仔细检查自己的数据库名跟账户密码…

深度学习之优化详解:batch normalization

摘要: 一项优化神经网络的技术,点进来了解一下? 认识上图这些人吗?这些人把自己叫做“The Myth Busters”,为什么?在他们的启发下,我们才会在Paperspace做类似的事情。我们要解决是Batch Normal…

无法通过sak判断卡片类型_如何判断你家门能否更换智能锁?选锁门道你要懂!...

选择智能锁有三个门道,你不可不知。门道一:小心“特斯拉线圈”攻击去年在智能锁行业,最能刷屏的是“特斯拉线圈”事件,多个智能锁品牌被轻易入侵攻陷,让消费者关注智能锁的安全问题。行业人士建议消费者:将…

@程序员 天冷了,你准备抱键盘还是抱女朋友取暖?

01恭喜你已经过完了2019年所有的法定节假日有没有一点心寒但随之而来的冷空气更是肉体上的折磨真想说这个天气说好的春夏秋冬的呢为什么我只感受到了夏天和冬天骗子!02手里拿着抽纸随时准备擦去感冒导致的鼻涕不行,我要穿厚衣服打开我的衣橱咦&#xff1…

改变世界的七大NLP技术,你了解多少?(下)

摘要: 这里有改变世界的7大NLP技术,点进来了解一下吧! 改变世界的七大NLP技术,你了解多少?(上) 在第1部分中,我介绍了自然语言处理(NLP)领域以及为其提供支持…

windows如何生成ssh密钥

windows如何生成ssh密钥 1.安装git,先去git官网下载git,https://git-scm.com/downloads,直接点击windows下载就可以了。 2.下载完可以到桌面点击鼠标右键,可以看到多出两个东西git gui跟git bash 3.也可以点击你下载的文件所…

谈谈社区、产品和新Dubbo | 从Dubbo 的社区star 数突破 2 万说起

摘要: Dubbo近况,了解一下。 近期,阿里巴巴的高性能分布式服务框架 Dubbo,在 Github 上获得了超过 2万的 star 数,据了解这是截止目前国内第一家也是唯一一家超过2万 star 数的 Java 开源产品。 -无社区,不…