IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java常用类 -> 正文阅读

[Java知识库]Java常用类

String类

String类常用方法

方法说明
int length()返回当前字符串的长度
int indexOf(int ch)查找ch字符在该字符串中第一次出现的位置
int indexOf(String str)查找str字符串在该字符串中第一次出现的位置
int lastIndexOf(int ch)查找ch字符在在该字符串中最后一次出现在的位置
int lastIndexOf(String str)查找str字符串在该字符串中最后一次出现的位置
String substring(int beginIndex)获取从beginIndex位置开始到结束的字符串
String substring(int beginIndex,int endIndex)获取从beginIndex位置开始到endIndex位置的字符串
String trim()返回去除了前后空格的字符串
boolean equals(Object obj)将该字符与指定对象比较,返回true或false
String toLowerCase()将字符串转换为小写
String toUpperCase()将字符串转换为大写
char charAt(int index)获取字符串中指定位置的字符
String[] split(String regex,int limit)将字符串分割为子字符串,染回字符串数组
byte getBytes()将该字符串转换为byte数组

注意

  • 字符串的下标是从0开始的,范围是从0到变量名.length()-1

  • 使用indexOf进行字符或者字符串查找时,如果匹配返回位置下标;如果没有匹配结果则返回-1

  • 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符

示例一:

package com;

import org.junit.Test;

import java.util.Arrays;

public class DemoString {
    public static void main(String[] args) {

        //字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1
        String str = "Thisis JAVA 编程";
        //打印字符串长度
        System.out.println("当前字符串长度:" + str.length());

        //查找字符的位置
        char c = '编';
        System.out.println("当前字符串“编”的位置:" + str.indexOf(c));

        //查找JAVA的位置
        System.out.println("当前字符串“JAVA”的位置:" + str.indexOf("JAVA"));

        //查找“test”的位置,如果不存返回-1
        System.out.println("当前字符串中test的位置:" + str.indexOf("test"));

        //按空格把字符拆分成一个数组,并输出每个元素
        String[]  arr = str.split(" ");
        System.out.println("按空格把字符拆分成数组:" + Arrays.toString(arr));

        //获取索引位置[3,7]之间的子串
        //使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
        System.out.println(str.substring(3,7));

    }

    @Test
    public  void test(){
        /**
         * 功能:
         * 判断 Java 文件名是否正确
         * 判断邮箱格式是否正确。
         * 其中:合法的文件名应该以 .java 结尾;
         * 合法的邮箱名中至少要包含 “@” ,
         * 并要求 “@” 在 “.” 之前
         */

        // Java文件名
        String fileName = "HelloWorld.java";
        // 邮箱
        String email = "laurenyang@imooc.com";

        //获取文件名中最后一次出现"."号的位置
        int index = fileName.lastIndexOf(".");

        // 获取文件的后缀
        String prefix = fileName.substring(index + 1,fileName.length());
        if(index != -1 && index != 0 && prefix.equals("java")){
            System.out.println("该文件名正确");
        }else{
            System.out.println("该文件名不正确");
        }

        //获取@的位置
        int index2 = email.indexOf("@");
        //获取.的位置
        int index3 = email.indexOf(".");
        if (index2 != -1 && index3 > index2){
            System.out.println("邮箱格式合法");
        }else {
            System.out.println("邮箱格式不合法");
        }
    }
}

“==” 和 equals() 的区别

  • ==:判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
  • equals():比较存储在两个字符串对象中的内容是否一致

示例二:

/**
     * 功能:统计指定字符串中字符 ‘a’ 出现的次数
     * 分析:可以通过循环遍历字符串中的每一个字符,判断是否是字符 a ,如果是,则累加统计出现的次数
     */
    @Test
    public void test2(){
        String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
        int sum = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'a'){
                sum = sum+1;
                //sum++
            }
        }
        System.out.println("字符a出现的次数:"+ sum);
    }

StringBuilder类

除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串

String、StringBuffer与StringBuilder的区别

StringStringBufferStringBuilder
String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量可变类,速度更快
不可变可变可变
线程安全线程不安全
多线程操作字符串单线程操作字符串

定义 StringBuilder 类的对象

package com.UsedClass;

