数据类型封装、小数运算问题、String类

简介: 封装数据类型(在java.lang包下):封装数据类型声明结构:(也可以单做数据类使用) byte Byte ;    short  Short;  int  Integer(长用类型 ) ; long  Long;     float  Float;   double    Double; char  Character; boolean Boolean; 封装数据类型:                       能通过类名调用的方法或属性都是静态的static封装数据类型,对基本数据类型的封装,封装数据类型是一个工具类。
封装数据类型(在java.lang包下):

封装数据类型声明结构:(也可以单做数据类使用)

byte Byte ;    short  Short;  int  Integer(长用类型 ) ; long  Long;     float  Float;   double    Double; char  Character; boolean Boolean;


封装数据类型:
                      能通过类名调用的方法或属性都是静态的static封装数据类型,对基本数据类型的封装,封装数据类型是一个工具类。

                      封装数据类型第一个字母是大写,封装一个类。

                      封装数据类型是一个类,他的占用内存比基本数据类型要打,封装完就是一个对象了。

                      也可以当基本数据类型来使用。


装箱拆箱:

               Integer i=100 转换成 Integer i=Integer.valueof(100)这种转换就叫做装箱 

               能直接通过类名调用的都是静态方法。

               基本数据类型按道理是不能接受封装数据类型的,因为封装数据类型他是一个操作类。

               int i=Integer.valueOf("100");

      基本数据类型之所以能接受是因为它调用封装中的一个转换int类型的方法,将它转换int类型,再赋值给基本数据类型。

              这就叫做拆箱,不会强制转换类型转换。

              基本数据类型是不能接受对象类型的,通过返回来接收,返回的值

     

public class T1 {
    public static void main(String[] args) {
        int i=Integer.parseInt("15");//将字符串转换成int型的十进制
        System.out.println(i);
    }
}


如何解决小数运算问题,有一个类可以解决:BigDecimal


import java.math.BigDecimal;

public class T1 {
    public static void main(String[] args) {
        BigDecimal bigDecimal = BigDecimal.valueOf(0.13);
        BigDecimal bigDecimal1 = BigDecimal.valueOf(5.0);
        BigDecimal bigDecimal2 = bigDecimal.add(bigDecimal1);//加法
        BigDecimal bigDecimal3 = bigDecimal1.subtract(bigDecimal);//减法
        BigDecimal bigDecimal4 = bigDecimal.multiply(bigDecimal1);//乘法
        BigDecimal bigDecimal5 = bigDecimal1.divide(bigDecimal, 3, 3);//除法有除不尽报错问题
        //这个是解决:divisor:除数,scale:标度,即保留几位
        //roundingMode:舍入模式,具体可以查看api有详细解释,大概有直接舍弃、直接进位、接近四舍五入等
        System.out.println(bigDecimal2);
        System.out.println(bigDecimal3);
        System.out.println(bigDecimal4);
        System.out.println(bigDecimal5);
    }
}

String类:

               String类是一个对象。

String类创建原理:

String s2=new String("abcd")

"abcd"、新创建的String对象。

只要带有“”引号都是字符串对象创建。

字符串类型有一个优化:字符串池,举例 如果字符串中例如有 “abc”下次在申请的话就会直接在字符串池中那但 如果不是 abc他就会从新创建对象。

字符串类型有个禁忌:字符串有一件事情不能做,那就是字符串不断的累加(因为字符串是对象,如果连续申请的话就是连续申请对象很浪费内存)

压缩:

         进制如果存储的数越大,显示的长度越长。

         压缩有压缩长度的作用。

         压缩就是将相同字节连接在一起,压缩文字。

         比如6个66字节就是6x66解压就是将66解压缩

         压缩视频就是质量压缩,压缩像素

目录
相关文章
|
6天前
|
JavaScript 前端开发 索引
JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型
【6月更文挑战第25天】JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型,而Object包括Array、Function等是引用类型。Objects可以包含键值对,Array是特殊的Object。Functions也是对象。`null`和`undefined`被视为特殊的原始值。
11 1
|
3天前
|
存储 Java API
Java基础之String类
Java的String类是引用类型,用于创建和操作字符串。字符串对象在`java.lang`包中,不可变。创建方式包括字面量和`new`关键字。字符串池存储字符串常量,避免重复。比较字符串用`equals()`(区分大小写)和`equalsIgnoreCase()`(不区分大小写)。`length()`返回长度,`concat()`或`+`拼接,`substring()`截取,`indexOf()`和`lastIndexOf()`查找,`replace()`替换,`split()`分割。这些是常用的字符串API。
7 0
|
3天前
|
Java
Java基础之String类
Java基础之String类
8 0
|
5天前
|
存储
MyString:string类的模拟实现
MyString:string类的模拟实现
|
5天前
string类重要接口(2):`+=`
string类重要接口(2):`+=`
|
5天前
string类:`reserve()`,`resize()`详解
string类:`reserve()`,`resize()`详解
|
5天前
|
存储 编译器 C语言
【C++航海王:追寻罗杰的编程之路】string类
【C++航海王:追寻罗杰的编程之路】string类
7 0
|
6天前
|
编译器 C语言 C++
【C++/STL】:string类底层的模拟实现
【C++/STL】:string类底层的模拟实现
12 0
|
6天前
|
算法 C++ 容器
【C++/STL】:string类的基本使用
【C++/STL】:string类的基本使用
10 0
|
6天前
|
编译器 C语言 C++
C++——string类的使用
C++——string类的使用
7 0