1.Math
public class MathDemo {
public static void main(String[] args) {
// Math.random() 输出[0-1)的随机数,前闭后开
System.out.println(Math.random());
// 输出1-100之间的整数
System.out.println((int)((Math.random())*100) + 1);
}
}
2.System
2.1 System类的概述
System包含几个有用的类字段和方法,不能被实例化
2.2 System 类常用方法
public class SystemDemo {
public static void main(String[] args) {
System.out.println("start");
System.exit(0);
System.out.println("end");
}
}
输出结果:
start
3. Object
3.1 object类的概述
3.2 Object类的toString()方法
看方法的源码,选中方法,按下Ctrl+B
建议都重写此方法
public class Student {
public String name;
public int age;
public String getName() {
return name;
}
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public class ObjectDemo {
public static void main(String[] args) {
Student student = new Student();
student.setAge(20);
student.setName("alisa");
System.out.println(student);
System.out.println(student.toString());
}
}
输出结果:
Student{name='alisa', age=20}
Student{name='alisa', age=20}
3.2 Object类的equals()方法
package learn;
public class Student {
public String name;
public int age;
public String getName() {
return name;
}
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
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 instanceof Student)) return false;
Student student = (Student) o;
if (age != student.age) return false;
return name != null ? name.equals(student.name) : student.name == null;
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + age;
return result;
}
}
public class ObjectDemo {
public static void main(String[] args) {
Student student1 = new Student();
student1.setAge(20);
student1.setName("alisa");
Student student2 = new Student();
student2.setAge(20);
student2.setName("alisa");
System.out.println(student1 == student2);
System.out.println(student1.equals(student2));
}
}
输出结果:
false
true
4.Arrays
4.1 冒泡排序
排序:将一组数据按照固定的规则进行排列
冒泡排序:一种排序的方式,对要进行排序的数据两两相邻进行比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有的数据按要求进行排序
如果有n个数据进行排序,总共需要比较n-1次
每一次比较完毕,下一次比较的数据就会少一个参与
public class SortTest {
public static void main(String[] args) {
/* 如果有n个数据进行排序,总共需要比较n-1次
每一次比较完毕,下一次比较的数据就会少一个参与*/
int a[] = {6, 20, 3, 8, 1};
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < a.length - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println(arrayPrint(a));
}
public static String arrayPrint(int[] arr) {
StringBuffer sb = new StringBuffer();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
sb.append("]");
} else {
sb.append(arr[i]).append(",");
}
}
return sb.toString();
}
}
输出结果:
[1,3,6,8,20]
4.2 Arrays 类的概述和常用方法
public class ArraysDemo {
public static void main(String[] args) {
int a[] = {6, 20, 3, 8, 1};
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}
输出结果:
[6, 20, 3, 8, 1]
[1, 3, 6, 8, 20]
5. 基本类型包装类
5.1 基本类型包装类概述
5.2 Integer 类的概述和使用
5.3 int 和String的相互转换
具体代码如下:
import java.util.Arrays;
public class IntegerTest {
public static void main(String[] args) {
String s = "20 44 2 4 66";
String[] ss = s.split(" ");
int[] arr = new int[ss.length];
for(int i=0;i< ss.length;i++){
arr[i] = Integer.parseInt(ss[i]);
}
Arrays.sort(arr);
System.out.println(arrayPrint(arr));
}
public static String arrayPrint(int[] arr) {
StringBuffer sb = new StringBuffer();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
sb.append("]");
} else {
sb.append(arr[i]).append(",");
}
}
return sb.toString();
}
}
5.4 自动装箱和拆箱
6. 日期类
6.1 Date 类概述和构造方法
6.2 Date 类的常用方法
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d.getTime());
//long time = System.currentTimeMillis();
long time =1515650841079L;
d.setTime(time);
System.out.println(d);
}
}
输出结果:
1585651110785
Thu Jan 11 14:07:21 CST 2018
6.3 SimpleDateFormat 类概述
6.4 SimpleDateFormat 的构造方法
6.5 SimpleDateFormat 格式化和解析日期
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) throws ParseException {
// 格式化:从Date到String
Date d = new Date();
//SimpleDateFormat sdf = new SimpleDateFormat();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);
// 格式化:从String到 Date
String ss = "2020-03-31 18:49:19";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf1.parse(ss);
System.out.println(date);
}
}
输出结果:
2020-03-31 18:53:55
Tue Mar 31 18:49:19 CST 2020
6.6 Calendar 类概述
6.7 Calendar 的常用方法
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//System.out.println(c);
// public int get (int field)
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;//月从0开始,当期月份必须要加1
int date = c.get(Calendar.DATE);
System.out.println(year +"年"+month+"月"+date+"日");
c.add(Calendar.YEAR,1);
System.out.println(c.get(Calendar.YEAR) +"年"+month+"月"+date+"日");
c.set(2028,10,11);
System.out.println(c.get(Calendar.YEAR)+"年"+c.get(Calendar.MONTH)+"月"+c.get(Calendar.DATE)+"日");
}
}
输出结果:
2020年3月31日
2021年3月31日
2028年10月11日
具体代码如下:
import java.util.Calendar;
import java.util.Scanner;
public class CalendarDemo {
public static void main(String[] args) {
System.out.println("请输入年份");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
isLeap(year);
}
public static void isLeap(int year){
Calendar c = Calendar.getInstance();
c.set(year,2,1);
c.add(Calendar.DATE,-1);
System.out.println(year +"年的2月份有"+c.get(Calendar.DATE)+"天");
}
}