Java常用包
注意:学Java就必须知道怎么使用Java的JDK的API,因为里面有所有的函数调用。
Math的random函数:
public class TestMath {
public static void main(String[] args) {
//这是我演示Math.random()取0-9的随机数的方法
for (int i = 0; i < 10; i++) {
double d = Math.random();
int a = (int)(d * 10);
System.out.println(a);
}
}
}
Boolean类型的boolean类型字符串
public class Test {
public static void main(String[] args) {
Boolean boolean1 = new Boolean("true");
System.out.println(boolean1 == true);
//输出的结果为true
}
}
整形Integer的函数
public class Test {
public static void main(String[] args) {
int a = 10;
Integer b = 20; //这种定义方法也可以,不过有些编译器不支持这种定义方式。
Integer c = new Integer(20);
Integer d = new Integer("20");//将字符串数字转换为数字
int e = Integer.parseInt("20a");//虽然编译没有错,但是运行的时候会直接报错。
System.out.println(a + c);
System.out.println(a + d);
}
}
Long的函数
public class Test {
public static void main(String[] args) {
Long my = new Long(2000);
//这是将Long类型强行转为int类型
int ms = my.intValue();
System.out.println(ms);
//这是将int类型转换为字符串类型
String stu = ms + "";
System.out.println(stu + ms);//输出的结果为:20002000,这就代表转型成功
}
}
String的函数方法
public class Test {
public static void main(String[] args) {
String name = "yangfei";
String name1 = "yangfei yangwangwang";
//利用length()方法获取字符串的长度,字符串也有下标,下标从0开始
System.out.println(name.length());//输出结果为:7
//获取指定字符第一次出现的下标
int index = name1.indexOf("n");//输出结果为:2
System.out.println(index);
//获取指定字符最后一次出现的下标
int index1 = name1.lastIndexOf("w");//输出结果为:16
System.out.println(index1);
//字符串替换
String str = name1.replace('n','*');
System.out.println(str);//输出结果为:ya*gfei ya*gwa*gwa*g
//将字符串分割成字符串数组
String mystr = "床前明月光,疑是地上霜,举头望明月,低头思故乡";
String res[] = mystr.split(",");
for(String r : res) {
System.out.println(r);//输出结果为:
/* 床前明月光
* 疑是地上霜
* 举头望明月
* 低头思故乡
*/
}
//获取指定位置以后的z字符串
String res1 = mystr.substring(6);
System.out.println(res1);//输出结果为:疑是地上霜,举头望明月,低头思故乡
//后去指定区间的字符串,区间取值是左闭右开
String rs = mystr.substring(3, 12);
System.out.println(rs);//输出结果为:月光,疑是地上霜,
//将字符串中所有字母都变成小写
String neam = "ASDFsdasADA";
String mes = neam.toLowerCase();
System.out.println(mes);//输出结果为:asdfsdasada
//将字符串中所有字母都变成大写
String mas = neam.toUpperCase();
System.out.println(mas);//输出结果为:ASDFSDASADA
//去掉最前面和最后面的空格,无法取出中间的空格
String mean = " ASD Fs dasA DA ";
String rese = mean.trim();
System.out.println(rese);//ASD Fs dasA DA
//将字符串转换成byte数组
byte b[] = name.getBytes();
for (byte ms : b) {
System.out.print(ms + " ");//输出的结果为:121 97 110 103 102 101 105
}
//创建StringBuffer对象
StringBuffer buff = new StringBuffer("I am is body!\t");
//在原有的字符串后面追加新的字符串
buff = buff.append("No,You are girl!");
System.out.println(buff);//输出结果为:I am is body! No,You are girl!
//获取字符串指定的下标的字符
char c = buff.charAt(21);
System.out.println(c);//输出结果为:a
//删除指定位置的字符
buff = buff.deleteCharAt(21);
System.out.println(buff);//输出结果为:I am is body! No,You (这里的a被删除了)re girl!
//删除指定区间的字符,删除保持“左闭右开”原则。
buff = buff.delete(0, 5);
System.out.println(buff);//输出结果为:(这里的字符全部被删除了)is body! No,You re girl!
//在指定位置插入字符串
buff = buff.insert(0,"boos ");
System.out.println(buff);//输出结果为:boos is body! No,You re girl!
}
}
工厂模式和单例模式的不同写法
class Student {
private static Student stu;
private Student() {
}
public static Student newInstance() {
if (stu == null) {
stu = new Student();
}
return stu;
}
//定义一个静态方法,用户获取当前类的对象
}
public class Test {
public static void main(String[] args) {
//多例模式,也就是工厂模式
// Student student = new Student();
// Student student1 = new Student();
//单例模式
Student student = Student.newInstance();
Student student1 = Student.newInstance();
System.out.println(student);
System.out.println(student1);
}
}
Date的方法和函数
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String [] args) {
Date date = new Date();
System.out.println(date);
//创建SimpleDateFormat对象,对时间进行格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//效果为:2019-12-26 19:29:59
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
// 效果为:2019年12月26日 19时30分26秒
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//效果为:2019/12/26 19:30:51
String str = format.format(date);
System.out.println(str);
//将字符串转换成Date类型
String res = "2000-12-12 13:12:12";
Date date1 = null;
try {
date1 = format.parse(res);
}catch(ParseException e){
e.printStackTrace();
}
System.out.println(date1);
}
}
定义前一天的时间的方法
import java.util.Date;
import java.text.SimpleDateFormat;
public class TestDate {
public static void main(String [] args) {
Date date = new Date();
//获取当前时间的毫秒数
long time = date.getTime();
//一天的时间对应的毫秒数
long sub = 24*60*60*1000;
//昨天当前时间的对应的毫秒数
long sum = time - sub;
Date date2 = new Date(sum);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String res = format.format(date);
String rec = format.format(date2);
System.out.println(res);//输出为:2019-12-26 19:56:05
System.out.println(rec);//输出为:2019-12-25 19:56:05
}
}
sql包里面的Date方法
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Date;
/* util包中的Date与sql包中的Date、time、TimeStampd的区别于联系
* 1.util包中的Date可以表示年、月、日、时、分、秒
* 2.sql包中的Date只能表示年-月-日
* 3.sql包z中的Time对象只能表示时:分:秒
* 4.sql包中的Timestamp对象表示年-月-日时:分:秒.毫秒
*/
public class SqlDate {
public static void main(String[] args) {
Date date = new Date();
//获取当前时间的毫秒数
long time =date.getTime();
//sql包中的Date只能表示年-月-日
java.sql.Date date2 = new java.sql.Date(time);
System.out.println(date2);//输出为:2019-12-26
//sql包z中的Time对象只能表示时:分:秒
Time myTime =new Time(time);
System.out.println(myTime);//输出为:20:05:16
//sql包中的Timestamp对象表示年-月-日时:分:秒.毫秒
Timestamp stamp = new Timestamp(time);
System.out.println(stamp);//输出为:2019-12-26 20:06:46.417
}
}
总结:其实Java的方法很多,建议可以多去看看中文的JDK的API,这个真的很有帮助。