Java基础知识API(详细)

API概述

1,应用程序编程接口
2,假如我们要编写一套程序去控制机器人送餐,程序就需要向机器人发送向前走、向后走、指定餐桌等各种命令。机器人厂商一定会提供一些用于控制机器人的Java类,这些类中定义好了操作机器人各种动作的方法。其实,这些Java类就是机器人厂商提供给应用程序编程的接口,这些类称为API。

使用API

1,打开API帮助文档
2,点击显示,在点击索引,这个时候会弹出输入框
在这里插入图片描述
3,在输入框里输入你想要查找的Java类,然后回车
在这里插入图片描述
4,先看包
java.lang下的类不需要导包,但是其他包需要导包

 java.util.Scanner  是需要导包
public Scanner(InputStream source){}  表示需要选择的构造方法
String nextLine()  获取键盘录入的字符串数据

String类概述及构造方法

1,String类概述
字符串是由多个字符组成的一串数据,同时字符串可以看成是字符数组
2,常用的构造方法
(1)public String(String original):把字符串封装为字符串对象
(2)public String(char[] value):把字符数组封装为字符串对象
(3)public String(char[] value,int offset,int count):把字符数组的一部分封装为字符串对象
3,最最简单的方式,直接写上一个字符串也是对象
举例:String s = “Hello China”;

public static void main(String[] args) {
    //创建对象
    // String(String original)
    String str1 = new String("hello");
    System.out.println(str1);
    //String(char[] value)
    char[] chs = {'c','h','i','n','a'};
    String str2 = new String(chs);
    System.out.println(str2);
    // String(char[] value, int offset, int count)
    char[] chs2 = {'c','h','i','n','a'};
    String str3 = new String(chs2,1,2);
    System.out.println(str3);
    String str4 = "hello china";
    System.out.println(str4);
}

String类的特点

1,构造方法创建字符串对象
String s = new String(“hello”);
2,直接赋值创建字符串对象
String s = “hello”;
3,构造方法创建对象和直接赋值创建对象的区别是什么?
通过构造方法创建的字符串对象是在堆内存当中
直接写上双引号赋值的字符串是存储在方法区的常量池当中

public static void main(String[] args) {
        String str1 = new String("hello china");
        String str2 = "hello china";
        System.out.println("str1:"+str1);
        System.out.println("str2:"+str2);
        System.out.println(str1 == str2);//false
        String str3 = "hello china";
        System.out.println("str3:"+str3);
        System.out.println(str1 == str3);//false
        System.out.println(str2 == str3);//true

    }

在这里插入图片描述

String类的判断功能

1,判断字符串的内容与参数obj是否相同
boolean equals(Object obj)
2,判断字符串的内容是否相同(忽略大小写)
boolean equalsIgnoreCase(String str)
3,判断字符串对象是否是参数str开头
boolean startsWith(String str)
4,判断字符串对象是否是参数str结尾
boolean endsWith(String str)
5,小练习:
用户登录功能
模拟用户登录的操作,期望用户键盘录入用户名和密码和验证码,然后跟我们所定义的信息进行比较,如果都相同,则提示登录成功,如果不相同登录失败。

package com.baidu.demo;
import java.util.Scanner;
public class TestString {
    public static void main(String[] args) {
        //定义登录信息
        String[] strings = {"root","123","ASxd"};
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请你输入用户名:");
        String username = sc.nextLine();
        System.out.println("请你输入密码:");
        String password = sc.nextLine();
        System.out.println("请你输入验证码:");
        String vCode = sc.nextLine();
        if(strings[0].equals(username) && strings[1].equals(password) && strings[2].equalsIgnoreCase(vCode)){
            System.out.println("登录成功,欢迎你!!!");
        }else{
            System.out.println("登录失败!!!");
        }
    }
}

6,结果展示
在这里插入图片描述

String类的获取功能

1,获取字符串对象中字符的个数也就是字符串的长度(注意属性和方法的区别)int length()
2,获取字符串中指定索引位置的字符
char charAt(int index)
3,获取字符串中第一次出现的索引
int indexOf(String str)
4,获取str在字符串对象当中最后一次出现的索引位置
int lastIndexOf(String str)
5,从start索引位置开始截取,到末尾结束
String substring(int start)
6,从start索引位置开始截取到end结束(含头不含尾)
String substring(int start,int end)
7,小练习
统计键盘录入的字符串对象中不同种类字符的个数
分析:通过键盘录入对象录入字符串,定义三个统计变量,应该拿到字符串 对象当中的每一位字符,判断拿到的字符属于哪个种类,根据判断结果进行统计。

