【JAVA】包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。包装类均位于java.lang包。
Integer类常用的方法
/**
*Integer转换成int
*/
int k = i.intValue(); //Integer转换成int
Integer kk = Integer.valueOf(k); //int转换成Integer
System.out.println(k);
System.out.println(kk);
/**
*字符串转换成int类型
*/
k = Integer.parseInt("13"); //字符串转换成int类型
System.out.println(k);
/**
*radix进制的字符串转换
*/
k = Integer.parseInt("110", 2); //radix进制的字符串转换成int
System.out.println(k);
Integer类内部的常用方法
parseInt方法
.
public static int parseInt(String s)
.
该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:
.
String s = “123”;
.
int n = Integer.parseInt(s);
.
则int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。(说明:异常的概念将在下一章进行讲述)
.
另外一个parseInt方法:
.
public static int parseInt(String s, int radix)
.
则实现将字符串按照参数radix指定的进制转换为int,使用示例如下:
.
//将字符串”120”按照十进制转换为int,则结果为120
.
int n = Integer.parseInt(“120”,10);
.
//将字符串”12”按照十六进制转换为int,则结果为18
.
int n = Integer.parseInt(“12”,16);
.
//将字符串”ff”按照十六进制转换为int,则结果为255
.
int n = Integer.parseInt(“ff”,16);
.
这样可以实现更灵活的转换。
.
b、toString方法
.
public static String toString(int i)
.
该方法的作用是将int类型转换为对应的String类型。
.
使用示例代码如下:
.
int m = 1000;
.
String s = Integer.toString(m);
.
则字符串s的值是”1000”。
.
另外一个toString方法则实现将int值转换为特定进制的字符串:
.
public static int parseInt(String s, int radix)
.
使用示例代码如下:
.
int m = 20;
.
String s = Integer.toString(m);
.
则字符串s的值是”14”。
.
其实,JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。
例如:
import java.util.Scanner;
public class 包装类 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
//20 30
String str = s.nextLine();
//将字符串达打散
String[] nums = str.split(" ");
//双引号里是写分隔符的
//将字符串转换成整型,但缺点是只能干一件事。
//所以这里就引出了包装类。
//可以在包装类里面写各种方法。实现多种功能。
//而包装类里面用的最多的是静态方法。
//int a = 20;
//转换之后的值保存起来,保存成int型。
int a = Integer.parseInt(nums[0]) + Integer.parseInt(nums[1]);
System.out.println(a);
//输出最大值常量
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
//装箱、拆箱
//int aa=23;
Integer aaa = 23;
//Integer aaa=new Integer(23);
//int bb=223;
Integer bbb = 23;
//aa=aa+bb;
//Integer bbb=new Integer(223);
int cc = aaa.intValue() + bbb.intValue();
//在jdk 5之前,调用对象将整数值提取出来。
//而现在,aaa和bbb是该对象的引用,保存的是地址。
//通过intValue()方法提取出来。
cc = aaa + bbb;
System.out.println(cc);
//两个对象本来是不能加起来的,
//但是通过二者的toString方法进行相加。
//虚拟机帮我们new了一个对象,
//然后将地址保存起来,所以aaa和bbb保存的是地址。
//当我们需要用的时候,我们将其调用出来,
//即相加的是整数值,这就是装箱和拆箱。
}
}
相关文章
- Java实现 LeetCode 572 另一个树的子树(遍历树)
- Java实现 LeetCode 212 单词搜索 II(二)
- java实现亲密数
- Java中构造方法的详细介绍
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- 【JAVA】java中的length和length()
- 【JAVA】 01-Java基础知识
- 【JAVA】MacBook安装Java环境及eclipse
- 【刷题】java-Integer和int的区别 & 包装类
- 【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
- How to improve Java's I/O performance( 提升 java i/o 性能)
- 已解决:module java.base does not “opens java.lang“ to module
- 【java】Java 包(package)
- 蓝桥杯2019省赛——最大降雨量(Java)
- [Java 8 HashMap 详解系列]4.HashMap 的 get() 方法执行原理
- 每天一点点java---继承exception类来实现自己的异常类
- 【java】Java 多态
- 【java】Java线程池实现原理及业务中的实践