【沉浸式求职学习day20】【部分常用类分享,虽简单但干货】

今天去实习笔试了所以分享的会少一点

沉浸式求职学习

  • 枚举:Enum
  • Math
  • Random
  • String类(重点)

枚举:Enum

是一种有确定值区间的数据类型,本质上就是一个类,具有简洁,安全,方便等特点。
为什么要用枚举呢:描述某些对象属性时,该属性的值不能随便定义,必须在某个特定的区间内取值。出于对数据安全性的考虑,类似有特定取值范围的数据。
枚举指的是由一组常量组成的类型,只能从该区间取值
代码:

package UsefulClass;

public class Week {
    public static final int MON =1 ;
    public static final int TUE =2 ;
    public static final int WED =3 ;
    public static final int THU =4 ;
    public static final int FRI =5 ;
    public static final int SAT =6 ;
    public static final int SUN =7 ;

}

这样去列举有没有觉得很麻烦?
如果给你100个数据呢?
哈哈哈哈~
我们可以采用枚举Enum,如下所示:

package UsefulClass;

public enum Week1 {
    MON1,TUE1,WED1,THU1,FRI1,SAT1,SUN1;
}

package UsefulClass;

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

        System.out.println(Week1.MON1);
        System.out.println(Week1.MON1.ordinal());
    }

}

这样我就能输出枚举的名字以及值,这里的MON是0,大家可以在枚举类里重新定义哦~


Math

Math为开发者提供了一系列数学方法,同时还提供了两个静态常量E(自然对数的底数)和PI(圆周率)
这个我不多说,考的不多


Random

用来产生随机数的类,并且可以任意指定一个区间,在这个区间范围产生随机数
举个例子:

package UsefulClass;

import java.util.Random;

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


        Random random = new Random();
        // 生成订单编号(时间戳+随机数)
        for (int i = 1; i <= 10000; i++) {
            System.out.println("订单"+i+"的编号是:"+System.currentTimeMillis()+random.nextInt(100000)+100000);
        }


    }
}

一般我们用代码中的方式生成订单编号,因为这样出来的数据是肯定没有重复的,且可以无限大,currentTimeMIllis()是一个方法,调用的是从1970年1月1日到现在的时间的毫秒数,它一直在变。


String类(重点)

String类是重点,这里我只讲一部分,剩下的明晚讲。
JAVA通过String类来创建和操作字符串数据

  • String实例化
    1.直接赋值
    String str = “Hello world!”
    【沉浸式求职学习day20】【部分常用类分享,虽简单但干货】_第1张图片
    2.通过构造函数
    String str = new String(“hello!”)
    【沉浸式求职学习day20】【部分常用类分享,虽简单但干货】_第2张图片
    代码解释:
package UsefulClass;

public class TestString {
    public static void main(String[] args) {
      String str1 = "Hello";
      String str2 = "Hello";
       System.out.println(str1 == str2);
        String str3 = new String("Hello");
        String str4 = new String("Hello");
      System.out.println(str3 == str4);   
    }
}

你会发现一个结果是true 另一个是false,答案就在上两幅图中,==表示的是一个地址,而创建str1的时候,它会优先在string常量池中找“hello”,找不到就创建一个,然后把地址给了栈,当你创建第二个str2的时候,也是找hello,这次找到了之前创建的,它会直接把地址给str2,导致两个变量地址相同所以是true;而第二个结果是因为,new一个对象就会有不同的地址,所以是false。

ps: == 如果是基本数据类型判断的是值,如果是引用类型判断的是地址

你可能感兴趣的:(沉浸式求职学习,学习,java,算法)