Java学习日记之08——JAVA常用API

常用API基础

  • 1.API概述
  • 2.String类
    • String类概述
    • String类的构造方法
    • String类的判断功能
      • 举例:使用String判断功能模拟用户登录功能
    • String的获取功能
      • 举例:遍历字符串
      • 举例:统计一个字符串中大写字符,小写字符,数字字符的出现次数
    • String转换功能
      • 举例:键盘录入一个字符串,把字符串首字母大写,其余为小写。
    • String类练习:反转字符串
  • 3.StringBuilder类
    • StringBuilder概述
    • StringBuilder的构造方法
    • StringBuilder的功能
    • StringBuilder练习
      • 1.把数组拼成一个字符串
      • 2.字符串反转
      • 3.判断是否为对称字符串

1.API概述

API(application programming interface),是已经封装好的提供各种功能的java类,我们可以通过导包使用其类的成员方法,省去了编写java类的繁琐,如random类,Scanner类等均属于API

JDK提供的API可使用Jdk API帮助文档查到,查找API时需要看一下几个部分:
1.看包:如果该API属于java.lang包,则不需要导包,其他情况下需要导包。
2.看构造方法:new 构造方法(形式参数),不同的构造方法构造的对象内容不同;
3.看成员方法:看成员方法的返回值与形式参数类型。

举例:Scanner类
1.看包:属于java.util包
2.看构造方法:
Scanner sc = new Scanner(System.in);
Scanner sc = new Scanner(new File(“myNumbers”));
3.看成员方法:next();nextline();nextboolean();

2.String类

String类概述

String是字符串类,是由多个字符组成的数据,String类是一种特殊的引用数据类型,直接输出字符串的话就是输出该对象的数据,不会输出其地址。

String类的构造方法

1.常用的构造方法:
String(String original) //把字符串数据封装
String(char[] value) //把字符数组数据封装
String(char[] value, int index, int count) //把字符数组中从index位置开始的count个数据封装成数组
同时又更简单的构造方法 String s = “abcd”;即可

String类的判断功能

String判断功能的成员方法:

返回值类型 成员方法 描述
boolean equals(Object obj) 比较字符串的内容是否相同
boolean equalsignoreCase(String str) 判断是否相同,忽略大小写
boolean startsWith(String str) 是否以XXX开头
boolean endwith(String str) 是否以XXC即为结尾

注:返回值为boolean类型,需要用boolean类型接收

举例:使用String判断功能模拟用户登录功能

题目:键盘录入用户名和密码,给三次机会,成功提示登录成功,失败提示还有x次机会。
分析:
A.定义两个字符串对象,存储已有用户名和密码
B.键盘录入用户名和密码
C.比较用户名和密码是否相同

