包和常用类

# 7.0 包和常用类

        7.1、常见的包

                 java.long  默认包  直接可以使用其内部的方法  不用导入

                 包含的常见类: String System Object

                         java.util,  java.sql, java.text, java.swing

                         java.awt, java.io, java.net

        7.2、包装类

                 基本数据类型

                 byte  boolean  short  double  float  long    char  int 

                 包装类(long) 包

                 Byte  Boolean  Short  Double  Float  Long  Character   Integer

/*
 *     基础数据类型和包装类的转换
 */
public class ChangeType {
    public static void main(String[] args) {
        String str1 = "22";
        String str2 = "99.4";

        int a = Integer.parseInt(str1);
        float b = Float.parseFloat(str2);

        String str3 = "" + a;
        String str4 = "" + b;
        String newStr = a + ' ' + b + ' ' + str3 + ' ' + str4;
        System.out.println(newStr);

        int a1 = 10;
        Integer a2 = new Integer(a1);
        Integer a3 = a1;    // 基本型数据 -> 引用型 自动装箱
        int c = a2;            // 引用型 -> 基本型数据 自动拆箱
        System.out.println(a3 + "  " + c);
    }
}


                 为什么保留八个基本数据类型:

                         基本型 只在栈中有一块内存

                         包装类 栈和堆中分别有一块内存, 或许有更多块内存

                         效率相较于基本数据类型较低

        7.3、日期类

public class TestDate {/** 日期类常用方法*/
    public static void main(String[] args) throws ParseException {
        Date now = new Date();
        now.getTime()                    // 输出从1970年开始到现在的毫秒数
        System.out.println(now);        // 输出当前日期
//                                                    年   月 日 时 分 秒 毫秒
//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd:HH.mm.ss.SS");
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        String str = df.format(now);
//        根据 SimpleDateFormat 的参数格式化 Date对象为字符串
        System.out.println(str);

        String dateStr = "2001-1-1";
        Date btd;

        btd = df.parse(dateStr);        // String 转换成 Date  参数 字符串
        System.out.println(btd);

        String str1 = df.format(btd);     // Date 转换成 String  参数 Date对象
        System.out.println(str1);

        // 日期计算
//         创建日期对象  通过调用 类.静态方法 创建
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(btd);    // 设置日期时间
        calendar.add(Calendar.DATE, 100);  // 向前(后)移动 count 年(月, 周, 日)
        Date newDate = calendar.getTime();    // 通过日期类的方法 返回值 Date 对象
        System.out.println(df.format(newDate));
    }
}

        7.4、字符串

            字符串创建

// 方法一
String str1 = new String("hello")

//在堆中创建内存 并将内存首地址返回给栈
// 方法二
String str1 = "hello";

/* 在字符串池中查找 是否有相同的字符串

   如果有 将已有字符串的内存首地址返回给栈

   如果没有 在字符串池中创建内存 并将内存首地址返回给栈
*/

             字符串拼接

StringBuffer sb = new StringBuffer("hello");// 变长字符串
sb.append("world");        // 扩充
System.out.println(sb.toString());  // 编程字符串输出

        7.10、杂项知识点

                 == 与 equals 的区别:

                         1- == 比较的是栈值,是否指向同一块内存。

                         2- equals比较的是指向的两块内存存储的数值是否相等。

                         // 为true, equals 一定为true;equals 为true, ==不一定为true。

                         3- 基本型比较使用==比较

                            引用型用 equals 方法比较

                 直接导入静态方法和静态属性(但是不推荐使用)            

import com.babymuu.Student.cLSName; // 导入静态属性
import com.babymuu.Student.sayHello; // 导入静态方法

public class test {
    // main函数中
    public static void main(String[] args) {
        // 属性可以直接赋值
        clsName = "hello";
        // 方法可以直接使用
        sayHello(); 
    }
}

                 StringBuffer 和 StringBuilder 的区别

                         StringBuffer 是线程安全的

                         StringBuilder 是线程非安全的 但缺少了上锁开锁的过程导致资源占用减少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值