zoukankan      html  css  js  c++  java
  • 第二十二节(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);
            
            
        }
        
    
    }
  • 相关阅读:
    第几天
    打印图形
    父类上的注解能被子类继承吗
    [LeetCode] 108. Convert Sorted Array to Binary Search Tree ☆(升序数组转换成一个平衡二叉树)
    探究高可用服务端架构的优秀资料索引
    无序数组的中位数
    [LeetCode] 113. Path Sum II ☆☆☆(二叉树所有路径和等于给定的数)
    [LeetCode] 112. Path Sum ☆(二叉树是否有一条路径的sum等于给定的数)
    翻转单词
    [LeetCode] 110. Balanced Binary Tree ☆(二叉树是否平衡)
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4232387.html
Copyright © 2011-2022 走看看