public class StringTest {
	public static void main(String[] args) {
		//定义现有用户名和密码
		String username = "admin";
		String password = "admin";
		//键盘录入用户名和密码
		Scanner sc = new Scanner(system.in);
		System.out.println("请输入用户名:");
		String name = sc.nextline();
		System.out.println("请输入密码:");
		String code  = sc.nextline();
		//判断是否相同
		for(int i = 0;i<3;i++){
		if(name.equals(username)&&code.equals(password)){
			System.out.println("登陆成功");
			break;
		}else{
			System.out.println("登陆失败");
		}
		System.out.println("还有"+(2-n)+"次机会");
		if(n==2) {
			System.out.println("密码输入次数过多");
		}
	}
}

String的获取功能

返回值类型 成员方法 描述
int length() 获取字符串的长度
char charat(int index) 获取指定索引处的字符
int indexOf(String str) 获取str在字符串对象中第一次出现的索引
String substring(int start) 从start处开始截取字符
String substring(int start,int end) 从start开始截取,到end索引处结束

举例:遍历字符串

分析:
A:使用循环语句实现遍历功能,
B:使用charat()方法获取字符串上的每个字符

public class StringTest {
	public static void main(String[] args) {
		String s = "abcde";
		for(int i = 0;i

举例:统计一个字符串中大写字符,小写字符,数字字符的出现次数

分析:
A:键盘录入一个字符串
B:定义统计变量,类型为int,初始值为0
C:遍历字符串
D:判断字符的类型

设ch为字符:
ch>=“A”&&ch<="Z"为大写字符
ch>=“a”&&ch<="z"为小写字符
ch>=“0”&&ch<="9"为数字字符

public static void main(String[] args) {
	//键盘录入字符串
	Scanner sc = new Scanner(system.in);
	String s = nextline();
	//统计变量初始化
	int bigCount = 0;
	int smallCount = 0;
	int numberCount = 0;
	//遍历
	for(int i = 0;i<=s.length-1;i++){
		char ch = s.charAt(i);
		if(ch>='A'&&ch<='Z') {
				bigCount++;	
			}else if(ch>='a'&&ch<='z') {
				smallCount++;
			}else if(ch>='0' && ch<='9') {
				charCount++;
			}else {
				System.out.println("该字符"+ch+"非法");
			}
	}
		System.out.println("有"+bigCount+"个大写字符");
		System.out.println("有"+smallCount+"个小写字符");
		System.out.println("有"+charCount+"个数字字符");
}

String转换功能

返回值类型 成员方法 描述
char[] tocharArray() 把字符串转换为字符数组
String toLowerCase() 把字符串转换为小写字符串
String toUpperCase() 把字符串转换为大写字符串

举例:键盘录入一个字符串,把字符串首字母大写,其余为小写。

分析:
A.键盘录入字符串
B:获取首字母,把其变为大写
C:获取除首字母以外的字符,改成小写;
D:拼接二者

public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串");
		String s = sc.nextLine();
		//截取首字母
		String s1 = s.substring(0, 1);
		//截取首字母以外的字符串
		String s2 = s.substring(1);
		//首字母转大写
		s1=s1.toUpperCase();
		s2=s2.toLowerCase();
		System.out.println(s1+s2);
		
	}

String类练习:反转字符串

字符串反转

  • 分析:
  • A:键盘录入一个字符串
  • B:写方法实现字符串反转
  •  a.把字符串倒着遍历,得到每个字符拼接成字符串
    
  •  b.把字符串转换为字符串数组,然后对字符数组进行反转,最后把字符数组转换为字符串
    
  • C:调用方法
  • D:输出结果
public class StringTest2 {
	public static void main(String[] args) {
		//录入字符串
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		String s = sc.nextLine();
		// String result = reverse(s);
		String result = reverse2(s);
		System.out.println(result);
		
	}
	//写方法实现字符串反转
	//方法a:把字符串倒着遍历,得到每个字符拼接成字符串
	public static String reverse(String s) {
		String ss = "";
		for(int i = s.length()-1;i>=0;i--) {
			ss += s.charAt(i);
		}
		return ss;
	} 
	//方法b:把字符串转换为字符串数组,然后对字符数组进行反转,最后把字符数组转换为字符串
	public static String reverse2(String s) {
		char[] chs = s.toCharArray();
		for(int start = 0, end = chs.length-1;start<=end;start++,end--) {
			char temp = chs[start];
			chs[start] = chs[end];
			chs[end] = temp;
		}
		String ss = new String(chs);
		return ss;
	}
}

3.StringBuilder类

StringBuilder概述

我们在为String类型进行拼接操作时,其内存图如下所示。
Java学习日记之08——JAVA常用API_第1张图片
每次进行拼接是,都要构造新的String对象,既耗时,又浪费,而StringBuilder可以解决这样的问题。

StringBuilder的构造方法

StringBuilder() :构造不带任何字符的字符串生成器,初始容量为16个字符
StringBuilder(str) :构造一个与str相同的生成器;
StringBuilder(int capacity) :构造一个容量为capacity的生成器

StringBuilder的功能

返回值类型 成员方法 描述
StringBuilder append(任意类型) 添加功能
StringBuilder reverse() 反转功能
String toString() 转化为字符串

举例:sb.append(“hello”).append(“world”).append(".");
举例:StringBuilder sb2 = sb.reverse();

StringBuilder练习

1.把数组拼成一个字符串

举例:

  • int[] arr = {1,2,3};
  • 输出:
  • [1,2,3]
public class StringBuilderTest2 {
	public static void main(String[] args) {
		//定义一个数组
		int[] arr = {1,2,3};
		String s = arraytoString(arr);
		System.out.println(s);
	
	}
	//写方法拼接
	//两个明确
	// 		返回值类型String  参数列表int[] arr
	public static String arraytoString(int[] arr) {
		StringBuilder sb = new StringBuilder();
		sb.append("[");
		for(int i = 0;i

2.字符串反转

分析:

  • A:键盘录入一个字符串
  • B:写方法进行反转
  •  String - StringBuilder - reverse - string
    
  • C:调用方法
  • D:输出结果
public class StringBuilderTest3 {
	public static void main(String[] args) {
		//键盘录入一个字符串
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串");
		String s = sc.nextLine();
		s=reverse(s);
		System.out.println(s);
	}
	//写方法实现反转
	public static String reverse(String s) {
		StringBuilder sb = new StringBuilder(s);
		sb.reverse();
		String s1 = sb.toString();
		return s1;
		
	}
}

3.判断是否为对称字符串

分析:

  • 若一个字符串反转前与反转后是相同的,则为对称字符串
  • A:键盘录入字符串
  • B:写方法判断是否为对称字符串
  • C:调用方法
  • D:输出结果
public class StringBuilderTest4 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入要一个字符串");
		String s = sc.nextLine();
		boolean flag = isSymmetry(s);
		System.out.println(flag);
	}
	//写方法判断是否为反转字符串
	//两个明确  返回值:boolean 参数列表 string s
	public static boolean isSymmetry(String s) {
		StringBuilder sb = new StringBuilder(s);
		sb.reverse();
		String result = sb.toString();
		return result.equals(s);
		
	}

}

你可能感兴趣的:(JAVA)