2025年java面试题八股文面试(java面试题八股文面试黑马程序员)

java面试题八股文面试(java面试题八股文面试黑马程序员)文章目录 Scanner 类 匿名对象 Random 类 ArrayList 集合 String 类 静态 static 关键字 数据工具类 Arrays 数学工具类 Math 引用类型的一般使用步骤 导包 如果需要使用的目标类 与当前类在同一个包下 则可以省略导包语句不写 只有 java lang 包下的内容不需要导包 其他的包都需要 import 语句 创建 使用 功能 键盘输入

大家好,我是讯享网,很高兴认识大家。



文章目录

  • Scanner类
  • 匿名对象
  • Random类
  • ArrayList集合
  • String类
  • 静态static关键字
  • 数据工具类Arrays
  • 数学工具类Math
  1. 导包
    如果需要使用的目标类,与当前类在同一个包下,则可以省略导包语句不写。
    只有java.lang包下的内容不需要导包,其他的包都需要import语句。




  2. 创建


  3. 使用


功能:键盘输入,将数据从键盘输入录入到程序当中

练习:键盘输入三个int数字,求出其中最大值

黑马新版Java面试专题资料_System
讯享网

创建对象的标准格式:

黑马新版Java面试专题资料_字符串_02

使用匿名对象作为方法的参数

使用匿名对象作为方法的返回值

Random类作用:生成随机数字

使用:

  1. 导包
  2. 创建
  3. 使用
    获取一个随机的int数字(范围是int所有范围,有正负两种): 获取一个随机的int数字(参数代表了范围,左闭右开区间):

练习1:根据int变量n的值,来获取随机数字,范围是[1,n]

练习2:用代码模拟猜数字的小游戏

  • 任何数据类型都可以作为数组当中元素的类型。但数组的长度不可以发生改变
    ArrayList集合的长度是可以随意变化的

  • ArrayList< E >,其中< E >代表泛型。即装在集合里的所有元素,都是统一的某一类型,泛型只能是引用类型,不能是基本类型(集合里保存的都是地址值,基本类型数据没有地址值)

若希望想集合存储基本类型数据,必须使用基本类型对应的“包装类”

基本类型包装类(引用类型,包装类都位于java.lang)byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean

  • 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
    如果内容为空,得到的是空的中括号[ ]

黑马新版Java面试专题资料_System_03

ArrayList常用方法

:从集合当中获取元素,参数是索引编号,返回值是对应位置的元素

:从集合中删除元素,参数是索引编号,返回值是被删除掉的元素

:获取集合的尺寸长度,返回值是集合中包含的元素个数

黑马新版Java面试专题资料_System_04

练习1:

黑马新版Java面试专题资料_字符串_05

黑马新版Java面试专题资料_System_06

练习3:集合无论做参数还是返回值,传递和接受的都是地址值

Java程序中所有字符串字面值(如”abc”)都作为此类的实例实现。
即,程序当中所有的双引号字符串,都是String类的对象,即使没有new

字符串特点:

  1. 字符串是常量,它们的值在创建后不能更改
  2. 因为字符串不可改变,所以字符串是可以共享使用的
  3. 字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组

创建字符串的3+1种常见方式:
三种构造方法:
:创建一个空白字符串,不包含任何内容
:根据字符数组的内容来创建对应的字符串
:根据字节数组的内容来创建对应的字符串
一种直接创建:
:接写上双引号,就是字符串对象
















字符串常量池
字符串常量池:程序当中直接写上的双引号字符串,在字符串常量池中.new的不在常量池中

黑马新版Java面试专题资料_System_07

字符串的常用方法

  1. 字符串的内容比较:
    :只有参数是一个字符串且内容相同(严格区分大小写)时返回 true,否则返回false
    :忽略大小写,进行内容比较
    注意:equals() 方法具有对称性,a.equals(b) 和 b.equals(a) 效果相同。但如果比较双方一个常量一个变量,推荐将常量字符串写在前面
    推荐: 不推荐:










  1. 字符串的内容获取
    :获取字符串的长度
    : 将当前字符串与参数字符串拼接成新的字符串并返回
    :获取指定索引位置的单个字符(索引从0开始)
    :查找参数字符串在本字符串中首次出现的索引位置,没有则返回-1










  2. 字符串的截取
    :截取从参数位置一直到字符串末尾,返回新的字符串
    :截取从 begin 开始,一直到 end 结束中间的字符串。[begin, end),包含 begin,不包含 end




  3. 字符串的转换
    :将当前字符串拆分为字符数组并返回
    :获取当前字符串底层的字节数组
    :将所有出现的老字符串替换为新字符串,并返回替换后的新字符串结果 。(CharSequence是说可以接受字符串类型。CharSequence是一个接口,实现了这个接口的类有:CharBuffer、String、StringBuffer、StringBuilder这个四个类。)







  1. 字符串的分隔
    :按照参数的规则,将字符串分割为若干部分
    注意:split 方法的参数其实是一个正则表达式




练习一:

练习二:

黑马新版Java面试专题资料_字符串_08

static 修饰成员变量

static 修饰成员方法
一旦使用 static 修饰成员方法,则该方法为静态方法,属于类本身,而不属于对象
对于静态方法,可以直接通过类名调用,也可以通过对象名调用(不推荐)
没有 static 修饰的非静态方法,必须首先创建对象,才能通过对象使用它







无论是静态成员变量还是静态成员方法,都推荐使用类名调用
对于本类当中的静态方法,可以省略类名称

注意

  • 静态不能直接访问非静态(原因:在内存当中,先有的静态内容,后有的非静态内容)
  • 静态方法当中不能用this关键字(原因:this代表当前对象)

黑马新版Java面试专题资料_java_09

静态代码块

java.util.Arrays 是一个与数组有关的工具类,里面提供了大量的静态方法,用来实现数组的常见操作

  1. :将参数数组变为字符串(按照默认格式:[元素1,元素2,元素3…])
  2. :按照默认升序(从小到大)对数组元素进行排序
  • 如果是数值,sort默认按照升序从小到大
  • 如果是字符串,sort默认按照字母升序
  • 如果是自定义类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持

小讯
上一篇 2025-05-16 09:46
下一篇 2025-06-07 20:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/188333.html