java从小白开始的练习(包装类)(代码片段)

韶光不负 韶光不负     2023-02-28     382

关键词:

此篇文章是对前面Java标题文章下的补充知识,目的是让Java文章更加的全面,让我们更加了解与认识Java的包装类!下面就和小编一起来看看包装类吧! 

目录

包装类

什么是包装类?

包装类(处理int与char类型变化比较大,其他都是首字母大写)

使用包装类

自动拆封装

自动装箱

自动拆箱

笔试题

原因:(从源码分析)


包装类

什么是包装类?

当我们需要对基本数据类型进行操作时,因为基本数据类型没有方法,不好操作,这就引用出来包装类,根据面向对象的思想“万物皆对象”,Java就对基本进行了封装,生成了对应的包装类。

包装类(处理int与char类型变化比较大,其他都是首字母大写)

基本数据类型——包装类
基本数据类型包装类
intInteger
charCharacter
byteByte
boolenBoolen
shortShort
longLong
floatFloat
doubleDouble

使用包装类

因为我们对基本数据类型进行了封装,让基本数据类型变成了引用数据类型,所以要使用对象的方式进行创建与使用。因为Integer的使用频繁,所以可以省略了new关键字。

package com.lsf_leetcode.test;



public class Solution 
    public static void main(String[] args) 
        //用对象的方式使用包装类
        //Integer num = new Integer(12);

        //integer包装类使用太频繁。因此Java进行改进可以省略new
        Integer num = 12;
        int hash = num.hashCode(); //使用.方法的形式对基本数据类型进行操作
        byte by = num.byteValue();  //转化为byte类型
        System.out.println("转化的哈希值: "+hash +"\\n" +"转化为byte值: "+by);
    

自动拆封装

自动装箱

从基本数据类型封装为引用数据类型的过程就叫自动装箱

package com.lsf_leetcode.test;

public class Solution 
    public static void main(String[] args) 
        //底层会把基本数据类型转变为引用数据类型,这个过程就叫自动装箱
        Long l = 22L;
        Character c = 'i';
        Integer num = 20; 
    

自动拆箱

从引用数据类型解封装为基本数据类型的过程就叫自动拆箱(复制小编代码会发现,出现黄色,不是报错,是建议你不要这样写!)

package com.lsf_leetcode.test;

public class Solution 
    public static void main(String[] args) 
        //底层会把引用数据类型转变为基本数据类型,这个过程就叫自动拆箱
        long l = new Long(20L);
        char c = new Character('c');
        int num = new Integer(20);
    

笔试题

package com.lsf_leetcode.test;

/**
 * 包装类笔试题
 */
public class Solution 
    public static void main(String[] args) 
        //一
        Integer n1 = 127;
        Integer n2 = 127;
        System.out.println(n1 == n2); //ture

                
        //二
        n1 = 128;
        n2 = 128;
        System.out.println(n1 == n2); //false

        
         //三
        n1 = new Integer(127);
        n2 = new Integer(127);
        System.out.println(n1 == n2); //false



    

原因:(从源码分析)

IntegerCache()就是Integer的缓存,上面源码就是在常量区中存储127~-128.(原因太常用,Java就在常量池中缓存了)。当Integer值在这个范围内时,就直接引用常量池中的地址,所以一返回的是ture,

当new时和大于127~-128范围时,就是在内存的堆内存中常见空间,引用的是堆内存中空间的地址,所以地址不同,返回false

java从小白开始的练习(六,面向对象,用户登录)(代码片段)

   定义一个Admin类,该类存在,username、password属性,实现一个控制台版的用户注册登录案例将注册的用户写在一个数组中。publicclassAdmin//用户名Stringuser;//密码doublepasswd;//构造函数(alt+insert:上传构造方法)publi... 查看详情

