Lazy loaded image
学习历程
Javaday02-面向对象(二)
Words 1935Read Time 5 min
2025-2-21
2025-2-21
type
status
date
slug
summary
tags
category
icon
password
示例:

1.包装类

1.1 包装类介绍

notion image

1.2 表示数字的基本类型包装类,继承自Number类

  • byte -> Byte
  • boolean -> Boolean
  • short -> Short
  • char -> Character
  • int -> Integer
  • long -> Long
  • float -> Float
  • double -> Double

1.3 自动装箱和自动拆箱

-128~127之间的值自动装箱为Integer类型的对象,那么始终都会得到同一个对象

1.4 特殊包装类

1.4.1 BigInteger

BigInteger类用于表示任意精度的整数。它提供了操作大整数的方法,包括加、减、乘、除等。BigInteger类是不可变的,这意味着一旦创建了一个BigInteger对象,就不能更改其值。

1.4.2 BigDecimal

BigDecimal类用于表示任意精度的浮点数。它提供了精确的小数运算,包括加、减、乘、除等。BigDecimal类是不可变的,这意味着一旦创建了一个BigDecimal对象,就不能更改其值。使用BigDecimal可以避免浮点数运算中的精度问题。

1.4.3 Character

Character类包装了char基本数据类型。它提供了一些有用的方法,如isLetter()isDigit()toUpperCase()toLowerCase()等,用于字符的检查和转换。

1.4.4 Boolean

Boolean类包装了boolean基本数据类型。它提供了三个常量:TRUEFALSENULLBoolean类还提供了一些方法,如booleanValue(),用于将Boolean对象转换回基本的boolean类型。
 

2.数组

2.1 一维数组

数组建立

  • 动态初始化(指定数组大小)
    • 例如:
  • 静态初始化(直接指定值和大小)
    • 例如:
  • 下标从0开始 数组的下标从0开始,例如 array[0] 表示数组的第一个元素。
  • 数组长度 数组的长度在创建时就确定了,且是 final 类型,不允许修改。数组的长度可以通过 array.length 获取。

数组的遍历

  • for循环
    • 增强for循环(for-each循环)

      2.2 多维数组

      二维数组

      1. 动态初始化
        1. 定义一个二维数组并指定行数和列数:
          示例:
      1. 静态初始化
        1. 在定义时直接初始化二维数组:
          示例:

      不规则二维数组

      • 每一行的列数可以不同,形成不规则的二维数组:

        2.3 可变长参数

        定义

        • 可变长参数允许方法接受任意数量的相同类型的参数。语法:
          • 示例:

        使用

        • 可变长参数可以传递任意数量的参数,包括0个参数:

          注意事项

          1. 内部视为数组:可变长参数在方法内被视为数组。
          1. 位置:可变长参数必须是方法的最后一个参数。
          1. 与其他参数混用:如果方法有其他参数,可变长参数必须放在最后。

          3.字符串

          3.1 String类

          字符串创建

          • 直接使用双引号创建字符串
            • 在Java中,直接使用双引号创建的字符串会被自动放入字符串常量池中。如果两个字符串内容相同,它们会引用同一个对象,从而提高内存效率。
              示例:
          • 使用new关键字创建字符串
            • 如果使用构造方法主动创建字符串,即使内容相同,它们也会是不同的对象。
              示例:

          字符串内容比较

          • ==比较
            • ==用于比较对象的引用地址,因此用于字符串比较时,它只会判断两个字符串是否是同一个对象,而不是比较内容是否相同。
          • equals()方法
            • String类重载了equals()方法来比较字符串的内容是否相同。应该使用equals()来判断字符串内容的相等性。
              示例

          字符串常用操作

          • 字符串裁剪
            • 使用substring()方法从字符串中提取子字符串。
              示例:
          • 字符串分割
            • 使用split()方法将字符串按指定的分隔符分割成数组。
              示例:
          • 字符串与字符数组转换
            • 从字符串转换为字符数组
              • 从字符数组转换为字符串

              3.2 StringBuilder类

              StringBuilder简介

              StringBuilder是一个可变的字符序列类,适用于需要频繁修改字符串的场景。与String不同,StringBuilder对象的内容是可变的,因此它不需要像String那样频繁创建新对象,能够提高性能。

              创建StringBuilder对象

              常用方法

              • append():用于向字符串末尾添加内容。
                • 示例:
              • insert():在指定位置插入内容。
                • 示例:
              • delete():删除指定范围内的字符。
                • 示例:
              • reverse():反转字符串。
                • 示例:
              • toString():将StringBuilder转换为String
                • 示例:

              性能优势

              StringBuilder的主要优势在于它的可变性,在字符串内容频繁变化时,StringBuilderString更高效,因为它避免了创建多个不可变对象。对于需要频繁拼接字符串的操作,推荐使用StringBuilder
              上一篇
              焦虑忙碌的一天
              下一篇
              厌倦的比赛,厌倦的ddl