zoukankan      html  css  js  c++  java
  • JAVA知识点总结(五)(常用类)

    第十八章:常用类
    一、main方法解读:
    1 public static void main(String[] args) 
    2 //当点击运行时,JVM会自动调用main方法
    3 //public: 被JVM调用的方法,他的权限要足够大
    4 //static:    被JVM调用的方法,不需要创建对象,直接通过类名调用
    5 //void:    被JVM调用的方法,不需要返回值
    6 //main:    方法的名称,只能这样写,不然jvm识别不了
    7 //String [] args:以前指的是键盘的录入

    二、Scanner类:

    1 Scanner sc = new Scanner(System.in);
    2         //等待从键盘录入一个int类型的数,
    3          int i = sc.nextInt();
    4          System.out.println(i);
    三、System类:
    1、Arraycopy
    public static void main(String[] args) {
        // src - 源数组。
        //srcPos - 源数组中的起始位置。
        //dest - 目标数组。
        //destPos - 目标数据中的起始位置。
        //length - 要复制的数组元素的数量。
            int [] src = {1,2,3,4,5,6};
            int [] desc = new int[10];
            System.arraycopy(src, 3, desc, 3, 3);
            System.out.println(Arrays.toString(src));
            System.out.println(Arrays.toString(desc));
    //结果:    
    //        [1, 2, 3, 4, 5, 6]
    //        [0, 0, 0, 4, 5, 6, 0, 0, 0, 0]

    2、System.currentTimeMillis() ;   计算代码耗时

    public static void main(String[] args) {
            //获取当前时间的毫秒值 1s等于1000毫秒
            //从197----现在的时间
            long time1 = System.currentTimeMillis();
            for(int i=0;i<10000;i++){
                System.out.println(i);
            }
            long time2 = System.currentTimeMillis();
            long time3 = time2-time1;
            System.out.println("总耗时:"+time3);

    3、退出程序:System.exit(0);

    //终止当前正在运行的 Java 虚拟机。
            System.exit(0);

    4、启动自动立即回收机制:

    new SystemMethod();
            new SystemMethod();//匿名对象,匿名对象只运行一次, 之后就等大gc回收。        
            //立即运行垃圾回收器。
            System.gc();
    四、Math类:
    1、求两个数的最大值:
    //求两个数的最大值,最小值用min同理
    int res = Math.max(10,20);
    System.out.println(res);

    2、开平方根:

    //求4的平方根
    double res = Math.sqrt(4);
    System.out.println(res);

    3、Math.random();

    //返回[0 1) 之间的一个随机数
    Math.random();

    4、大精度小数BigDecimal:

    //float  double  只能表示小数,不能表示精确的小数
    public static void main(String[] args) {
            //表示金钱都用BigDecimal
            BigDecimal big1 = new BigDecimal("0.01");
            BigDecimal big2 = new BigDecimal("0.09");
            BigDecimal big3 = big1.add(big2);
            System.out.println(big3);
        }
    五、字符串:
    1、什么是字符串?
        把多个字符串起来。
    2、字符串创建:
    String str = "myxq";//直接创建
    String str = new String("myxq");//通过构造器创建

    3、字符串分类:

    1.不可变字符串:String           效率低, 定义好之后就不能改变(内存地址)
    2.可变字符串:StringBuilder/StringBuffer        效率高,StirngBuilder更高,但是StringBuffer安全,定义好之后还能进行修改地址

    4、字符串为空的两种形式:

    String str = null;
    String str = "";

    5、比较两个字符串是否相等:

     1 //方法一
     2         if(str == str2){
     3             System.out.println("是相等的");
     4         }else{
     5             System.out.println("其实不相等");
     6         }
     7         //方法二
     8         if(str.equals(str2)){
     9             System.out.println("是相等的");
    10         }else{
    11             System.out.println("其实不相等");
    12         }

    6、字符串内存分析:

    1 String str1 = "ABCD";
    2 String str2 = "ABCD";
    3 String str3 = "abc";
    4 
    5 String str4 = new String("ABCD");
    6 String str5 = new String("myxq");

     7、char 数组转换成字符串:

    1 //把一个char数组转换成字符串
    2 char[] c1 = new char[]{'A','b','c'};
    3 String str1 = new String(c1);
    4 System.out.println(str1);

    8、字符串转换为char数组:

    String str1 = "abc";
    char[] c2 = str1.toCharArray();
    System.out.println(c2);

    9、获取字符串当中指定位置的字符:

    //获取字符串当中的信息
    String str2 = "myxq";
    System.out.println(str2.charAt(2));

    10、获取字符串的长度:

    1 //获取字符串当中的信息
    2 String str2 = "myxq";
    3 //返回字符串长度
    4 System.out.println(str2.length());

    11、返回一个子字符串在另一个字符串中第一次出现的位置:

    1 //返回一个字符串在另一个字符串当中出现的第一个位置
    2 String str3 = "ABCDEFGCDOOL";
    3 String str4 = "CD";
    4 System.out.println(str3.indexOf(str4));

    12、返回一个子字符串在另一个字符串中最后一次出现的位置:

    1 String str3 = "ABCDEFGCDOOL";
    2 String str4 = "CD";
    3 //返回一个字符串在另一个字符串当中出现的最后一个位置
    4 System.out.println(str3.lastIndexOf(str4));

    13、把所有字母变成大写:

    1 System.out.println(str3.toUpperCase());//小写的话方法名变为toLowerCase

    14、忽略大小写比较两个字符串是否相等:

    1 System.out.println(str4.equalsIgnoreCase(str5));

    15、用一个字符可以对字符串做一个分割,返回的是一个数组:

    1 String fileNames = "abc.java;hello.java;hello.txt;hello.java.txt";
    2 String[] res = fileNames.split(";");
    3 System.out.println(Arrays.toString(res));

    16、是否以指定的字符串开头:

    1 String str = "myxq123";
    2 boolean res = str.startsWith("my");
    3 System.out.println(res);

    17、获取从指定位置开始,到指定位置结束之间的字符

    1 String str = "myxq123";
    2 String res = str.substrign(1,4);
    3 System.out.println(res);

    18、去掉字符串两端的空格:

    1 String str = " my xqqq ";
    2         str = str.trim();

    19、使用一个新字符替换字符串中的老字符:

    1 String str = " my xqqq ";
    2 String newStr = str.replace("d","q");// 用新的字符代替旧的字符

    六、UUID

    1 //UUID  通用唯一识别符
    2 //在一台机器上,生成的数字
    3 //根据当前的时间,,电脑的网卡,生成的一段字符
    4 String uuid = UUID.randomUUID().toString();
    5 System.out.println(uuid);
  • 相关阅读:
    NOIP2011 D1T1 铺地毯
    NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
    POJ 2513 trie树+并查集判断无向图的欧拉路
    599. Minimum Index Sum of Two Lists
    594. Longest Harmonious Subsequence
    575. Distribute Candies
    554. Brick Wall
    535. Encode and Decode TinyURL(rand and srand)
    525. Contiguous Array
    500. Keyboard Row
  • 原文地址:https://www.cnblogs.com/javastudydoing/p/11602000.html
Copyright © 2011-2022 走看看