java从小白开始的练习(三,函数练习)(代码片段)

 求第n项斐波那契数列的值?(斐波那契数列:1123581321345589....)importjava.util.Scanner;publicclassTestpublicstaticvoidmain(String[]args)Scannersc=newScanner(System.in);System.out.println("请 查看详情

java从小白开始的练习(代码片段)

循环输入某同学S1结业考试的5门课成绩,并计算平均分importjava.util.Scanner;publicclassTestpublicstaticvoidmain(String[]args)Scannersc=newScanner(System.in);System.out.println("请输入一个语文成绩:");doublech 查看详情

java从小白开始的练习(四,数组)(代码片段)

请输入10位同学的java成绩,1、求平均成绩,最高成绩、最低成绩?2、对10的成绩按照从低到高的顺序排列 1,取平均值,最大值最小值。importjava.util.Scanner;publicclassTestpublicstaticvoidmain(String[]args)intarr[]=newint[10];Scan... 查看详情

java从小白开始的练习(五,面向对象)(代码片段)

下面这篇文章是面向对象为基础写的用户管理系统。希望小编的的这篇文章能够给你有帮助,废话不多说,让我们开始代码展示!打车系统的功能首先我们必须明白自己设计的系统具体要有什么功能?才能方便自... 查看详情

java从小白开始的练习(string构造器,内存分析与笔试题)(代码片段)

欢迎大家观看这篇文章,小编在此篇文章是补充小编此标题下String“字符串”内容的补充,同样也是对前面内容的回忆,想学习Java的小伙伴可以观看博主Java的标题的文章,好了废话不多说,下面进入学习时间... 查看详情

javainteger包装类装箱的一个细节(代码片段)

...个都有对应的一个包装类,比如int对应的Integer。从jdk1.5开始,java引入了自动拆装箱,可以直接进行形如Integeri=20形式的赋值,编译器会自动将其转换为Integeri=Integer.valueOf(20)进行装箱,拆箱则是将intj=i的形式转换成了intj=i.intValue(... 查看详情

arraylist详解(代码片段)

...gerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean其中从JDK1.7开始,在newArrayList<>()后的<>可保持为空基本类型转化至包装类型称为装箱,反之称为拆箱,从JDK1.5+开始支持自动装箱、拆箱importJava.util.*//......ArrayList<Integer>a... 查看详情

包装类(代码片段)

...的基本类型像对象一样操作,就可以使用基本类型对应的包装类。如下装箱与拆箱基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:由于我们经常要做基本类型与包装类之间的转换,从Ja... 查看详情

从零开始的java开发1-5-2包装类与基本数据类型常用api基本数据类型与包装类字符串之间的转换包装类的初始值与比较对象常量池(代码片段)

文章目录包装类与基本数据类型包装类常用方法基本数据类型与包装类之间的转换基本数据类型和字符串之间的转换包装类相关知识包装类的初始值包装类对象间的比较对象常量池总结包装类与基本数据类型Java的数据类型:... 查看详情

保姆级java入门练习教程,附代码讲解,小白零基础入门必备(建议收藏)(代码片段)

🌲本文收录于专栏《技术专家修炼》试用于学完「Java基础语法」后的巩固提高及「LeetCode刷题」前的小试牛刀。作者其它优质专栏推荐:📚《源码中的设计模式》——理论和实战的完美结合📚《leetcode300题》—... 查看详情

java进阶包装类(代码片段)

文章目录1包装类与基本数据类2包装类的常用方法3基本数据类型和包装类之间的转换4基本数据类型与字符串之间的转换5默认值6对象常量池1包装类与基本数据类基本类型对应的包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublec... 查看详情

java从小白开始(io流入门)(代码片段)

相信大家在许多的情况下都需要对电脑文件进行输入与输出,原因程序的结果一般存储在内存当中,当你没有保存到磁盘当中时,数据是无法进行持久化(长时间保存)的,所以使用I/O流就很重要了,... 查看详情

java语言学习总结扩展篇包装类的概念及其使用(代码片段)

包装类包装类的概述Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,... 查看详情

java包装类(代码片段)

一.什么是包装类    Java中的基本数据类型没有方法和属性,而包装类就是为了让这些拥有方法和属性,实现对象化交互。 数值型包装类都继承至Number,而字符型和布尔型继承至Object。二.基本数据和包装类之间的转换 ... 查看详情

java工具类—包装类(代码片段)

Java工具类——包装类我们都知道,JDK其实给我们提供了很多很多Java开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工具类,你会发现它能很大... 查看详情

java小白训练营2109-day03-数据结构:基本类型+包装类型+数组+对象(代码片段)

文章目录程序数据结构java中数据类型分类八种基本类型案例:数字100和200使用什么类型来存储字符常见的字符集包装类型怎么得到这些类型对应取值范围(整数、小数)在java中万物皆对象,包装类型都是对象Objec... 查看详情

java中的包装类(代码片段)

包装类一、什么是包装类在JAVA中,八大基础数据类型(int,float,double...)是不具备对象的特征的,比如基本数据类型就不能调用方法,功能简单,为了让基本数据类型也具备对象的特征,就有了JAVA包装... 查看详情