主要有两个方法:
Random r = new Random();
int i = r.nextInt(100); //[0,100)范围内的随机整数
double d = r.nextDouble();//[0.0,1.0)范围内的随机小数
enum和class、interface的地位一样。
枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。如下:
public enum SeasonEnum {
SPRING,SUMMER,FALL,WINTER;
}
枚举类内也可以定义属性和方法,可是是静态的和非静态的。如下:
package enumcase;
public enum SeasonEnum {
SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天");
private final String name;
private SeasonEnum(String name)
{
this.name = name;
}
public String getName() {
return name;
}
}
以上代码第一行写枚举类实例的时候,默认是调用了构造器的(自己写的有参构造函数),所以此处需要传入参数,因为没有显式申明无参构造器,只能调用有参数的构造器。上面代的码构造器需定义成私有的,这样就不能在别处申明此类的其他对象了,枚举的值就限定住了。
package enumcase;
public class SeasonTest {
public void judge(SeasonEnum s)
{
switch(s)
{
case SPRING:
System.out.println("春天适合踏青。");
break;
case SUMMER:
System.out.println("夏天要去游泳啦。");
break;
case FALL:
System.out.println("秋天一定要去旅游哦。");
break;
case WINTER:
System.out.println("冬天要是下雪就好啦。");
break;
}
}
public static void main(String[] args) {
SeasonEnum s = SeasonEnum.SPRING;
SeasonTest test = new SeasonTest();
test.judge(s);
}
}
String 类是不可改变的,一旦创建了 String 对象,那它的值就无法改变了,如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
输出格式化数字可以使用 printf() 和 format() 方法。String 类使用静态方法 format() 返回一个String 对象而不是 PrintStream 对象, format()方法能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。如下:
System.out.printf("浮点型变量的值为 " + "%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " + "is %s", floatVar, intVar, stringVar);
//也可写成如下
String fs;
fs = String.format("浮点型变量的值为 " + "%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " + " %s", floatVar, intVar, stringVar);
StringBuffer是线程安全的,StringBuilder 是速度快的。
public StringBuffer reverse()方法用于反转字符串。
创建一个当前时间的Data对象:Date d0 = new Date();
使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。如:Date d1 = new Date(2019-1900, 5-1, 26); (2019年5月26日)
获得年份:int year = d1.getYear() + 1900;
获得月份: int month = d1.getMonth() + 1;
获得日期: int date = d1.getDate();
Date d0 = new Date();
system.out.println(d0);可以打印当前时间,不过格式不太友好:sun may 11 09:34:32 CST 2019
利用SimpleDateFormat 类可以改变日期显示格式:
Date now = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(sdf1.format(now));//输出2019年05月26日 09时34分32秒
Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数,Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
compareTo方法:
Integer a = new Integer(2);
a.compareTo(1);//返回1
a.compareTo(2);//返回0
a.compareTo(3);//返回-1