常用方法

常用方法

length() 返回字符串长度 返回类型 int
charAt(int index) 根据下标获取字符串 返回类型char
contains(String str)判断当前字符串是否包含str 返回类型:布尔
tocharArray() 将字符串转成数组 返回类型 char[]
indexOf(String str) 查找str首次出现的下标,存在返回该下标,不存在返回-1
lastIndexOf(String str) 查找字符串在当前字符串中最后一次出现的下标索引
trim() 去掉字符串前后的空格
toUpperCase() 将小写转成大写
toLowerCase() 将大写转成小写
endWith(String str) 判断字符串是否以str结尾
replace(char oldChar,char newChar) 将旧字符串替换成新字符串
split(String str) 根据str拆分 返回结果为数组
equals() 字符串比较是否相等

​ 补充:忽略大小写比较字符串equalsIgnoreCase(String str);

​ 比如 str1 = “java” 和 str2 = “JAVA” 进行对比

compareTo()字符串比较大【比较编码表中的位置】

​ 按顺序比较

package method;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Locale;

public class Met_hod {
    public static void main(String[] args) {
        String str ="世界那么大,java   ";
        String str1 = "java";
        System.out.println(str.length()); //结果10
        System.out.println(str.charAt(4)); // 结果 大
        System.out.println(str.contains(str1)); //结果 true
        System.out.println("====================================");
        System.out.println(Arrays.toString(str.toCharArray())); //结果 所有字符串
        System.out.println(str.indexOf("java"));//结果 6
        System.out.println(str.lastIndexOf("大"));//结果 4
        System.out.println("====================================");
        System.out.println(str.trim());//去掉首位空格
        System.out.println(str1.toUpperCase());//将小写转成大写
        System.out.println(str1.toLowerCase());//将大写转小写
        System.out.println(str.trim().endsWith(str1)); //去掉首尾空格,判断是否以java结尾
        System.out.println("=================================");
        System.out.println(str.replace("java","python"));//将java替换成python
        System.out.println(Arrays.toString(str.split("a")));//按a来拆分字符串 返回结果为数组
        System.out.println("=================================");
        System.out.println(str1.equals("JAVA"));//结果flase
        System.out.println(str1.compareTo("java"));//返回结果 相同返回0
        System.out.println("==============================");

    }
}
public class Met_hod1 {
    public static void main(String[] args) {
        /*
        * 1.将str中的单词提取出来
        * 2.将str中的text替换成practice
        * 3.将text前面插入一个easy
        * 4.将每个单词的首字母替换为大写*/
        String str = "this is a text";
        String[] str_arr = str.split(" ");
        for (String s:str_arr) {
            System.out.println(s);
        }
        System.out.println("======================");
        System.out.println(str.replace("text","practice"));
        System.out.println("======================");
        System.out.println(str.replace("text","easy text"));
        System.out.println("======================");
        for(int i=0;i<str_arr.length;i++){
            char fistr = str_arr[i].charAt(0);
            //取出第一个字符
            char upper = Character.toUpperCase(fistr);
            //把第一个字符转成大写
            String new_char = upper+str_arr[i].substring(1);// 拼接成新数组

            System.out.print(new_char);

        }
    }
}

可变字符串

StringBuffer 可变长字符串,运行效率慢,线程安全
方法:
  1. append(内容) 添加
  2. insert(int ,str) 插入
  3. replace(start int ,end int ,str) 指定位置替换
  4. delete(start int ,end int)删除
  5. toString() 输出
package method;

public class Met_hod2 {
    public static void main(String[] args) {
        //StringBuffer 和 StringBuilder 使用

        StringBuffer sb = new StringBuffer();
        //方法 1.append()追加数据 2.插入 3.替换 4.删除 5.tostring 输出
        sb.append("java");
        System.out.println(sb.toString());
        sb.append("python");
        System.out.println(sb.toString());
        sb.insert(1,",");
        System.out.println(sb.toString());
        sb.replace(0,5,"hello");
        System.out.println(sb.toString());
        sb.delete(0,5);
        System.out.println(sb.toString());

    }
}
StringBuilder 可变长字符串,运行效率高,线程不安全
比拼接字符效率高很多很多

BigDecimal类

public class Met_BigDecimal {
    public static void main(String[] args) {
        double a = 1.0;
        double b = 0.9;
        System.out.println(a-b);
        //结果不是0.1 而是0.099999999998
    }
}
精确计算需要使用字符串
package method;

import java.math.BigDecimal;

