Day22

javaSE常用类

包装类

  • java是面向对象语言,但并不是纯面向对象的,因为我们经常用到的基本数据类型就不是对象,但是我们在实际应用中进程需要将基本数据转化为对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等
  • 为了解决这个不足,java在设计类是为每一个基本数据类型设计了一个对应的类进行代表,这样的八个和基本数据类型对应的列统称为包装类wrapper class
  • 包装类均位于java.lang包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ct8VQZ0d-1603023698980)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20201018183138807.png)]

package WrappedClass;

/**
 * @author java小白松
 */
public class Dome01 {
    public static void main(String[] args) {
        Integer a =new Integer(3);//基本数据类转化为包装类对象
        Integer b =Integer .valueOf(30);
        int c =b.intValue();//把包装类转化为基本数据类型
        double d = a.doubleValue();
        Integer e  = new Integer(999);// 把字符串转化为包装类
        Integer f = Integer .parseInt("9999");
         String str = f. toString();//把包装类转化为字符串
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(str);
        System.out.println(Integer.MAX_VALUE);
    }


}

自动拆箱和装箱
自动装箱
  • 基本类型的数据处于需要对象的环境中,会自动转为“对象”

​ 例如 在JDK1.5之前 Integer i =5 是错误的,必须要通过Integer i= new Integer(5)来转化;

自动拆箱
  • 每当需要一个值时,对象会自动转成基本数据类型,没有必要再去显示调用intValue(),doubleValue()等转型方法

Integeri= 5 ;int j =i;

总结

自动装箱过程是通过调用包赚类的valueOf()方法实现的,而自动拆箱过程是通过调用包装类的xxxValue方法实现的

package WrappedClass;

/**
 * @author java小白松
 */
public class Dome02 {
    public static void main(String[] args) {
        Integer a =10;//这个是等于下面这个的
         Integer b =Integer .valueOf(234);
         int c =a;
         Integer d= null;
         if(d!=null){
         int e= d;}
        System.out.println(b);
        System.out.println(a);
    }
}

String类和StringBuffer类

  • 这两都是对字符串进行操作的
  • java中定义了String 和Stringbuffer 类来封装字符串,并提供了一系列的操作字符串的方法,由于他们都位于java.lang包中,因此在使用的时候不需要导入包

String类的初始化

使用字符串常量直接初始化一个String对象

String 变量名="字符串";

在初始化字符串对象是,即可以将字符串对象的初始化值设为空,也可以初始化为一个具体的字符串。

String str1=null;
String str2="";
String str3="123";

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyT7RFvi-1603023698982)(C:\Users\黄松松\Desktop\图片\01.PNG)]

package String;

/**
 * @author java小白松
 */
public class Dome01 {
    public static void main(String[] args) {

        char [] a ={'n','a'};
        byte [] a1= { 97,43,98};
        String str="你好";
        System.out.println(str);
        String str1= new String("nihao");
        System.out.println(str1);
       String str2 =new String(a);
        System.out.println(str2);
        String str3 =new String(a1);
        System.out.println(str3);

    }
}
/**
  String类的初始化
*用String类声明一个对象直接对象进行字符串赋值 String str="你好";
 * 使用String类声明对象的,在引用的括号对对象进行字符串赋值
* 使用Char数组来进行,字符串的初始化
 * 使用byte数组来进行,字符串的初始化
 */

### StringBuffer类

  • String是final类型,使用String定义字符串是一个常量,因此他一旦创建,其内容和长度是不可以改变的,需要对一个字符串进行修改,则只能重新创建新的字符串。

  • 解决方法:可以使用StringBuffer类(也称为字符缓冲区)来操作字符串

  • StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符是所有操作的都是这个字符容器,因此并不产生新的StringBuffer对象

    package String;
    
    /**
     * @author java小白松
     */
    public class Dome02 {
        public static void main(String[] args) {
            StringBuffer str =new StringBuffer();
            StringBuffer str1 =new StringBuffer("nhaoa");
            str1.append("  shijie");//在字符串的末尾添加字符串
            str1.insert(2 ,"你好");//从指定的位置开始插入字符串
            str1.delete(2,4);// 该方法是从指定的开始到结尾 进行删除操作
            str1.replace(1,3 ,"数据");//替换字符串中的字符
            str1.toString();
            str1.reverse();//将字符串翻转,输出
            System.out.println(str1);
        }
    }
    
    

    Math类与Random类

    • Random类:在JDK的java.util包中,有一个Random类,它可以在指定的取值范围内随机产生数字
      r1.reverse();//将字符串翻转,输出
      System.out.println(str1);
      }
      }
    
    ### Math类与Random类
    
    - Random类:在JDK的java.util包中,有一个Random类,它可以在指定的取值范围内随机产生数字
    - e
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值