目录
Math包含执行基本数字运算的方法
没有构造方法,如何使用类中的成员呢?
看类的成员是否都是静态的,如果是,通过类名就可以直接调用

System包含几个有用的类字段和方法,他不能被实例化
常用方法:
示例:
package zyy06; public class Demo { public static void main(String[] args) { System.out.println("开始"); System.exit(0); System.out.println("结束"); } }
package zyy06; public class Demo { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); } }
Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或者间接的继承自该类
构造方法:public Object()
回想面向对象中,为什么说子类的构造方法默认访问的是父类的无参构造方法?
因为它们的顶级父类只有无参构造方法

如果有n个数据进行排序,总共需要比较n-1次
每一次比较完毕,下一次的比较就会少一个数据参与

- package zyy06;
-
- import java.util.Arrays;
-
- public class Demo {
- public static void main(String[] args) {
- int[] arr={2,1,3,5,4};
- System.out.println("排序前:"+ Arrays.toString(arr));
- Arrays.sort(arr);
- System.out.println("排序后:"+ Arrays.toString(arr));
- }
- }
| 基本数据类型 | byte | short | int | long | float | double | boolean | char |
|---|---|---|---|---|---|---|---|---|
| 二进制位数 | 8 | 16 | 32 | 64 | 32 | 64 | 1 | 16 |
| 包装类 | Byte | Short | Integer | Long | Float | Double | Boolean | Character |
基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换
1.int转换为String
public static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类中的方法
2. String 转换为int
publicstaticint parselnt(String s):将字符串解析为int类型。该方法是Integer类中的方法
- package zyy06;
-
- import java.util.Arrays;
-
- public class Demo {
- public static void main(String[] args) {
- //int---String
- int num=100;
- //方式1
- String s1=""+num;
- System.out.println(s1);
- //方式2
- String s2=String.valueOf(num);
- System.out.println(s2);
-
- //String---int
- //方式一String---Integer---int
- String s="100";
- Integer i= Integer.valueOf(s);
- int x=i.intValue();
- System.out.println(x);
- //方式二parseInt
- int y=Integer.parseInt(s);
- System.out.println(y);
- }
- }
装箱:把基本数据类型转换为对应的包装类类型
拆箱:把包装类类型转换为对应的基本数据类型
注意:在使用包装类类型的时候,如果做操作,最好先判断是否为null
我们推荐的是,只要是对象,在使用前就必须进行不为 null 的判断

- package zyy06;
-
- import java.util.Date;
-
- public class Demo {
- public static void main(String[] args) {
- //Date()
- Date d1=new Date();
- System.out.println(d1);
- //Date(long date)
- long date =1000*60*60;
- Date d2=new Date(date);
- System.out.println(d2);
- }
- }

- package zyy06;
-
- import java.util.Date;
-
- public class Demo {
- public static void main(String[] args) {
- Date d1=new Date();
- System.out.println(d1.getTime());
- System.out.println(d1.getTime()*1.0/1000/60/60/24/365+"年");
- }
- }
- package zyy06;
-
- import java.util.Date;
-
- public class Demo {
- public static void main(String[] args) {
- Date d1=new Date();
- long t=1000*60*60;
- d1.setTime(t);
- System.out.println(d1);
- }
- }
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。我们重点学习日期格式化和解析
日期和时间格式由日期和时间模式字符串指定,在日期和时间模式字符串中,从'A’到'Z’以及从'a'到'z’引号的字母被解释为表示日期或时间字符串的组件的模式字母
常用的模式字母及对应关系如下:
y---年
M---月
d---日
H---时
m---分
s---秒

1.格式化(从Date到String)
public final String format(Date date):将日期格式化成日期/时间字符串
2.解析(从String到Date)
public Date parse(String source):从给定字符串的开始解析文本以生成日期
- package zyy06;
-
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- public class Demo {
- public static void main(String[] args) throws ParseException {
- Date d1=new Date();
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
- String s=sdf.format(d1);
- System.out.println(s);
- //从String到Date
- String ss="2048-08-09 12:12:12";
- SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date dd=sdf1.parse(ss);
- System.out.println(dd);
-
- }
- }
Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar提供了一个类方法getlnstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化
Calendar rightNow=Calendar.getinstance()
- package zyy06;
-
- import java.util.Calendar;
-
- public class Demo {
- public static void main(String[] args) {
- //获取对象
- Calendar c=Calendar.getInstance();//多态的形式
- System.out.println(c);
- int y=c.get(Calendar.YEAR);
- int m=c.get(Calendar.MONTH)+1;//从0开始所以要加一
- int d=c.get(Calendar.DATE);
- System.out.println(y+"年"+m+"月"+d+"日");
- }
- }

- package zyy06;
-
- import java.util.Calendar;
-
- public class Demo {
- public static void main(String[] args) {
- //获取对象
- Calendar c=Calendar.getInstance();//多态的形式
- //10年后的五天前
- c.add(Calendar.YEAR,-10);
- c.add(Calendar.DATE,-5);
- int y=c.get(Calendar.YEAR);
- int m=c.get(Calendar.MONTH)+1;//从0开始所以要加一
- int d=c.get(Calendar.DATE);
- System.out.println(y+"年"+m+"月"+d+"日");
- }
- }
- package zyy06;
-
- import java.util.Calendar;
-
- public class Demo {
- public static void main(String[] args) {
- //获取对象
- Calendar c=Calendar.getInstance();//多态的形式
- //10年后的五天前
- c.set(2048,12,12);
- int y=c.get(Calendar.YEAR);
- int m=c.get(Calendar.MONTH)+1;//从0开始所以要加一
- int d=c.get(Calendar.DATE);
- System.out.println(y+"年"+m+"月"+d+"日");
- }
- }