问题
- 理解枚举类及其应用
- Java.lang包中常用类及其应用
- Java.util中常用的类及其应用
时间和日期
Java.lang
- 包装类
- Boolean
- Number
- double
- float
- long
- Integer
- short
- Byte
- Character
- Math:提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率)
String
- equals
- equalsIgnoreCase
- trim
- subString(a,b):截取字符串a从a开始到结尾,b结束截取String s2=”你想干嘛”;
System.out.println(s2.substring(2));//干嘛
System.out.println(s2);//你想干嘛
System.out.println(s2.substring(2,3));//干 - indexof:找到子字符串在当前字符串中的首字母索引,找不到返回-1
String s3=”1234567ab1234”;
System.out.println(s3.indexOf(“3”));
System.out.println(s3.indexOf(3));//用ascall码寻找
System.out.println(s3.indexOf(“2”,4));//第二个值表示从字符串里面什么位置开始索引
- lastindexof:找到子字符串在当前字符串中最后一次出现的位置String s4=”123321”;
System.out.println(s4.lastIndexOf(“2”));
结果为:4 - replace:替换指定字符
String s5=”a b c d “;
System.out.println(s5.replace(” “, “”));//abcd - split:按照指定的字符串进行分割并返回相应的字符串数组String s6=”a|b c de fg “;
String s7[]=s6.split(” “);
for (String string : s7) {
System.out.print(string+”\t”);
}结果:a|b c de fg
String Buffer:线程安全,占用空间小
- StringBuilder:线程不安全,运行速度快
- System
基本类型—>包装类(装箱:上转型)反过来叫拆箱(下转型)
Random
- import java.util.Random;
public class RandomWork1 {
public static void main(String[] args) {
System.out.println("*********第一题***********");
Random random=new Random();
double d=random.nextDouble()*10+1.0;
System.out.println(d);
System.out.println("\n*********第er题***********");
int n1=0;
for (int i = 0; i <10; i++) {
boolean bool=random.nextBoolean();
if (bool) {
n1++;
}
}
System.out.println("true占用的百分比为:"+n1/10.0);
System.out.println("false占用的百分比为:"+(1.0-n1/10.0));
System.out.println("\n*********第三题***********");
int n=random.nextInt(90)+10;
System.out.println(n);
}
}
Date(calender)
- import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class DateTest {
public static void main(String[] args) {
Date date =new Date();
String strDateFormat = “yyyy-MM-dd HH:mm:ss”;
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
System.out.println(sdf.format(date));
System.out.println(date.getYear());
SimpleDateFormat sdf1=new SimpleDateFormat(“yyyy年MM月dd日 HH时mm分ss秒 E”);
System.out.println(sdf1.format(date));
System.out.println("*********作业题***********");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyyMMddHHmmss");
Random random=new Random();
StringBuffer sb1= new StringBuffer();
for (int i = 0; i < 4; i++) {
sb1.append(String.valueOf(random.nextInt(10)));
}
StringBuffer sb2= new StringBuffer();
sb2.append("je");
sb2.append(sdf2.format(date));
sb2.append(sb1);
System.out.println(sb2);
}
}
- import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarTest {
public static void main(String[] args) {
// 调用静态方法来实例化
//用来产生静态对象的方法我们一般称为工厂方法
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);//从0开始
System.out.println(c.get(Calendar.DATE));//从0开始
System.out.println(c.get(Calendar.HOUR));//从0开始
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
System.out.println(c.get(Calendar.WEEK_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
SimpleDateFormat sf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");
//date与calendar的互转
Date date=new Date();
Date d1=c.getTime();
System.out.println(sf.format(d1));
c.setTime(date);
//日期的计算
//第一个参数:要加字段
//第二个参数:要加多少
Calendar c2=Calendar.getInstance();
c2.add(Calendar.DATE, 100);
System.out.println(c2);
//日期与字符串的互转
//date转string用simpleDateFormat
//String转date
Date date3=new Date("2017/8/9");
long date5=Date.parse("2017/8/9") ;
Date date4=new Date();
date4.setTime(date5);
// Calendar与String的互转
Calendar c3=Calendar.getInstance();
c3.set(2017, 8, 30);
System.out.println(“1、Calendar与String的互转”+c3);
System.out.println("**********练习题************");
c2.add(Calendar.DATE, 40);
Date date2=c2.getTime();
System.out.println(sf.format(date2));
int j=0;
for (int i = 1970; i <=2011; i++) {
if (i%4==0&&i%100!=0||i%400==0) {
j++;
}
读
}
System.out.println("1970年到2011年的瑞年数为:"+j);
}
}
枚举
- 通常用来代表某一类的值 让他更可public enum Week {
TUE,WED,THU,FRI,SAT,SUN, MON;
}