/*
获取当前的毫秒数
1S = 1000毫秒
*/
public class DateTest01{
public static void main(String[] args){
long now = System.currentTimeMillis();
System.out.println(now); // 1418662206661
}
}
//////////////////////////////////////////////////////////////////////////
/*
获取系统当前时间
*/
import java.util.Date;
import java.text.SimpleDateFormat;
public class DateTest02{
public static void main(String[] args){
// 获取系统当前时间
Date Date = new Date();
System.out.println(Date); // Tue Dec 16 00:52:48 CST 2014
// 引入”格式化“日期
// java.util.Date; -> String
/*
日期格式:
y 年
m 月
d 日
H 小时
m 分
s 秒
S 毫秒
*/
// 创建格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM月dd日 HH:mm:ss SSS");
String strTime = sdf.format(Date);
System.out.println("系统当前时间是:"+strTime);
}
}
/////////////////////////////////////////////////////////////////////
/*
日历
*/
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class DateTest03{
public static void main(String[] args) throws Exception{
// 获取系统当前日历
Calendar c = Calendar.getInstance();
// 查看当前日历的”星期几“
int i = c.get(Calendar.DAY_OF_WEEK);
System.out.println("今天是本周中的第:"+i+"天"); // 3(中国星期日,外国人看作是第1天)
System.out.println("今天是本月中的第:"+c.get(Calendar.DAY_OF_MONTH) +"天");
// 获取2013 11 11 是星期几
String t = "2013,11,11";
Date d = new SimpleDateFormat("yyyy,MM,dd").parse(t);
c.setTime(d);
// 获取星期几
System.out.println("2013,11,11 本周中的第:"+c.get(Calendar.DAY_OF_WEEK)+"天");
}
}
/*
java中的八种基本数据类型,对应的包装类
基本数据类型 包装类型
byte java.lang.Byte
short java.lang.short
int java.lang.Integer
long java.lang.Long
float java.lang.Float
double java.lang.Double
boolean java.lang.Boolean
char java.lang.Character
*/
public class IntegerTest01{
// 规定a1方法,可接收java中的任何一种数据类型
public static void a1(Object o){
System.out.println(o);
}
public static void main(String[] args){
// 基本数据类型
byte b = 10;
//引用类型
Byte a = new Byte(b);
a1(a); // 10 Byte已经将Object中的toString方法重写了
}
}
///////////////////////////////////////////////////////////////
/*
java.lang.Integer 讲八种类型
*/
public class IntegerTest02{
public static void main(String[] args){
// 获取int类型的最小值,最大值
System.out.println("int类型的最小值:"+Integer.MIN_VALUE );
System.out.println("int类型的最大值:"+Integer.MAX_VALUE );
System.out.println("byte类型的最小值:"+Byte.MIN_VALUE );
System.out.println("byte类型的最大值:"+Byte.MAX_VALUE );
// 创建Integer类型的对象
Integer i1 = new Integer(10); // int -> Integer
Integer i2 = new Integer("123"); // String -> Integer
System.out.println(i1);
System.out.println(i2);
}
}
///////////////////////////////////////////////////////////////////////
/*
Integer中的常用方法
*/
public class IntegerTest03{
public static void main(String[] args){
// int - > Integer
// 基本数据类型 -> 引用数据类型
Integer i1 = new Integer(10);
// Integer -> int
int i2 = i1.intValue();
System.out.println(i2 + 100);
// String -> int
int age = Integer.parseInt("18");
System.out.println(age + 20);
// 将int类型的十进制转换成2进制
String s1 = Integer.toBinaryString(6);
System.out.println("10的二进制为:" + s1);
// 将int类型的十进制转换成16进制
String s2 = Integer.toHexString(6);
System.out.println("6的十六进制为:" + s2);
// 将int类型的十进制转换成8进制
String s3 = Integer.toOctalString(6);
System.out.println("6的八进制为:" + s3);
// int -> Integer
Integer i3 = Integer.valueOf(10);
// String -> Integer
Integer i4 = Integer.valueOf("10");
System.out.println(i3);
System.out.println(i4);
// int -> Integer 装箱
Integer a = new Integer(10);
// Integer -> int 拆箱
int b = a.intValue();
Integer i5 = 10; // 自动装箱
int i6 = i5; // 自动拆箱
}
}
/*
生成随机数
*/
import java.util.Random;
public class RandomTest01{
public static void main(String[] args){
Random r = new Random();
// 生成int类型的随机数
int k = r.nextInt(101); // [0-100]之间的随机数
System.out.println(k);
for(int i = 0; i < 5; i++){
System.out.println(r.nextInt(101));
}
// 作业:生成5个不重复的随机数[1 - 5]
// 自己编写枚举的小例子
// 数字格式化
}
}
/*
java.lang.StringBuffer
java.lang.StringBuilder
1. StringBuffer 和 StringBuilder
是一个字符串的缓冲区
2. 工作原理
预先在内存中申请一块空间,以容纳字符序列
如果预留的空间不够用,则进行自动扩容,以容纳更多的字符序列
3. StringBuffer,StringBuilder 和 String 最大的区别
String 是不可变的字符序列,存储字符串常量池中
StringBuffer底层是一个char数组,但是该char数组是可变的。 并且可以自动扩容
用法同 StringBuffer, StringBuilder 和 StringBuffer 的区别是 StringBuffer
中所有的方法都是同步的,是线程安全的,但速度慢,StringBuilder 的速度快,
但不是线程安全
4. StringBuffer 和 StringBuilder 默认的初始化容量是 16
5. StringBuffer 和 StringBuilder区别
StringBuffer是线程安全的(在多线程环境下不会出现问题)
StringBuilder 非线程安全(在多线程环境下可能会出现问题)
*/
public class StringBufferTest01{
public static void main(String[] args){
// 创建字符串缓冲区对象
StringBuffer buffer = new StringBuffer(); // 16
String[] s = {"吃饭","睡觉","打豆豆"};
for(int i = 0; i < s.length; i++){
if(i == s.length - 1){
buffer.append(s[i]);
} else {
buffer.append(s[i]);
buffer.append(",");
}
}
System.out.println("buffer: " + buffer);
}
}