第二十二节(String,StringBuffer,基础类型对应的 8 个包装类,日期相关类、 Random 数字 ,Enum枚举)上

/*
    获取当前的毫秒数
    
    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);
        
        
    }
    

}

 

posted @ 2015-01-18 21:39  哥的笑百度不到  阅读(208)  评论(0编辑  收藏  举报