Java教程

笔记—javase 常用类

本文主要是介绍笔记—javase 常用类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.String类
                String类是不可变的,String对象申明后不可修改。
                String s1  = "a";
                String s2  ="b";
                s1= s1+s2;
                "a","b" ,都是存在字符串常量区。在运行过程中对字符串相加减会放在堆中。再看字符串常量池中是否存在改字符串,
                若存在,返回该字符串的内存地址,若不存在先将字符串放在字符串常量池中,再返回内存地址。

                String s1= new String("abc");和String s2 ="abc";
                                s1在堆中创建了一个对象,该对象存放的是"abc"在字符串常量区的内存地址。一共new了两个对象
                s2直接指向字符串"abc"在常量区的内存地址。 new了一个对象。

                String常用方法:
                    endsWith:  判断字符串是否以指定的后缀结束。
                    startsWith:判断字符串是否以指定前缀开始。
                    equals: 字符串相等比较。
                    equalsIgnoreCase,字符串相等比较,忽略大小写。
                    indexOf,取得指定字符串在字符串中第一次出现的位置。
                    lastIndexOf:取得指定字符串在字符串中的最后一次出现的位置。
                    length:获取字符串的长度。
                    replaceAll:替换字符串中指定的内容。
                    split:根据指定的表达式拆分你字符串。
                    subString:截取字符串。
                    trim:去除前后空格。
                    valueOf:将其他类型转换成字符串。

public class StringTest {
    public static void main(String[] args) {
        String s1 ="abcdb";

        //判断字符串是否以指定字符串结束。
        System.out.println(s1.endsWith("b"));//true

        //判断字符串是否以指定字符串开始。
        System.out.println(s1.startsWith("a"));//true

        //比较字符串是否相等
        System.out.println(s1.equals("av"));//false

        //比较字符串是否相等,忽略大小写
        System.out.println(s1.equalsIgnoreCase("abcdB"));//true

        //取得指定字符串在字符串中第一次出现的位置。
        System.out.println(s1.indexOf("a"));//0

        //取得指定字符串在字符串中的最后一次出现的位置。
        System.out.println(s1.lastIndexOf("b"));//4

        //获取字符串的长度
        System.out.println(s1.length());//5

        //replaceAll:替换字符串中指定的内容。
        System.out.println(s1.replaceAll("b","z"));//azcdz

        //split:根据指定的表达式拆分你字符串。
        String s2 ="my name is zhangsan";
        String[] s = s2.split(" ");//根据空格把字符串拆分成单词存放在一个字符串数组中

        //subString:截取字符串。
        System.out.println(s1.substring(1,2));//b。截取区间前闭后开

        //trim:去除前后空格
        String s3="   zhangsan    " ;
        System.out.println(s3.trim());//zhangsan

        //valueOf,将其他类型转换成字符串
        String s4 =String.valueOf(123465);//将int类型123465转换成字符串"123456"。
    }
}

2.StringBuiler和StringBuffer
                    StringBuffer称为字符串缓冲区,它的工作原理是先开辟一块内存空间,存放字符序列,如果字符序列满了
                    ,会从新改变字符串缓冲区大小,以容纳更长的字符串。它和String最大的区别是它是可变对象。
                    append()字符串追加方法。
                    StringBuiler和StringBuffer用法相同,StringBuiler中的方法都是同步方法。是线程安全的。效率较低。

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

        //创建一个字符串缓冲区
        StringBuffer sb = new StringBuffer();
        for(int i = 0; i <100;i++){

            //追加字符串
            sb.append(i);
            sb.append(",");
        }
        //去除最后的,。
        System.out.println(sb.substring(0,sb.length()-1));
    }
}


                3.基本数据类型对应的包装类
                    
                    基本类型的包装类主要提供了更多的实用操作,这样更容易处理基本类型。所有的包装类都是
                                         final 的,所以不能创建其子类,包装类都是不可变对象。

                 8种基本数据类型对应的包装类型

基本数据类型包装类
byteByte
short        Short
charCharacter
intInteger
long      Long
floatFloat
doubleDouble
booleanBoolean

4.日期类
                    常用日期类
                        java.util.Date,
                        java.util.SimpleDateFromat

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

        //获取系统当前日期
        Date now = new Date();

        //格式化日期格式
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss SSS");
        String nowStr = sdf1.format(now);
        System.out.println(nowStr);

        //将字符串转换成日期格式
        String date ="1937-10-1  08:00:00 000";
        try {
            Date date1 = sdf1.parse(date);
            System.out.println(date1);
        } catch (ParseException e) {
            e.printStackTrace();
        }


    }
}


                  
                5.数字类:
                    java.text.DecimalFormat
                    java.math.BigDecimal

public class DecimalFormatTest {
    public static void main(String[] args) {
        //格式化数字格式,加入千分位,保留4位小数
        DecimalFormat df1 = new DecimalFormat("###,###.####");
        String numStr = df1.format(155646561654.156);
        System.out.println(numStr);

        //格式化数字格式,加入千分位,保留4位小数,不够补零。
        System.out.println(new DecimalFormat("###,###.0000").format(152.16));
    }
}
public class BigDecimalTest {
    public static void main(String[] args) {

        BigDecimal v1 =new BigDecimal(123);
        BigDecimal v2 =new BigDecimal(1225);
        BigDecimal add = v1.add(v2);

        //相加运算
        System.out.println(add);

    }
}

6.Random
                     java.util.Rondom可以产生随机数。

public class RandomTest {
    public static void main(String[] args) {
        //创建一个新的随机数生成器。
        Random random = new Random();
        //返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
        System.out.println(random.nextInt(100));

    }
}

7.枚举
                    使用enum可以圈定一个范围
                    如果只有几种可能存在的值,那么可以就被定义为枚举,是因为可以将可能存在的值一枚一枚的列举出来。

public class EnumTest {
    public static void main(String[] args) throws Exception{
        Result r = method1(10, 2);
        if (r == Result.SUCCESS) {
            System.out.println("成功!");
        }
        if (r == Result.FAILURE) {
            System.out.println("失败!");
        }
    }
    //正确返回 SUCCESS,失败返回:FAILURE
    private static Result method1(int value1, int value2) {
        try {
            int v = value1/value2;
            return Result.SUCCESS;
        }catch(Exception e) {

            return Result.FAILURE;
        }
    }
}
enum Result {
    SUCCESS,
    FAILURE
}

这篇关于笔记—javase 常用类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!