Java第四天基础学习
1. Math 2. System 3. Object 4. Objects 5. BigDecimal 6. 包装类 7. Date 8. SimpleDateFormat 9. Calendar
Math
实现数学运算的工具类 常用方法: 1.int abs(int a ):绝对返回值 2.double ceil(doublr a):向上取整(天花板) 3.double floor(double a):向下取整(地板) 4.int round(float a):四舍五入 5.double pow(double a,double b);计算a的b次方法
package _01Math类;
public class Demo1 {
public static void main(String[] args) {
int num = Math.abs(-2);
System.out.println("num = " + num);
System.out.println( Math.abs(-3.14) );
System.out.println( Math.ceil(3.004) );
System.out.println( Math.ceil(3.499) );
System.out.println( Math.ceil(3.999) );
System.out.println( Math.floor(3.14) );
System.out.println( Math.floor(3.5001) );
System.out.println( Math.floor(3.9999) );
System.out.println( Math.round(3.14) );
System.out.println( Math.round(3.499) );
System.out.println( Math.round(3.501) );
System.out.println( Math.round(3.999) );
System.out.println( Math.pow(2,3) );
System.out.println( Math.pow(2,10) );
int max = Math.max(2, 5);
System.out.println("max = " + max);
}
}
System
代表当前系统的类 常用方法: 1.static void exit(int status)强制退出虚拟机 2.static long currentTimeMillis();获取系统时间(毫秒值) 3.arraycopy(原数组,拷贝的开始索引,新数组,放到新数组的开始索引,拷贝个数);拷贝数组
package _02System类;
public class Demo1 {
public static void main(String[] args) {
long start = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100000; i++) {
sb.append(i);
}
String s = sb.toString();
long end = System.currentTimeMillis();
System.out.println( end - start );
}
}
package _02System类;
import java.util.Arrays;
public class Demo2 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] newArr = new int[arr.length];
System.arraycopy(arr, 0, newArr, 0, arr.length);
System.out.println(Arrays.toString(newArr));
int[] arr2 = new int[10];
System.arraycopy(arr,1,arr2,3,3);
System.out.println(Arrays.toString(arr2));
}
}
Object
所有java类的根类。任何类都默认或者直接继承Object 常用方法: 1.toString 得到的是对象的地址值,格式为"类全名@16进制地址值"。 一般会重写toString方法,以便打印对象中的具体数据 2.equals 默认使用==比较两个对象的地址值 如果想要比较对象的内容,需要重写该方法
package _03Object类;
public class Demo1 {
public static void main(String[] args) {
Student s = new Student("张三",20);
System.out.println(s);
System.out.println(s.toString());
}
}
package _03Object类;
public class Demo2 {
public static void main(String[] args) {
Student s1 = new Student("柳岩" ,25);
Student s2 = new Student("柳岩" ,25);
System.out.println( s1.equals(s2) );
}
}
package _03Object类;
import java.util.Objects;
public class Student{
String name;
int age;
public Student(){}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || this.getClass() != o.getClass()) {
return false;
}
Student student = (Student) o;
return this.age == student.age &&
Objects.equals(this.name, student.name);
}
}
Objects
equals(对象1,对象2): 调用对象自身的equals方法,比较两个对象是否相同 好处:避免空指针异常
package _04Objects类;
import java.util.Objects;
public class Demo1 {
public static void main(String[] args) {
String s1 = null;
String s2 = null;
System.out.println(Objects.equals(s1, s2));
if(s1!=null) {
System.out.println(s1.equals(s2));
}
}
}
BigDecimal
创建对象: 构造方法创建对象:BigDecimal(String val) 静态方法创建对象:BigDecimal.valueOf(数据值) 常用方法: 相加:BigDecimal add(BigDecimal b) 相减:BigDecimal subtract(BigDecimal b) 相乘:BigDecimal multiply(BigDecimal b) 相除(能整除):BigDecimal divide(BigDecimal b) 相除(不能整除):public BigDecimal divide(另一个BigDecimal对象,保留位数,舍入模式) 舍入模式通常使用RoundingMode.HALF_UP,表示四舍五入
package _05BigDecimal类;
import java.math.BigDecimal;
public class Demo1 {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.1");
System.out.println( b1 );
double d = 0.1;
BigDecimal b2 = new BigDecimal(d+"");
System.out.println( b2 );
BigDecimal b3 = BigDecimal.valueOf(d);
System.out.println(b3);
}
}
package _05BigDecimal类;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Demo2 {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("10");
BigDecimal b2 = new BigDecimal("6");
BigDecimal result = b1.add(b2);
System.out.println(result);
System.out.println(b1.subtract(b2));
System.out.println(b2.subtract(b1));
System.out.println(b1.multiply(b2));
System.out.println(b1.divide(b2, 3, RoundingMode.HALF_UP));
}
}
包装类
基本类型的包装类: byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 基本类型转字符串: 利用包装类提供的toString方法 字符串转基本类型: 除了Character之外,其他包装类都有parseXxx(String s)的静态方法可以将字符串转为基本类型 Integer.parseInt(“5”); Double.parseDouble(“3.14”);
package _06包装类的应用_重点;
public class Demo1 {
public static void main(String[] args) {
}
}
package _06包装类的应用_重点;
public class Demo2 {
public static void main(String[] args) {
int a = 10;
String s = Integer.toString(a);
double d = 3.14;
String s1 = Double.toString(d);
String s2 = a + "";
String number = "10";
int num = Integer.parseInt(number);
System.out.println(num-5);
double v = Double.parseDouble("5.5");
System.out.println(v);
boolean b = Boolean.parseBoolean("true");
String str = "A";
char ch = str.charAt(0);
System.out.println( Byte.MAX_VALUE );
System.out.println( Byte.MIN_VALUE );
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
int i = 10;
Integer obj = new Integer(10);
}
}
自动
自动装箱,自动拆箱
package _07自动装箱和拆箱_了解;
public class Demo1 {
public static void main(String[] args) {
int i = 10;
Integer obj = i;
int ii = obj;
Double obj2 = 3.4;
double d = obj2;
}
}
package _07自动装箱和拆箱_了解;
public class Student {
double score1;
Double score2;
}
class Test{
public static void main(String[] args) {
Student s = new Student();
System.out.println(s.score1);
System.out.println(s.score2);
}
}
Date
获取当前系统时间: Date d = new Date(); 返回当前时间的毫秒值: getTime();
package _08Date类;
import java.util.Date;
public class Demo1 {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d);
long time = d.getTime();
System.out.println(time);
}
}
SimpleDateFormat
日期格式化(Date转String) formar(日期对象) 解析日期(String转Date): parse(字符串日期)
package _09日期格式化处理;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo1 {
public static void main(String[] args) {
SimpleDateFormat sf = new SimpleDateFormat();
Date d = new Date();
System.out.println(d);
String s = sf.format(d);
System.out.println(s);
}
}
package _09日期格式化处理;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo2 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
String s = sf.format(d);
System.out.println(s);
String sdate = "1949年10月1日";
SimpleDateFormat sf2 = new SimpleDateFormat("yyyy年MM月dd日");
Date dd = sf2.parse(sdate);
System.out.println(dd);
}
}
package _10日期转换练习_秒杀活动;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Demo1 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
long start = sf.parse("2020年11月11日 00:00:00").getTime();
long end = sf.parse("2020年11月11日 00:10:00").getTime();
long xiaoJia = sf.parse("2020年11月11日 0:03:47").getTime();
long xiaoPi = sf.parse("2020年11月11日 0:10:11").getTime();
if(xiaoJia>=start && xiaoJia<=end){
System.out.println("小贾秒杀成功");
}else {
System.out.println("小贾秒杀失败");
}
if(xiaoPi>=start && xiaoPi<=end){
System.out.println("小皮秒杀成功");
}else {
System.out.println("小皮秒杀失败");
}
}
}
Calendar
创建对象: Calendar.getInstance() 获取指定字段: get(字段名) 设置指定字段的值: set(字段名,字段值) 增加或减去字段的值: add(字段名,字段值)(增加) add(字段名,-字段值)(减去) 常见字段含义: 年:YEAR 月:MONTH(0-11表示1-12月) 日:DATE或者DAY_OF_MONTH 时:HOUR_OF_DAY(24小时) 分:MINUTE 秒:SECOND 周几:DAY_OF_WEEK(1-7表示周日-周六)
package _11Calendar类;
import java.util.Calendar;
import java.util.Date;
public class Demo1 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
System.out.println("year = " + year);
int month = c.get(Calendar.MONTH) + 1;
System.out.println("month = " + month);
int date = c.get(Calendar.DATE);
System.out.println("date = " + date);
int hour = c.get(Calendar.HOUR_OF_DAY);
System.out.println("hour = " + hour);
int minute = c.get(Calendar.MINUTE);
System.out.println("minute = " + minute);
int second = c.get(Calendar.SECOND);
System.out.println("second = " + second);
int week = c.get(Calendar.DAY_OF_WEEK)-1;
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.println(weeks[week]);
Date d = c.getTime();
System.out.println(d);
long mills = c.getTimeInMillis();
System.out.println(mills);
}
}
package _11Calendar类;
import java.util.Calendar;
public class Demo2 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(2008, 7,8);
int week = c.get(Calendar.DAY_OF_WEEK)-1;
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.println(weeks[week]);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE,-100);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
System.out.println(month+"月"+date+"日");
}
}
综合练习
package _12日期综合练习_年龄天数计算;
import java.util.Calendar;
public class Demo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(1995, 8, 9);
long birthday = c.getTimeInMillis();
long now = Calendar.getInstance().getTimeInMillis();
long days = (now - birthday) / 1000 / 60 / 60 / 24;
System.out.println(days);
}
}
总结!!!!!
package _13总结;
public class Demo {
public static void main(String[] args) {
}
}
思维导图: 
|