public class DemoStringBuilder {
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder("This is StringBuilder Test");
        System.out.println(stringBuilder);
    }
}

StringBuilder 类常用方法

方法说明
StringBuilder append(参数)追加内容到当前StringBuilder对象的末尾
StringBuilder insert(位置,参数)将内容插入到StringBuilder对象的指定位置
String toString()将StringBuilder对象转换为String对象
int length()获取字符串的长度

示例:

package com.UsedClass;

public class DemoStringBuilder {
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder("This is StringBuilder Test");

        //在字符串后面追加字符串
        stringBuilder.append("testappend");
        System.out.println(stringBuilder);

        //在指定位置插入内容
        stringBuilder.insert(12,"!!");
        System.out.println(stringBuilder);

        //转换为String类型
        String str = stringBuilder.toString();
    }

    /**
     * 功能:将一个由英文字母组成的字符串转换成指定格式---从右边开始每三个字母用逗号分隔的形式。
     */
    public void test(){
        // 创建一个空的StringBuilder对象
        StringBuilder str = new StringBuilder();

        // 追加字符串
        str.append("jaewkjldfxmopzdm");

        // 从后往前每隔三位插入逗号
        for(int i = str.length()-3;i>0;i=i-3){
            str.insert(i,',');
        }
        
        // 将StringBuilder对象转换为String对象并输出
        System.out.print(str.toString());
    }
}

包装类

可以像操作对象一样操作基本数据类型

包装类主要提供的两大类方法

  • 将本类型和其他基本类型进行转换的方法
  • 将字符串和本类型及互相转换的方法

包装类的装箱和拆箱

装箱
  • 把基本数据类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

    //定义一个int的基本类型
    int i = 10;
    Integer x = new Integer(i);//手动装箱
    Integer y = i; //自动装箱
    
拆箱
  • 和装箱相反,把包装类对象转换为基本类型的值,又可分为手动拆箱和自动拆箱

    //定义一个Integer类型的包装类对象
    Integer i = new Integer(10); 
    int j = i.intValue(); //手动拆箱,转为int类型
    int y = i;//自动拆箱,转换为int类型
    

toString类

  • 基本类型转为字符串的方法

    //将基本类型转换为字符串
    int i =10;
    String str = Integer.toString(i);//方法一
    String str2 = String.valueOf(i);//方法二
    String str3 = i + "";//方法三
    
  • 将字符串转为基本类型

    //将字符串转为基本类型
    String str= "10";
    int i = Integer.parseInt(str);//方法一
    int j = Ingeger.valueOf(str);//方法二
    

Data和SimpleDateFormat类

  • SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。

    // 使用format()方法将日期转换为指定格式的文本
    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
    SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
  • format()方法:将日期转换为指定格式的文本

    // 创建Date对象,表示当前时间
    Date now = new Date();
            
    // 调用format()方法,将日期转换为字符串并输出
    System.out.println(sdf1.format(now));
    System.out.println(sdf2.format(now));
    System.out.println(sdf3.format(now));
    
  • parse() 方法: 将文本转换为日期

    // 使用parse()方法将文本转换为日期
    String d = "2014-6-1 21:05:36";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            
    // 调用parse()方法,将字符串转换为日期
    Date date = sdf.parse(d);
            
    System.out.println(date);
    

Math类

该类所有的方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名

常用方法

返回值方法名解释
longround()返回四舍五入的整数
doublefloor()返回小于参数的最大整数
doubleceil()返回大于参数的最小整数
doublerandom()返回[0,1]之间的随机浮点数

示例:

public class HelloWorld {
    /**
    *功能:定义一个包含 10 个元素的整型数组,通过随机产生 10 以内的随机数,给数组中的每个元素赋值,并输出结果。
    */
    public static void main(String[] args) {
        
        // 定义一个整型数组,长度为10
		int[] nums = new int[10];
        
        //通过循环给数组赋值
		for (int i = 0; i < nums.length; i++) {
            // 产生10以内的随机数
			int x = (int)(Math.random() * 10);
            
			nums[i] = x;// 为元素赋值
		}
        
		// 使用foreach循环输出数组中的元素
		for (int num : nums) {
			System.out.print(num + " ");
		}
	}
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 23:04:10  更:2021-08-10 23:04:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 5:36:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码