常用API(一)

API(全称 Application Programming Interface:应用程序编程接口)

        就是别人写好的一些程序,给我们直接拿去调用即可解决问题的。

什么是包?

  • 包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。

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

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

String

String概述

  • String代表字符串,可以用来创建对象封装字符串数据,并对其进行处理

字符串的处理

1、创建对象        2、封装字符串数据        3、调String的方法

String创建对象封装字符串数据的方式

  • 方式一:Java程序中的使用字符串文字(例如 “ abc ”)都为此类的对象。
  • 方式二:调用String类的构造器初始化字符串对象。
构造器 说明
public String() 创建一个空白符字符串对象,不含有任何内容
public String( String original ) 根据传入的字符串内容,来创建字符串对象
public String( char[ ] chars ) 根据字符数组的内容,来创建字符串对象
public String( byte[ ] bytes ) 根据字符数组的内容,来创建字符串内容

String的常用方法

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,反之返回false
public String[ ] split(String regex) 把字符串按照某个字符串内容分割,并返回字符串数组回来

String使用时的注意事项

第一点

  • String对象的内容不可改变,被称为不可变字符串变对象。

String注意事项1:String的对象是不可变字符串对象
  • 注意:只要是以 “...” 方法写出的字符串对象,会在堆内存中的字符串常量池中存储。

结论:每次试图改变字符串对象实际上是产生了新的字符串变量,变量每次都是指向了新的字符串对象,之前字符串对象的内容确实没有改变,因此说String的对象是不可变的。

第二点

  • 只有是以 “...” 方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份;
  • 但通过new创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。

常用API(一)_第1张图片

常用API(一)_第2张图片

String案例

案例:完成用户登录

需求:
  • 系统正确的登录名和密码是:zhansan/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统”,即可停止程序。(注意:要求最多给用户三次登录机会)
//目标:完成用户的登录案例

import java.util.Random;
import java.util.Scanner;

public class StringTest {
    public static void main(String[] args) {
        for (int i = 0; i < 3; i++) {
            //1.开发一个登录界面
            Scanner sc = new Scanner(System.in);
            System.out.println("请您输入登录名称:");
            String loginName = sc.next();
            System.out.println("请您输入密码:");
            String passWord = sc.next();


            //5.开始调用登录方法,判断是否登录成功
            boolean rs = login(loginName,passWord);
            if (rs){
                String codes = createCode(5);
                System.out.println("验证码为:"+ codes);
                System.out.println("请输入验证码:");
                String cod = sc.next();
                if (cod.equals(codes)){
                    System.out.println("登陆成功,欢迎进入系统");
                }else {
                    System.out.println("验证码错误");
                    continue;
                }
                break;
            }else {
                System.out.println("您输入的登录名或密码错误,请您重新确认");
            }
        }
    }


    //2.开发一个登陆方法,接受用户的登录名和密码,返回认证的结果
    public static boolean login(String loginName,String passWord){
        //3.准备一份正确的登录名和密码
        String okLoginName = "zhangsan";
        String okPassWord = "123456";

        //4.判断用户是否登录成功
        if (loginName.equals(okLoginName) && passWord.equals(okPassWord)){
            return true;
        }
        return false;
    }

    public static String createCode(int n){
        Random r = new Random();
        String code = "";
        String data = "abcdefghijklnmopqretuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789";
        for (int i = 0; i < n; i++) {
            int index = r.nextInt(data.length());
            code += data.charAt(index);
        }
        return code;
    }
}

你可能感兴趣的:(java,开发语言)