第二十二节(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);

    }

}
时间: 2024-08-27 20:13:06

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

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

/* java.lang.String 是字符串类型 注意:只要采用双引号赋值字符串,那么在编译期将会放到方法区中的字符串的常量池里, 如果是运行时对字符串.加或相减会放到堆中(放之前会先验证方法区中是否含有 相同的字符串常量,如果存在,把地址返回,如果不存在,先将字符串常量放到池中,然 后再返回该对象的地址 */ public class StringTest01{ // java的入口 public static void main(String[] args){ // 创建一个“abc”字

Object,scanner,String,StringBuffer,Java中基本类型的包装类型等

一.Scanner类 Scanner类:简单文本扫描器1.键盘录入步骤:(1)需要创建键盘录入对象:Scanner 键盘录入对象=new Scanner(System.in):(2)导包:import java.util.Scanenr(快捷键:ctrl+shift+o):(3)接收数据:XXX 变量名= 键盘录入对象.nextXXX():(例如:int 变量名=键盘录入对象.nextInt():).2.构造方法public Scanner(InputStream source):以输入流形式录

关于Java基础知识 String StringBuffer StringBuilder三者的区别

Java基础中String StringBuffer StringBuilder 以下介绍 相同点:String,StringBuffer,StringBuilder最终底层存储与操作的都是char数组,StringBuffer和StringBuilder都继承了AbstractStringBuilder 不同点:String:char数组是final的,不可变,修改String时实际上是new一个新String对象返回,线程安全,频繁的增删操作时不建议使用 StringBuffer:线程安全(

第二十一篇 Java 数据类型的定义 ,以及基础类型的自动转换和强制转换

大家好,今天呢我吧我所学到的一些知识点共享给大家,希望大家看完之后,要是有什么不懂的,请随时联系我,要是觉得我写的不是很好的 ,还希望你们能够谅解一下,因为小弟我刚学会写博客也没多久,很多格式和方法都不是很完善,希望大家多多包涵,好了 废话就不多说了,来谈一下今天我所学到的一些知识点吧: 今天我主要是学到了一些Java中的数据类型,其中,Java中的数据类型分为俩类------基础数据类和逻辑数据类,下面我所介绍的都是基本数据类的一些分类,至于逻辑类,由于使用次数过少,所以今天就不再这里多做介绍

String/StringBuffer/StringBuilder基础

String类:特点: 1)字符串字面值"hello"可以看做一个字符串对象 2)字符串是常量,一旦被赋值,就不能被改变. 构造: public String() public String(byte[] bytes) public String(byte[] bytes,int index,int length):表示从该字节数组的offset索引处开始获取length个字节数结合成字符串 public String(char[] value) public String(char[

Scala入门到精通——第二十二节 高级类型 (一)

作者:摇摆少年梦 视频地址:http://www.xuetuwuyou.com/course/12 本节主要内容 this.type使用 类型投影 结构类型 复合类型 1. this.type使用 class Person{ private var name:String=null private var age:Int=0 def setName(name:String)={ this.name=name //返回对象本身 this } def setAge(age:Int)={ this.a

String stringbuffer StringBuilder

最近指导几位新人,学习了一下String,StringBuffer和StringBuilder类,从反馈的结果来看,总体感觉学习的深度不够,没有读出东西.其实,JDK的源码是越读越有味的.下面总结一下我读这些源码的收获吧.注意:虽然源码的版本是JDK6,但是个人觉得学习这个版本的源码对于理解数据结构非常有帮助,因为String就是一个数据结构,它是char []的封装,实现了很多对char []的操作 第一部分:String源码解析 (1)String实现了CharSequence接口,这个接口

【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面: // 定义一个名称为“variableName”,类型为"type"的变量 var variableName type 定义多个变量 // 定义三个类型都是“type”的变量 var vname1, vname2, vname3 type 定义变量并初始化值 // 初始化

TypeScript系列2-手册-基础类型

基础类型(Basic Types) 我们提供一些基础类型,比如数字(numbers).字符串(strings).结构(structures),布尔值(Boolean)等等.在TypeScript中,我们支持JavaScript中相同的类型,还提供枚举类型. Boolean 最基础的数据类型是true/false值,JavaScript和TypeScript以及其他语言把它叫做'boolean'类型. var isDone: boolean = false; Number 跟JavaScript一