public class Met_BigDecimal {
    public static void main(String[] args) {
        double a = 1.0;
        double b = 0.9;
        System.out.println(a-b);
        System.out.println("=======================");
        BigDecimal a1 = new BigDecimal("1.0"); //精确运算要使用字符串
        BigDecimal b1 = new BigDecimal("0.9");
        System.out.println(a1.subtract(b1));// 减法
        System.out.println("=======================");
        BigDecimal r5 = new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
        //进行除法运算,后面参数  2为保留2位小数,BigDecimal.ROUND_HALF_UP 四舍五入   如果不进行参数保留会报出异常
        System.out.println(r5);

    }
}

Date类

时间类,精确到毫秒,一个被Calendar类 取代了的类

时间单位
  1. 1秒 = 1000毫秒
  2. 1毫秒 = 1000微秒
  3. 1微秒 = 1000纳秒

Calendar类

获取或设置各种日历字段的方法

构造方法

​ proleted Calendar() 由于使用修饰符proleted 所以无法直接创建该对象

创建Calendar 类

使用该方法进行创建

Calendar calendar = Calendar.getInstance();

set、add、方法

set可以指定时间参数,进行修改

add可以在当前时间上增加减少

获取年月日等参数,直接调用指定常量即可
package method;

import java.util.Calendar;

public class Met_Calendar {
    public static void main(String[] args) {
        //创建对象
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString()); //打印当前时间
        System.out.println(calendar.getTimeInMillis()); //打印出 1970年1月1日起的毫秒值
        //====================================================================
        //获取时间
        int year = calendar.get(calendar.YEAR); //通过Calendar对象的常量获取对应数据
        System.out.println(year);
        int hour = calendar.get(calendar.HOUR_OF_DAY);//24小时制   HOUR 为12小时制
        System.out.println(hour);

        //set修改时间
        Calendar calendar1 = Calendar.getInstance();
        calendar1.set(Calendar.DAY_OF_MONTH,5); //指定日期参数
        System.out.println(calendar1.getTime().toLocaleString()); //输出指定日期时间

        //add修改时间
        calendar1.add(Calendar.HOUR,1); //对时间进行增加1小时
        System.out.println(calendar1.getTime().toLocaleString()); //输出指定日期,当前时间+1小时

    }
}

SimpleDateFormat 类

是一个以语言环境有关的方式来格式化和解析日期的具体类

进行格式化(日期 -> 文本) 、解析(文本 -> 日期)

常用的时间模式字母

package method;

import java.text.SimpleDateFormat;
import java.util.Date;

/*
 * 字母    日期或时间       示例
 * y      年              2019
 * M      月份             08
 * d      日              10
 * H      时0-23          23
 * m      分              16
 * s      秒              55
 * S      毫秒            367
 *
 * */
public class Met_SimpleDateFormat {
    public static void main(String[] args) throws Exception {
        //把日期转换成字符串
        //创建对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //按照指定格式进行日期格式化
        //创建一个Date
        Date date = new Date();
        String str = sdf.format(date); //返回值是个字符串
        System.out.println(str);
        //=================================
        //把字符串转换日期

        Date date1 = sdf.parse("1991-03-22 21:29:30"); //会抛出异常,如果没有按照指定格式给参数,就会抛出异常
        // 这里指定参数是按照创建对象时给定的参数来定义的。
        System.out.println(date1);

    }
}

System类

系统类,主要用于获取系统的属性数据和其他操作,构造方法私有
方法:
  1. sttic void arraycopy(…) 复制数组
  2. static long currentTimeMillis(); 获取当前系统时间,返回的是毫秒
  3. static void gc() 建议jvm赶快启动垃圾回收器回收垃圾
  4. static void exit(int status) 退出jvm 如果参数0表示正常,否则异常退出
package method;

public class Met_System {
    public static void main(String[] args) {
        //arraycopy 数组复制
        //参数 src 源数组
        //srcPos 从数组哪个位置开始复制
        //dest 目标数组
        //dest 目标数组的覆盖
        //length 复制的长度
        int[] arr = {10,20,30,40,50}; // 第一个数组
        int[] des = {1,2,3,4,5};//第二个数组
        System.arraycopy(arr,0,des,0,arr.length); //复制arr数组,从第0位 到 des数组,从0开始覆盖,复制长度为arr长度
        for (int i=0;i< arr.length;i++){
            System.out.println(des[i]); //循环出来的结果则为 10,20,30,40,50 原本的1,2,3,4,5都已经被覆盖
        }

        //==============================================================
        long start = System.currentTimeMillis(); //开始计时
        for(int i=0;i<999999999;i++){
            i+=i;
        }
        long end = System.currentTimeMillis(); //结束计时
        System.out.println("使用时间:"+(end - start)); //计算使用时间
        
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值