Java初识//工具类

Java初识

**

工具类


前言

这个系列是根据B站UP主:刘二大人的“Java编程语言入门”的系列视频,将所讲的内容手打出来的( 类似课堂笔记 ),配合视频食用效果更佳。

PS:萌新第一次写博客,如发现了错误,请帮忙指出,万分感谢!最后,希望大家食用愉快,一起进步!


一、代码简介

包下有:Main

二、Package


##Main

代码如下:

package cn.edu.hebut.zr;

import java.util.StringJoiner;

//介绍在Java.lang里面的
public class Main {
    public static void main(String[] args) {
//一、拼接
        //1.String 拼接  StringBuilder
        StringBuilder sb = new StringBuilder();
        sb.append(23);
        sb.append(45);
        sb.insert(1,"abc");//结果是 2abc345
        //sb.insert(2,"abc");//结果是 23abc45


        sb.append("Mike").append(" ").append("Smith");
        //sb.append("")返回就是this,所以每一个调用的结果就是sb;
        //然后sb会继续进行下一个调用;
        //C里面的cout<<1<<2<<3;<<是cout.output(1);

        System.out.println(sb.toString());

        //2.拼接带分隔符 StringToiner
        int[] arr = new int[]{12,24,56,66};
        StringJoiner sj = new StringJoiner(",","[","]");
        for(int x:arr){
            sj.add(Integer.toString(x));//StringToiner 的 add只接受字符串
        }
        System.out.println();

//二、包装
        //1.基本数据类型 2.引用类型
        //所有的包装类创建后是不可变的
//        Integer n1 = new Integer("123");//会报错,已经弃用
//          Integer n1 = 123;//自动开箱(byte short int long float double) 基本数据类型
//        //把123放入Integer里面(boxing)
        int n2 = n1.intValue();//把n1的内容拿出来
//          int n2 = n1;//自动拆箱
        //unboxing 拆箱
//        System.out.println(n2);
        //看不懂找源码

        //下面是关于Integer.valueof()和Integer.parseInt()的区别的博客网址,感兴趣的可以具体看一下,写的非常详细:
        //https://blog.csdn.net/jdsjlzx/article/details/106352216?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165018724616780261972554%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165018724616780261972554&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-106352216.142^v9^pc_search_result_cache,157^v4^new_style&utm_term=valueof%E5%92%8Cparseint%E7%9A%84%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187
        //这里是博客里面的部分内容:

        /*1.Integer. valueOf()可以将基本类型int转换为包装类型Integer,或者将String转换成Integer,String如果为Null或“”都会报错。        *
        *
        * 2.我们可以在Integer类中找到这样的嵌套内部类IntegerCache,
        * 这个类就是在Integer类装入内存中时,会执行其内部类中静态代码块进行其初始化工作,
        * 做的主要工作就是把一字节的整型数据(-128-127)装包成Integer类并把其对应的引用存入到cache数组中,
        * 这样在方法区中开辟空间存放这些静态Integer变量,同时静态cache数组也存放在这里,供线程享用,这也称静态缓存。
        * 所以当用Integer 声明初始化变量时,会先判断所赋值的大小是否在-128到127之间,
        * 若在,则利用静态缓存中的空间并且返回对应cache数组中对应引用,存放到运行栈中,而不再重新开辟内存。
        *
        * 3.Integer.valueOf("")和Integer.parseInt("")内部实现是一样的,
        * 它们之间唯一的区别就是Integer.valueOf(“”)返回的是一个Integer对象,而Integer.parseInt(“”)返回的是一个基本类型的int。
        *
        * 4.我们可以看到,Integer.valueOf("")会用到IntegerCache对象,当IntegerCache中存在时就从cache中取,
        * 不存在时才会调用new Integer(i)构造函数返回一个Integer对象。所以Integer.valueOf("")会用到cache,
        * 其效率可能会比用构造函数new Integer(i)高。
        * 关于IntegerCache,在-127~128之间的值都会被cache,所以当我们要的值位于这个区间时返回的都是同一个实例,
        * */


//三、
        //Math  在所有平台计算结果可能不同(浮点数运算的极端误差等)
        //StrictMath  一样的
        //如果舍入误差并不需要非常精确的时候,可以用Math;
        //使用Math的话,它会根据不同平台进行优化,提高计算性能
        //如果需要所有平台计算结果一致的时候,可以用StrickMath;

//四、
        //Random 伪随机序列
        //用加和乘 进行【0,1)的变化

        //写安全领域的方法,用SecureRandom,Random来源更丰富

    }
}


总结

Hall of Fame

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值