1.toString方法

代码:
package com.daigua15;
public class ObjectDemo {
public static void main(String[] args) {
Student s = new Student("呆瓜", "男", 18);
System.out.println(s);
}
}
class Student {
private String name;
private String gender;
private int age;
public Student(String name, String gender, int age) {
super();
this.name = name;
this.gender = gender;
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", gender=" + gender + ", age=" + age + "]";
}
}
tips:
右键->source->Generate toString()

2.equals方法

代码:
package com.daigua15;
public class ObjectDemo2 {
public static void main(String[] args) {
Person p1 = new Person("呆瓜", 19);
Person p2 = new Person("呆瓜", 18);
System.out.println(p1);
System.out.println(p2);
System.out.println(p1.equals(p2));
}
}
class Person {
String name;
int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", hashCode()=" + hashCode() + ", getClass()=" + getClass()
+ ", toString()=" + super.toString() + "]";
}
}
tips:同上,可以右键source找到对应选项
3.System类
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :
从src源数组的srcPos索引开始,复制length个元素,从destPost位置开始将这些元素放至到dest数组中
static long currentTimeMillis()
返回以毫秒为单位的当前时间
static void exit(int status)
终止当前正在运行的 Java 虚拟机
static void gc()
运行垃圾回收器
package com.daigua15;
/*
* System:包含一些有用的类字段和方法。它不能被实例化
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* static long currentTimeMillis()
* static void exit(int status)
static void gc()
*
*/
public class ObjectDemo3 {
public static void main(String[] args) {
// method();
method2();
// method3();
// static void gc()
// Demo d = new Demo();
// new Demo();
// System.gc();
}
private static void method3() {
// static void exit(int status) :终止虚拟机
for (int i = 0; i < 100000; i++) {
System.out.println(i);
if (i == 100) {
System.exit(0);
}
}
}
private static void method2() {
/*
* static long currentTimeMillis() :以毫秒值返回当前系统时间 这个毫秒的时间是相对时间,相对于1970-1-1
* 00:00:00 : 0 1970-1-1 00:00:01 : 1000 1970-1-1 00:01:00: 1000 * 60 1970-1-1
* 01:00:00: 1000 * 60 * 60 1000毫秒 = 1秒
*
*/
System.out.println(System.currentTimeMillis());
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
System.out.print("");
}
long end = System.currentTimeMillis();
long delta = end - start;
System.out.println(end);
System.out.println("耗时:"+ delta + "毫秒");
}
private static void method() {
/*
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int
* length) 复制数组 参数1:源数组 参数2:源数组的起始索引位置 参数3:目标数组 参数4:目标数组的起始索引位置 参数5:指定接受的元素个数
*/
int[] src = { 1, 2, 3, 4, 5 };
int[] dest = new int[50];
System.arraycopy(src, 2, dest, 4, 3);
for (int i = 0; i < dest.length; i++) {
System.out.print(dest[i]);
}
}
}
class Demo {
@Override
protected void finalize() throws Throwable {
System.out.println("我被回收了");
}
}
4.Date类
4.1 构造方法
package com.daigua15;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
// 构造传递的是毫秒时间戳
Date d = new Date(1000*24*60*60);
System.out.println(d);
System.out.println(d.toLocaleString());
}
}
4.2 setTime和getTime
package com.daigua15;
import java.util.Date;
public class DateDemo2 {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d.getTime());
d.setTime(172800000L);
System.out.println(d.toLocaleString());
System.out.println(d.getTime());
}
}
5. SimpleDateFormat类
package com.daigua15;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
* SimpleDateFormat:
* 格式化:
* Date --- String
* 2049-8-26 2049年8月26日
* String format(Date date)
* 解析:
* String --- Date
* "2049-8-26"
* Date parse(String source)
*
* 构造方法:
* SimpleDateFormat() :使用默认的模式进行对象的构建
* SimpleDateFormat(String pattern) :使用的指定的模式进行对象的构建
*
* 注意:Exception in thread "main" java.text.ParseException: Unparseable date: "49年9月26日 下午1:29"
* 解析的字符串,模式必须和构建对象的模式一样
*
*/
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
method();
method2();
// 使用指定的模式进行对象的构建
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
// 格式化
Date date = new Date();
String s = sdf.format(date);
System.out.println(s);// 2049年08月26日 13:39:12
// 解析
Date d = sdf.parse("2049年08月26日 13:39:12");
System.out.println(d.toLocaleString());
}
private static void method2() throws ParseException {
// 使用指定的模式进行对象的构建
// 1999年9月1日
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
// 格式化
Date date = new Date();
String s = sdf.format(date);
System.out.println(s);// 2049年08月26日
// 解析
Date d = sdf.parse("2049年08月26日");
System.out.println(d.toLocaleString());
}
private static void method() throws ParseException {
// 使用默认模式进行对象的构建
SimpleDateFormat sdf = new SimpleDateFormat();
// 创建日期对象
Date date = new Date();
// 格式化 把日期对象转换成字符串
String s = sdf.format(date);
System.out.println(s);// 49-8-26 下午1:29
// 解析 把字符串转换成日期对象
// Date d = sdf.parse(s);
Date d = sdf.parse("192-1-8 下午6:09");
System.out.println(d.toLocaleString());
}
}
6.Calendar类
package com.daigua15;
import java.util.Calendar;
/*
* Calendar:日历,提供了一些操作年月日时的方法
*
* 获取
* 修改
* 添加
*
*
*/
public class CalendarDemo {
public static void main(String[] args) {
// static Calendar getInstance()
Calendar c = Calendar.getInstance();
// void set(int field, int value) :把指定的字段修改成指定的值
// c.set(Calendar.DAY_OF_MONTH, 20);
// void add(int field, int amount): 在指定的字段上加上指定的值
c.add(Calendar.DAY_OF_MONTH, -1);
// int get(int field) // 返回给定日历字段的值
// public static final int YEAR 1
// System.out.println(Calendar.YEAR);
// int year = c.get(1);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日");
}
}
7.包装类

