通识基础22:Java的核心类

Java通识基础22:核心类

字符串

public class Main {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "Hello";
        b = b.toLowerCase();//全部字符转化为小写
        System.out.println(b);
        b=b.toUpperCase();
        System.out.println(b);
        a=a.toUpperCase();//全部字符转化为大写
        System.out.println(a==b);
        System.out.println(a.equals(b));
        //由上两行可以看出不能用==来比较字符串
        System.out.println(a.indexOf("H"));//搜索字符在固定字符串的位置
        System.out.println(a.lastIndexOf("L"));//搜索字符在字符串最后出现的位置
        System.out.println(a.startsWith("H"));
        System.out.println(a.endsWith("O"));//判断开头结尾的字符是否为此字符
        System.out.println("a\n".isBlank());
        System.out.println("\n".isBlank());//判断空白字符
        System.out.println(" ".isEmpty());
        System.out.println("".isEmpty());//判断字符串长度是否为0
        b=b.replace("L","m");
        System.out.println(b);//将该字符串的所有L字符替换为m
        String s = "Hi %s, your score is %d!";
        System.out.println(s.formatted("Alice", 80));
        System.out.println(String.format("Hi %s, your score is %.2f!", "Bob", 59.5));
        //替换占位符
        String.valueOf(123); // "123"
        String.valueOf(45.67); // "45.67"
        String.valueOf(true); // "true"
        //将别的值转化为字符串
        int m1=Integer.parseInt("fd",16);//将该字符串转化为一个十六进制数
        char[] cs="dwadaw".toCharArray();
        System.out.println(cs[3]);//字符串转化为字符数组
    }
}
/*
hello
HELLO
false
true
0
3
true
true
false
true
false
true
HEmmO
Hi Alice, your score is 80!
Hi Bob, your score is 59.50!
d
*/

StringBuilder一个单纯用于拼接的便捷工具

public class Main {
    public static void main(String[] args) {
        String s="";
        for (int i=0;i<10;i++){
            s+=i+",";
        }
        System.out.println(s);
        StringBuilder a=new StringBuilder();
        for (int i=0;i<10;i++){
            a.append(i);
            a.append(",");
        }//StringBuilder方法可以预分配缓冲区减小负担
        System.out.println(a);
    }
}

进行链式操作

public class Main1 {
    public static void main(String[] args) {
        var sb = new StringBuilder(1024);
        sb.append("Mr ")
                .append("Bob")
                .append("!")
                .insert(0,"Hello,");
        System.out.println(sb.toString());
    }
}

StringJoiner

import java.util.StringJoiner;

public class Main {
    public static void main(String[] args) {
        String[] names={"A","B","C","D"};
        var sj=new StringJoiner(",,");
        for(String name:names){
            sj.add(name);
        }
        String[] cities={"NJ","BJ","CZ","DLSD"};
        var s=String.join("和",cities);
        System.out.println(s);
        System.out.println(sj);
    }
}

joininfo

public class StringJoin {
    public static void main(String[] args) {
        String[] names = {"Bob", "Alice", "Grace"};
        var s = String.join(", ", names);
        System.out.println(s);
    }
}

JavaBean

getter\setter定义属性的工具

public class Person {
    private String name;
    private int age;
    public void setName(String name){
        this.name=name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }
}

Record

public class Main {
    public static void main(String[] args) {
        Point p=new Point(233,666);
        System.out.println(p.x());
        System.out.println(p.y());
    }
}
record Point(int x,int y){
//定义更简化的final类
}
//该record类等同于
public final class Point {
    private final int x;
    private final int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int x() {
        return this.x;
    }

    public int y() {
        return this.y;
    }
}
/*
233
666
*/

Biglnteger应对巨大的整数

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a=new BigInteger("236075690543243213112312312321312321321231212321213213123124234");
        System.out.println(a.longValueExact());//会直接报错ArithmeticException
        System.out.println(a.longValue());//会出现不准确的异常值
    }
}

BigDecimal应对任意精度和大小的浮点数

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main1 {
    public static void main(String[] args) {
        BigDecimal a=new BigDecimal("2.321313213");
        System.out.println(a.doubleValue());
        System.out.println(a.scale());//显示小数位数
        a=a.setScale(4, RoundingMode.HALF_UP);//保留4位并且四舍五入
        System.out.println(a.doubleValue());
        a=a.setScale(3,RoundingMode.DOWN);
        System.out.println(a.doubleValue());//保留3位后面直接截断
        BigDecimal b=new BigDecimal("2.321");
        System.out.println(a.compareTo(b));//返回正数代表小于,负数代表大于,0代表等于
    }
}

Tools

Radom

生成指定范围的随机数

public class RadomInfo {
    public static void main(String[] args) {
        System.out.println(Math.random());
        double x=Math.random();
        double min=10;
        double max=20;
        Double y = x * (max - min) + min; // y的范围是[10,20)
        long n=y.longValue();
        System.out.println(y);
        System.out.println(n);
    }
}
import java.security.SecureRandom;
import java.util.Random;

public class Demo2 {
    public static void main(String[] args) {
        Random m=new Random();
        System.out.println(m.nextDouble(10));//生成10以内的随机double值
        System.out.println(m.nextInt(5000));//生成5000以内的随机int值
        SecureRandom n=new SecureRandom();
        System.out.println(n.nextDouble(10));
        System.out.println(n.nextInt(5000));
        //功能同上,后者的随机性更强
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值