package com.baidu.demo;
import java.util.Scanner;
public class TestString {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请你输入字符串对象:");
        String str = sc.nextLine();
        //定义统计变量完成每个字符种类的统计
        int bigConut = 0;
        int smallCount = 0;
        int number = 0;
        int other = 0;
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if(ch >= 'A' && ch <= 'Z'){
                bigConut++;
            }else if(ch >= 'a' && ch <= 'z'){
                smallCount++;
            }else  if(ch >= '0' && ch <= '9'){
                number++;
            }else{
                other++;
            }
        }
        System.out.println("该字符串当中大写的字母有:"+bigConut+"个");
        System.out.println("该字符串当中小写的字母有:"+smallCount+"个");
        System.out.println("该字符串当中数字有:"+number+"个");
        System.out.println("该字符串当中其他字符有:"+other+"个");
    }
}

8,结果展示
在这里插入图片描述

String类的转换功能

1,把字符串对象转换为字符数组
char[] toCharArray()
2,把字符串对象中所有的字符转换为小写
String toLowerCase()
3,把字符串对象中所有的字符转换为大写
String toUpperCase()
3,小练习
键盘录入字符串,把录入字符串的首字母转换为大写,其他的小写。

package com.baidu.demo;
import java.util.Scanner;
public class TestString {
    public static void main(String[] args) {
        //创建录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请你输入字符串对象:");
        String str = sc.nextLine();
        //取出第一位字符转为大写
        String newStr = str.substring(0, 1);
        String upperCase = newStr.toUpperCase();
        System.out.println(upperCase);
        String newStr2 = str.substring(1);
        String lowerCase = newStr2.toLowerCase();
        System.out.println(lowerCase);
        //将转换后的进行拼接
        System.out.println(upperCase+lowerCase);
    }
}

4,结果展示
在这里插入图片描述

String类的其他功能

1,去除字符串两端空格
String trim()
2,按照指定符号分割字符串
String[] split(String str)
3,替换相关的方法
(1)将字符串对象中所有的字符oldChar替换为字符newChar,并返回新的字符串
String replace(char oldChar, char newChar)
(2)将字符串对象中所有的字符串regex替换为字符串replacement,并返回新的字符串
String replaceAll(String regex, String replacement)
(3)将字符串对象中第一个字符串regex替换为字符串replacement,并返回新的字符串
String replaceFirst(String regex, String replacement)
4,包含相关的方法
boolean contains(CharSequence s) 判断字符串对象当中是否包含参数s
5,判是否为空相关的方法
boolean isEmpty()判断字符串对象当中内容是否为空,字符串中有空格也是不为空

StringBuilder类概述以及构造方法

1,StringBuilder类概述
我们在对字符串进行频繁拼接操作的时候,每次拼接,其实底层都会构建一个新的String对象,既消耗时间又浪费一定的内存空间。所以学习StringBuilder来解决使用String的一些问题。

String s="hello";
s+="china";
s="hellochina";

在这里插入图片描述
2,StringBuilder和String的区别?
String的内容是固定的
StringBuilder的内容是可变的
3,构造方法

public StringBuilder(){}
public StringBuilder(String  str){}
public static void main(String[] args) {
    //创建StringBuilder的对象
    StringBuilder stb = new StringBuilder();
    System.out.println(tsb);
    StringBuilder stb2 = new StringBuilder("hellochina");
    System.out.println(stb2);
}

StringBuilder类的常用方法

1,添加功能
public StringBuilder append(Object obj)
2,反转功能
public StringBuilder reverse()
3,转换功能
public String toString()
4,获取长度
public int length()
5,获取当前容量
public int capacity()

package com.baidu.demo;
public class DemoStringBuilder {
    public static void main(String[] args) {
        StringBuilder stb=new StringBuilder();
        stb.append("您好");
        stb.append("请问一下");
        stb.append("XXX怎么走");
        StringBuilder sb2=stb.append(111);
        System.out.println(stb);
        System.out.println(sb2);
        System.out.println("------------------------------");
        stb.append("您一共").append("消费").append("三百元").append(666);
        System.out.println(stb);
        System.out.println("------------------------------");
        stb.reverse();
        System.out.println(stb);
        System.out.println("------------------------------");
        System.out.println(stb.length());
        System.out.println("------------------------------");
        System.out.println(stb.toString());
        System.out.println("------------------------------");
        System.out.println(stb.capacity());
    }
}

6,结果展示
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45893999/article/details/106752768
今日推荐