包装类(自动拆箱与自动装箱)

概念:

基本数据类型有8种.基本数据类型效率高,但是功能及其有限,只能做加减乘除运算.为了对基本数据类型进行更多的操作,Java为每种基本数据类型提供了对应的类(包装类),

作用:

用于基本数据类型与字符串之间的转换
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一:用于基本数据类型与字符串之间的转换(”123″->123)

基本类型对应的包装类:

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
Integer类:

概念:

包装一个对象中的原始类型 int 的值

Integer类构造方法:

方法名说明
public Integer(int value)根据 int 值创建 Integer 对象(过时)
public Integer(String s)根据 String 值创建 Integer 对象(过时)
public static Integer valueOf(int i)返回表示指定的 int 值的 Integer 实例
public static Integer valueOf(String s)返回一个保存指定值的 Integer 对象 String
    public static void main(String[] args) {//public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例Integer i = Integer.valueOf(1998);System.out.println(i);//public static Integer valueOf(String s):返回一个保存指定值的Integer对象 StringInteger i2 = Integer.valueOf("1998");System.out.println(i2);}
自动拆箱和自动装箱:

自动装箱:

把基本数据类型转换为对应的包装类类型

自动拆箱:

把包装类类型转换为对应的基本数据类型

    public static void main(String[] args) {// 自动装箱  i = i + 200;  i + 200 自动拆箱把i转int进行计算;;i = 100 + 200;Integer i = 100;i += 200;System.out.println(i);int i2 = i;  //自动拆箱System.out.println(i2);Integer i3 = null;i3 += 200;System.out.println(i3); // 报错NullPointerException,为null可以转给Integer,但是无法转给int,所以报错}

NullPointerException:应用程序应抛出此类的实例以指示null对象的其他非法用法
总结:所以不管是不是Integer类型,只要是对象,在使用前就必须做非空判断

常用方法:

方法名说明
public static byte parseByte(String s)将字符串参数转换为对应的byte基本类型。
public static short parseShort(String s)将字符串参数转换为对应的short基本类型。
public static int parseInt(String s)将字符串参数转换为对应的int基本类型。
public static long parseLong(String s)将字符串参数转换为对应的long基本类型。
public static float parseFloat(String s)将字符串参数转换为对应的float基本类型。
public static double parseDouble(String s)将字符串参数转换为对应的double基本类型。
public static boolean parseBoolean(String s)将字符串参数转换为对应的boolean基本类型。
int和String类型的相互转换:

int转换为String:

  1. 直接在数字后加一个空字符串
  2. 通过String类静态方法valueOf()

String转换为int:

先将字符串数字转成Integer,再调用valueOf()方法
通过Integer静态方法parseInt()进行转换

代码演示:

    public static void main(String[] args) {int i1 = 100;String s = "100";// int转换为String  方法一:直接加双引号String s2 = i1 + "";System.out.println(s2);// int转换为String  方法二:通过String类静态方法valueOf()String s3 = String.valueOf(i1);System.out.println(s3);// String转换为int   通过Integer静态方法parseInt()进行转换int i2 = Integer.parseInt(s);System.out.println(i2);}

字符串数据排序:
需求:有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:27 38 46 50 91

    public static void main(String[] args) {// 定义字符串String s = "91 27 46 38 50";//把字符串中的数字数据存储到一个int类型的数组中String[] strArray = s.split(" ");//定义一个int数组,把 String[] 数组中的每一个元素存储到 int 数组中int[] arr = new int[strArray.length];for (int i = 0; i < arr.length; i++) {arr[i] = Integer.parseInt(strArray[i]);}//对 int 数组进行排序Arrays.sort(arr);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php scrscriptipt,XSS挑战之旅闯关笔记

环境自己搭建~~好嚣张&#xff1a;1.http://127.0.0.1:8024/xss/level1.php?nametest 这是URL 看到后面name有参数传递&#xff0c;不多想直接尝试xss。没有任何过滤。payload &#xff1a;http://127.0.0.1:8024/xss/level1.php?name2.http://127.0.0.1:8024/xss/level2.ph…

CentOS7 防火墙规则 (firewalld)

1、firewalld的基本使用启动&#xff1a; systemctl start firewalld查看状态&#xff1a; systemctl status firewalld 停止&#xff1a; systemctl disable firewalld禁用&#xff1a; systemctl stop firewalld2.systemctl是CentOS7的服务管理工具中主要的工具&#xff0c;它…

matlab图像信息熵交叉熵,【机器学习】信息量,信息熵,交叉熵,KL散度和互信息(信息增益)...

首先先强烈推荐一篇外文博客Visual Information Theory这个博客的博主colah是个著名的计算机知识科普达人&#xff0c;以前很是著名的那篇LSTM讲解的文章也是他写的。这篇文章详细讲解了信息论中许多基本概念的前因后果&#xff0c;并且很是的直观用了大量的图片&#xff0c;和…

第2章第1讲数据类型及常量变量

#include"stdio.h"main() {printf("I love music!\n");printf("the music is \"D:\\music\\love.mp3\".\n");} #include "stdio.h" #define PI 3.14 //符号常量 main() {float r,area; …

java嵌套对象,java – 从嵌套流中收集一组对象

我有一个场景,我有两个for循环,一个嵌套在另一个.在内部循环中,对于每次迭代,我都有创建特定类型的新实例所需的信息.我想将代码从for循环更改为使用流,因此我可以将所有对象收集到ImmutableSet中.但是,我无法制作一个编译和工作的版本.下面的示例程序说明了我最接近的尝试.它编…

v$session v$session_wait

(1)v$session v$session视图记录了当前连接到数据库的session信息 ColumnDescriptionSADDRsession addressSIDSession identifierSERIAL#session序列号&#xff0c;当某个session结束&#xff0c;另一个新开始的session使用了前者的sid&#xff0c;则此数值自加1AUDSIDauditing…

数据结构有哪些

概念&#xff1a; 数据结构 : 数据用什么样的方式组合在一起。 数据结构是计算机存储数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素集合 常见数据结构&#xff1a; 数据存储的常用结构有&#xff1a;栈、队列、数组、链表和红黑树。 栈&#xff1a; stack…

matlab自考本科真题,行政管理学自考专科试题及答案

参考答案如下检查髌腱炎患者时可以发现()。A、行政学自股四头肌萎缩B、渗出C、髌反射低下D、Mcmurray试验时有卡嗒声&#xff0f;疼痛患者&#xff0c;管理男&#xff0c;30岁&#xff0c;患甲状腺功能亢进症&#xff0c;突然出现双下肢不能动。检查&#xff1a;双下肢膝腱反射…

php 关于日期的知识总结

1.UNIX时间戳 time() echo time(); 2.UNIX时间戳转换为日期用函数&#xff1a; date() 一般形式&#xff1a;date(Y-m-d H:i:s, 1156219870); 即 echo date(date(Y-m-d H:i:s, time())); 或 $showtime date(Y-m-d H:i:s,time()); 显示结果&#xff1a; 3.日期转换为UNIX时间…

php template strring,PHP字符串函数

<?php $str "THIS is a beautiful world!";//$newstr strstr($str,"is"); //区分大小写的//stristr 表示 $str里面第一次出现"is"的位置和之后的字符串//$newstr stristr($str,"is"); //不区分大小写$newstr stristr($str,&…

Java Calendar 类的时间操作

Java Calendar 类时间操作&#xff0c;这也许是创建和管理日历最简单的一个方案&#xff0c;示范代码很简单。 演示了获取时间&#xff0c;日期时间的累加和累减&#xff0c;以及比较。 原文地址&#xff1a;blog.csdn.NET/joyous/article/details/9630893 注意事项&#xff1a…

Java的异常入门

概念&#xff1a; 异常就是程序出现了不正常的情况&#xff0c;会导致JVM非正常停止&#xff0c;语法错误不算异常体系中 异常体系&#xff1a; 编译时异常&运行时异常&#xff1a; 虚拟机默认处理方式&#xff1a; 代码中出现异常&#xff0c;程序会先判断有没有处理异常的…

php是不是面向对象编程,PHP面向对象编程入门

1、常用术语说明class 类object 对象new 实例化member 类成员method 方法&#xff0c;成员函数property 属性&#xff0c;成员变量constant 类常量2、类的构造class ClassName{ //class关键字加类名//类中只能有三种成员&#xff1a;属性、类常量、方法&#xff0c;不限数量//成…

Java——多线程使用详解

多线程&#xff1a; 多线程就是同时执行多个应用程序&#xff0c;需要硬件的支持同时执行&#xff1a;不是某个时间段同时&#xff0c;cpu切换的比较快&#xff0c;所有用户会感觉是在同时运行 并发与并行&#xff1a; 并行(parallel)&#xff1a;指在同一时刻&#xff0c;有多…

Java面向对象编程思想

面向对象三个特征&#xff1a;封装、继承、多态封装&#xff1a; 语法&#xff1a;属性私有化&#xff08;private&#xff09;、提供相对应的get/set 的方法进行访问(public)、 在set/get的方法中对属性的数据 做相对应的业务逻辑的判断 思想&#xff1a;封装外面的程序…

php边框的颜色 怎么设置,网页中table表格如何修改边框颜色

table表格是网页制作中以前较常使用的一种布局方式&#xff0c;但随着DIVCSS的兴起&#xff0c;table表格已辉煌不在。但它在我们制作网页中也是时有用到。table表格也可以使用DIV一样随意的设置它的边框颜色。下面介绍一下二种方法。方法一&#xff1a;使用CSS代码控制边框颜色…

看懂线程安全

目录&#xff1a; 线程安全线程同步同步代码块同步方法Lock锁线程状态图sleep睡眠等待和唤醒 1. 线程安全 如果有多个线程在同时运行&#xff0c;而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样 的&#xff0c;而且其他的变量的值也和预期的是…

oracle数据库生产,从安装系统到oracle数据库生产环境(centos6.8)搭建

大纲服务器安装JDK配置Oracle数据库安装配置1.安装服务器服务器的安装参考这篇教程关于安装中可能出现的几个问题&#xff0c;在这里进行解决&#xff1a;1、使用u盘安装完后&#xff0c;系统进入GRUB引导&#xff0c;无法启动&#xff1a;解决办法&#xff1a;出现上述状况的原…

WSDL4J解析WSDL文件方法

利用wsdl4j解析WSDL文件 工具&#xff1a;wsdl4j1.6 解析wsdl文件是axis1.4的服务wsdl文件 wsdl文件&#xff1a; <?xml version"1.0" encoding"UTF-8" ?>- <wsdl:definitions targetNamespace"http://localhost:8080/axis/services/SayH…

详解线程池

概念&#xff1a; 什么是线程池: 线程池是用来存储多线程的容器&#xff0c;是一种处理形式&#xff0c;处理过程中将任务添加到队列&#xff0c;然后在创建线程后自动启动这些任务。 线程池使用和不使用的区别&#xff1a; 因为系统创建线程池的成本很高&#xff0c;会涉及到…