7.1 基本使用
package com.daigua15;
/*
* 需求:判断一个数是否符合int类型的范围
* 由于基本数据类型只能做一些简单的操作和运算,所以Java为我们封装了基本数据类型,为每种基本数据类型提供了包装类
* 包装类就是封装了基本数据类型的类,为我们提供了更多复杂的方法和一些变量
*
* byte Byte
* short Short
* char Character
* int Integer
* long Long
* float Float
* double Double
* boolean Boolean
*
* Integer:
* String --- int
* 方式1:int intValue()
* 方式2: static int parseInt(String s)
* int --- String
* 方式1: + ""
* 方式2:String toString()
*
* 构造方法:
* Integer(int value)
* Integer(String s)
*/
public class IntegerDemo {
public static void main(String[] args) {
/*
* int n = 10; if(n >= Math.pow(-2, 31) && n <= Math.pow(2, 31) -1) {
* System.out.println("符合"); } else { System.out.println("不符合"); }
*/
Integer i = new Integer("10");
System.out.println(i);
int a = i.intValue();
System.out.println(a + 10);
int b = Integer.parseInt("20");
System.out.println(b + 30);
Integer i2 = new Integer(40);
String s = i2.toString();
System.out.println(s);
String s2 = Integer.toString(50);
System.out.println(s2);
}
}
7.2 自动装箱与拆箱
import java.util.ArrayList;
/*
* JDK1.5特性:自动装箱和拆箱
*
*/
public class IntegerDemo2 {
public static void main(String[] args) {
//Integer i = new Integer(10);
//自动装箱
//相当于: Integer i = new Integer(10);
//Integer i = 10;
//自动拆箱
//相当于 int a = i.intValue();
//Integer i = 10;
//int a = i;
Integer i = 10;
Integer i2 = 20;
Integer i3 = i + i2;
/*
* Integer i3 = new Integer(i.intValue() + i2.intValue());
*
*/
ArrayList list = new ArrayList();
list.add(1);//自动装箱,list.add(new Integer(1));
}
}
8.正则
/*
* 校验qq号码
* 要求必须是5-15位
* 0不能开头
* 必须都是数字
正则表达式:就是一套规则,可以用于匹配字符串
boolean matches(String regex) :判断当前字符串是否匹配指定的正则表达式,如果匹配则返回true,否则返回false
*
*
*/
public class RegexDemo {
public static void main(String[] args) {
String qq = "12a345";
/*boolean flag = checkQQ(qq);
System.out.println(flag);*/
boolean flag = qq.matches("[1-9][0-9]{4,14}");
System.out.println(flag);
}
public static boolean checkQQ(String qq) {
int length = qq.length();
//要求必须是5-15位
if(length < 5 || length > 15) {
return false;
}
//0不能开头
if(qq.startsWith("0")) {
return false;
}
//必须都是数字
for (int i = 0; i < length; i++) {
//得到参数的每一个字符
char c = qq.charAt(i);
if(c < '0' || c > '9') {
return false;
}
}
return true;//符合要求
}
}