String类
1 常用方法
1.1 length() :
用于计算字符串长度
1.2 equals() :
用于比较两个字符串内容是否相等。
1.3 equalsIgnoreCase() :
不区分大小写比较。
1.4 toLowCase() :
将字符串大写转化为小写。
1.5 toUpperCase() :
将字符串小写转化为大写。
1.6 concat() :
字符串拼接方法,相当于 +
1.7 indexOf(int ch) 或 indexOf(String value)
搜索第一个出现的字符o(或字符串value),如果没有找到,返回-1, 如果找到,返回该字符所在下标
1.8 lastIndexOf(int ch) 或 lastIndexOf(String value)
搜索最后一个出现的字符o(或字符串value),如果没有找到,返回-1, 如果找到,返回该字符所在下标
1.9 substring(int index)
提取从索引开始位置开始的字符串
1.10 substring(int beginIndex , int endIndex)
字符串截取,[ ),左闭右开区间
1.11 trim()
返回一个前后不带空格的字符串,就是去掉字符串前后的空格
1.12 startWith()
startsWith方法测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
1.13 endWith()
endWith()判断某个字符串是否是以指定后缀结束的
代码示例:
public class StringDemo {
public static void main(String[] args) {
String string = "abcdefg";
int length = string.length();
System.out.println(length);// 7
System.out.println("====================");
String string2 = " a b c d e ";
String trim = string2.trim();
System.out.println(trim); //a b c d e
String[] split = string2.split(" ");
for (int i = 0; i < split.length; i++) {
System.out.println(split[i]);
}
System.out.println("====================");
String string3 = "ABcde";
String string4 = "abcde";
// 忽略大小写
System.out.println(string3.equalsIgnoreCase(string4));//true
// 将大写转化为小写
String lowerCase = string3.toLowerCase();
System.out.println(lowerCase);// abcde
String upperCase = string3.toUpperCase();// ABCDE
// 转化为大写
System.out.println(upperCase);
// 字符串拼接,和 + 功能相等
String concat = string3.concat(string4);
System.out.println(concat); // ABcdeabcde
String string5 = string3 + string4;
System.out.println(string5); // ABcdeabcde
System.out.println("====================");
String string6 = "hello world";
// 搜索第一个出现的字符o(或字符串value),如果没有找到,返回-1, 如果找到,返回该字符所在下标
int indexOf = string6.indexOf("o");
int indexOf2 = string6.indexOf("m");
System.out.println(indexOf);// 4
System.out.println(indexOf2);// -1
// 字符串截取,[ ),左闭右开区间
String substring = string6.substring(0, 5);
System.out.println(substring);// hello
String[] split2 = string6.split(" ");
for (int i = 0; i < split2.length; i++) {
System.out.println(split2[i]);// hello
// world
}
System.out.println("====================");
String string7 = "ABcdefg12 d";
String replace = string7.replace("A", "*");
System.out.println(replace); // *Bcdefg12 d
String replaceAll = string7.replaceAll("\\d", "*");
System.out.println(replaceAll); // ABcdefg** d
}
}
2、例子
2.1 输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数
import java.util.Scanner;
/**
* 输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数
* @author 12136
*
*/
public class Test2 {
public static void main(String[] args) {
String string = "我爱你中国,我爱你故乡";
String[] split = string.split("");
System.out.println("请输入:");
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
int count = 0;
for (int i = 0; i < split.length; i++) {
if (input.equals(split[i])) {
count ++;
}
}
System.out.println(count);
}
}
2.2 实现会员注册,要求用户名长度不小于3, 密码长度不小于6, 注册时两次输入密码必须相同
import java.util.Scanner;
/**
* 实现会员注册,要求
用户名长度不小于3
密码长度不小于6
注册时两次输入密码必须相同
* @author 12136
*
*/
public class Test3 {
public static void main(String[] args) {
boolean flag = true;
System.out.println("******欢迎进入注册系统******");
while(flag) {
System.out.println("请输入用户名:");
Scanner scanner = new Scanner(System.in);
String input1 = scanner.next();
System.out.println("请输入密码:");
String input2 = scanner.next();
System.out.println("请再次输入密码:");
String input3 = scanner.next();
if (input1.length() < 3) {
System.out.println("用户名长度不小于3");
}else {
if (input2.length() < 6) {
System.out.println("密码不能小于6");
}else {
if (input2.equals(input3)) {
System.out.println("两次输入密码一致,注册成功!");
flag = false;
}else {
System.out.println("两次输入密码不一致,请重新输入!");
}
}
}
}
}
}
2.3 判断.java文件名是否正确,判断邮箱格式是否正确
import java.util.Scanner;
/**
* 判断.java文件名是否正确,判断邮箱格式是否正确
* startsWith方法测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
* endWith()判断某个字符串是否是以指定后缀结束的
* @author 12136
*
*/
public class Test4 {
public static void main(String[] args) {
System.out.println("******欢迎进入作业提交系统******");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入java文件名:");
String input1 = scanner.next();
System.out.println("请输入邮箱:");
String input2 = scanner.next();
int indexOf2 = input2.indexOf("@");
// 判断java文件名格式是否正确
if (input1.endsWith(".java")) {
System.out.println("java文件名格式正确");
}else {
System.out.println("java文件名格式错误!");
}
// 判断邮箱格式是否正确
if (indexOf2 == -1 || !input2.endsWith(".com")) {
System.out.println("邮箱格式错误");
}else {
System.out.println("邮箱格式正确");
}
}
}
Random类
1 常用方法
== 代码示例:==
import java.util.Random;
public class Test3 {
public static void main(String[] args) {
Random random = new Random();
StringBuilder sB = new StringBuilder();
StringBuffer sB1 = new StringBuffer();
for (int i = 0; i < 4; i++) {
int int2 = random.nextInt(10);
System.out.println(int2);
sB.append(int2);
sB1.append(int2);
}
System.out.println(sB);// 7473
System.out.println(sB1);// 7473
}
}
Math 类
== 代码示例==
public class Test2 {
public static void main(String[] args) {
// 四舍五入
long round = Math.round(3.6);
System.out.println(round);
// 向下取整
double floor = Math.floor(3.9);
System.out.println(floor);
// 向上取整
double ceil = Math.ceil(3.9);
System.out.println(ceil);
// 取绝对值
int abs = Math.abs(-20);
System.out.println(abs);
// 开根号
double sqrt = Math.sqrt(4);
System.out.println(sqrt);
}
枚举enum
枚举的好处:方便输入,避免错误数值,代码清晰
代码示例:
/**
*枚举类Week
*/
public enum Week {
mon("周一",1,18),tu("周二",2,20)
;
private String name;
private int age;
private double height;
private Week(String name, int age, double height) {
this.name = name;
this.age = age;
this.height = height;
}
private Week() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
/**
*测试类
*/
public class EnumDemo {
public static void main(String[] args) {
Week week = Week.tu;
// week.setName("周围");
System.out.println(week); // tu
switch (week) {
case mon:
System.out.println(week.getName());
break;
case tu:
System.out.println(week.getAge()); // 2
System.out.println(week.name()); // tu
break;
default:
System.out.println("没有");
break;
}
}
}
Bigdecimal类
BigDecimal:这个类主要用于小数相关的精确计算
public class TestBigDecimal {
public static void main(String[] args) {
double d1 = 1.0;
double d2 = 0.9;
System.out.println(d1 - d2);
BigDecimal b1 = new BigDecimal("1.0");
BigDecimal b2 = new BigDecimal("0.9");
// 减法
System.out.println(b1.subtract(b2));
// 加法
System.out.println(b1.add(b2));
// 乘法
System.out.println(b1.multiply(b2));
// 除法
System.out.println(b1.divide(b2, 5, RoundingMode.HALF_UP));
}
}