7. 字符串和集合(重点)

本文详细介绍了Java中的API概念,包的管理机制,如何在程序中调用其他包下的类,以及String类的使用、不可变特性及ArrayList的常用方法和案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见API

  • API (全称 Application Programming Interface:应用程序编程接口)
  • 就是别人写好的一些程序,给咱们程序员直接拿去调用即可解决问题的。

1 包

1.1 什么是包?

  • 包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。
  • 建包的语法格式:
package com.itheima.javabean;

public class Student {
   
    // ...
}

1.2 在自己程序中调用其他包下的程序的注意事项

  • 要调用自己所在包下的其他类,可以直接调用。(同一个包下的类,可以直接使用)
  • 要调用其他包下的类,则必须在当前类中导包, 才可以访问!导包格式:import 包名.类名;(idea自动导包)
  • 要调用Java提供的类,也需要先导包才可以使用;但是Java.lang包下的类是不需要我们导包的,可以直接使用。
  • 要调用多个不同包下的类,而这些类名正好一样,此时默认只能导入一个类,另一个类必须带包名访问。

1.3 总结

  1. 声明一个包的关键字是什么?
package com.itheima.javabean;
public class Student {
   
    // ...
}

  1. 在自己类中调用其他包下的程序的注意事项
  • 要调用自己所在包下的其他类,可以____直接调用_____
  • 要调用其他包下的类,则必须在当前类中____导入其他包____, 才可以访问
  • _____java.lang_____包下的类是不需要我们导包的,可以直接使用。
  • 要调用多个不同包下的类,而这些类名正好一样,此时默认只能导入一个类,另一个类必须____全限定名(带包名)_____访问。

2 String

2.1 概述

2.1.1 String是啥?为什么学习String?
  • String代表字符串对象,可以用来封装字符串数据,并提供了很多操作字符串的方法。
2.1.2 String创建对象封装字符串数据的方式
  • 方式一: Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
String name = "小黑";
String schoolName = "黑马程序员";
  • 方式二: 调用String类的构造器初始化字符串对象。
构造器 说明
public String() 创建一个空白字符串对象,不含有任何内容
public String(String original) 根据传入的字符串内容,来创建字符串对象
public String(char[] chars) 根据字符数组的内容,来创建字符串对象
2.1.3 总结
  1. Java中使用哪个类代表字符串?位于哪个包下
  • java.lang.String
  1. String类创建对象封装字符串数据的方式有几种?
  • 方式一: 直接使用双引号创建 String s = "ABC";
  • 方式二: 使用构造函数创建 String s = new String("ABC")

2.2 常用方法

String提供的操作字符串数据的常用方法
方法名 说明
public int length() 获取字符串的长度返回(就是字符个数)
public char charAt(int index) 获取某个索引位置处的字符返回
public char[] toCharArray(): 将当前字符串转换成字符数组返回
public boolean equals(Object anObject) 判断当前字符串与另一个字符串的内容一样,一样返回true
public boolean equalsIgnoreCase(String anotherString) 判断当前字符串与另一个字符串的内容是否一样(忽略大小写)
public String substring(int beginIndex, int endIndex) 根据开始和结束索引进行截取,得到新的字符串(包前不包后)
public String substring(int beginIndex) 从传入的索引处截取,截取到末尾,得到新的字符串返回
public String replace(CharSequence target, CharSequence replacement) 使用新值,将字符串中的旧值替换,得到新的字符串
public boolean contains(CharSequence s) 判断字符串中是否包含了某个字符串
public boolean startsWith(String prefix) 判断字符串是否以某个字符串内容开头,开头返回true,反之
public String[] split(String regex) 把字符串按照某个字符串内容分割,并返回字符串数组回来
  • 对于API, 不要追求一下子全记住, 记得大概, 后面用的多了,自然就记住了

2.3 注意事项

2.3.1 String使用时的注意事项1
  • 只要是以“…”方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份
  • 通过new方式创建字符串对象,每new一次还会产生一个新的对象放在堆内存中
2.3.2 通过" "定义字符串
2.3.3 通过new构造器得到字符串对象
2.3.4 阅读程序并回答问题
2.3.5 String使用时的注意事项2
  • String对象的内容不可改变,被称为不可变字符串对象。
2.3.6 String注意事项: String的对象是不可变字符串对象
  • 注意:只要是以“…”方式写出的字符串对象,会在堆内存中的字符串常量池中存储。
  • 结论:每次试图改变字符串对象实际上是新产生了新的字符串对象了,变量每次都是指向了新的字符串对象,之前字符串对象的内容确实是没有改变的,因此说String的对象是不可变的。
2.3.7 总结
  1. String有哪几点注意事项
  • 只要是以“…”方式写出的字符串对象,
    会存储到字符串常量池,且相同内容的字符串只存储一份
  • 通过new方式创建字符串对象,
    每new一次都会产生一个新的对象放在堆内存中
  • String对象的内容不可改变,被称为不可变字符串对象。

2.4 应用案例

2.4.1 案例1: 完成用户登录
  1. 需求
  • 系统正确的登录名和密码是:itheima/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序**(注意:要求最多给用户三次登录机会)**
  1. 步骤:
  • 开发登录界面,提示用户通过键盘输入登录名和密码。
  • 设计一个登录方法,对用户的登录名和密码进行正确性认证。
  • 根据登录方法返回的认证结果,判断用户是否登录成功。
  • 使用循环控制登录界面最多显示3次。
  • 完整代码:
package com.itheima.b_string;

/**
 * @author: LXHYouth
 * @date: 2024/3/16 21:07
 * @Version:    1.0
 * @Description 控制密码输入次数
 */

import java.util.Scanner;

/*
完成用户登录
    系统正确的登录名和密码是:itheima/123456,
    请在控制台开发一个登录界面,接收用户输入的登录名和密码,
    判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序(注意:要求最多给用户三次登录机会)
 */
public class Demo7 {
   
    public static void main(String[] args) {
   
        // 创建一个扫描器对象
        Scanner scanner= new Scanner(System.in);
        // 定义两个变量, 分别存储键盘输入的用户名和密码
        String username,password;
        System.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值