Java里的实用类

发布时间:2024年01月09日

1.枚举

语法:

public enum 变量名{

值一,值二······}

某个变量的取值范围只能是有限个数的值时,就可以把这个变量定义成枚举类型。

2…装箱(boxing) 和拆箱(unboxing)

装箱(boxing): 把基本数据类型变成引用类型

拆箱(unboxing):把引用类型变成基本数据类型

 int i = 1;
 Integer o = i ;//自动装箱(在1.6版本之前是错误的)

 int i = 1;
 Integer o = new Integer(i);//手工装箱(在1.6版本之前的标准写法)

 Integer o = 10;//自动装箱(在1.6版本之前是错误的)
 int i = o; //自动拆箱(在1.6版本之前是错误的)

在1.6版本之前必须这么去做:

Integer o = new Integer(10);//手工装箱
 int i = o.intValue(); //手工拆箱

3.字符串类型和包装类(基本数据类型)的转换

每一个基本数据类型都有对应的包装类

包装类基本数据类
Booleanbooolean
Bytebyte
Integerint
Shortshort
Longlong
Floatfloat
Doubledouble
Characterchar
字符串类型和包装类(基本数据类型)的转换
int i = 10;
String s = i + "";
//String s = String.valueOf(i);
//String s = new String("a");
int j = Integer.parseInt(s);
double d = Double.parseDouble(s);

4.Java中的Math类

Math类是Java中提供的一个数学工具类,用于执行常见的数学运算。它提供了许多静态方法,可以用于执行数值计算和数学操作。下面是Math类的一些常用方法:

基本数学运算

  • abs(x):返回参数x的绝对值。例如:Math.abs(-5)的结果是5。
  • max(x, y):返回x和y中较大的值。例如:Math.max(3, 7)的结果是7。
  • min(x, y):返回x和y中较小的值。例如:Math.min(3, 7)的结果是3。
  • ceil(x):返回大于或等于参数x的最小整数。例如:Math.ceil(5.3)的结果是6。
  • floor(x):返回小于或等于参数x的最大整数。例如:Math.floor(5.7)的结果是5。
  • round(x):返回参数x的四舍五入值。例如:Math.round(5.5)的结果是6。

指数和对数运算

  • exp(x):返回参数x的指数值。例如:Math.exp(2)的结果是7.38905609893065,这是e的平方。
  • log(x):返回参数x的自然对数(以e为底)。例如:Math.log(10)的结果是2.302585092994046,表示10的自然对数。
  • pow(x, y):返回x的y次方。例如:Math.pow(2, 3)的结果是8,表示2的3次方。
  • sqrt(x):返回参数x的平方根。例如:Math.sqrt(25)的结果是5。

三角函数

  • sin(x):返回参数x的正弦值。例如:Math.sin(Math.PI/2)的结果是1,表示π/2的正弦值。
  • cos(x):返回参数x的余弦值。例如:Math.cos(Math.PI)的结果是-1,表示π的余弦值。
  • tan(x):返回参数x的正切值。例如:Math.tan(0)的结果是0,表示0的正切值。

随机数生成

  • random():返回一个[0, 1)范围内的随机浮点数。例如:Math.random()的结果可能是0.678987654321。

这只是Math类提供的一小部分方法,还有其他方法可以用于其他类型的数学运算。要使用Math类的方法,

5.Random类

获取伪随机数

Random ran = new Random(); 
int i = ran.nextInt(10);
System.out.println(i);

6.String类

字符串:不可变的字符序列
在这里插入图片描述

StringBuffer s = new StringBuffer();
s.append("a");
s.append("b");
s.append("c");
s.append("d");
System.out.println(s.toString());

StringBuilder s1 = new StringBuilder();
s1.append("a");
s1.append("b");
s1.append("c");
s1.append("d");
System.out.println(s1.toString());

//StringBuffer 是线程安全的,性能比StringBuilder低
//StringBuilder是线程不安全的
public static void main(String[] args) {
    String s = " adEb cde ";
    // 获取字符串的长度
    // System.out.println(s.length());

    // 获取指定位置的字符
    // System.out.println(s.charAt(2));

    // 将指定字符串连接到原字符串末尾
    // System.out.println(s.concat("d"));

    // 判断字符串是否包含指定字符序列
    // System.out.println(s.contains("ac"));

    // 判断字符串是否以指定字符序列结尾
    // System.out.println(s.endsWith("de"));

    // 返回指定字符在字符串中第一次出现的位置
    // 如果找不到,则返回-1
    // System.out.println(s.indexOf('f'));

    /* 返回指定字符序列在字符串中第一次出现的位置
     * System.out.println(s.indexOf("de")); // 11
     * System.out.println(s.lastIndexOf("de")); // 5
     */

    // 判断字符串是否为空
    // System.out.println(s.isEmpty());

    // 将字符串中指定字符序列替换为新的字符序列
    // System.out.println(s.replace("de","xy"));

    // 根据指定的分隔符将字符串拆分为字符串数组
    // 返回一个数组
    // System.out.println(s.split("d"));

    /* 使用分隔符将字符串拆分为字符串数组,并逐个打印数组元素
     * for (String o : s.split("d")) {
     *     System.out.println(o);
     * }
     */

    // 判断字符串是否以指定字符序列开头
    // System.out.println(s.startsWith("a"));

    // 截取子串:从索引0开始截取到索引5(包括索引0位置,不包括索引5位置)
    // System.out.println(s.substring(0,5));

    // 将字符串转换为字符数组
    // char[] arr = s.toCharArray();

    // 将字符串转换为小写字母
    // System.out.println(s.toLowerCase());

    // 将字符串转换为大写字母
    // System.out.println(s.toUpperCase());

    /* 输出带有前后空格的字符串
    * System.out.println("|" + s + "|");
    * 输出去除前后空格的字符串
    * System.out.println("|" + s.trim() + "|");
    */

    // 将其他类型转换为字符串
    // String s1 = String.valueOf(123);
}

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.print("请输入一个字符串:");
    String s = input.next();
    System.out.print("请输入要查找的字符:");
    String ch = input.next();
    int count = 0;
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        if (ch.equals(c + "")) {
            count++;
        }
    }
    System.out.println(s + "中包含" + count + "个" + ch);
}
文章来源:https://blog.csdn.net/qq_61102168/article/details/135468830
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。