将基本数据类型(8种:int..)封装成对象的优点就是能够在对象中封装很多其它的功能和方法来操控该数据

常见的操作就是:用于基本数据类型与字符串之间的转换

基本数据类型对象包装类一般用于基本类型和字符串之间的转换

基本类型----->字符串

1.基本类型数值+""

2.用string类中的valueOf(基本类型数值)

3.用Integer.ValueOf();

字符串-->基本类型数值

1.使用包装类中的静态方法XXX  parseXXX("XXXX")比方:int parseInt("123")/boolean parseBoolean("true"),可是Character没有parse。多余

2.假设字符串被Integer进行对象的封装

可使用非静态的方法intValue()

将一个Integer对象转成基本类型数值

(先将字符串封装成对象,然后再用XXXValue转换)


public class Main {
public static void main(String[] args)
{ /*
* 基本数据类型包装类
* 为了方便基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作
* 用于描写叙述该对象的类就是基本数据类型包装类
*
* byte Byte
* short Shrot
* int Integer
* long Long
* double Double
* char Character
* boolean Boolean
*
*/ int num;
System.out.println(Integer.MAX_VALUE);//int的最大值 2147483647 System.out.println( Integer.toBinaryString(6));//转换成二进制
Integer x = new Integer("4");
//System.out.println(x);
int xx = Integer.parseInt("1234");//将字符串转化为int。且parseInt方法是静态的
System.out.println(xx);
if(Boolean.parseBoolean("true"))
{
Integer xInteger = new Integer("123");
<span style="white-space:pre"> </span>System.out.println(xInteger.intValue());//将"123"转化为int } }

进制转换


public class Main {
public static void main(String[] args)
{
/*十进制 -> 其它进制*/
System.out.println(Integer.toBinaryString(6));//二进制
System.out.println(Integer.toOctalString(10));//八进制
System.out.println(Integer.toHexString(20));//十六进制
System.out.println(Integer.toString(50, 4));//把50以 四进制 的表现 /*其它进制 -> 十进制*/ System.out.println(Integer.parseInt("110",2));//将110视为二进制的表现形式。并将其转换为十进制
System.out.println(Integer.parseInt("3C",16));
} }

自己主动装箱拆箱

public class Main {
public static void main(String[] args)
{
Integer a = new Integer("3");
Integer b = new Integer(3);
System.out.println(a == b);//两个new地址肯定不一样
System.out.println(a.equals(b));//equals比較的是内容 System.out.println(a.compareTo(b)); int num = 5;
num++;
Integer xInteger = 5;//xInteger = new Integer(5)->自己主动装箱
xInteger++;//XInteger = XInteger + 1 实际操作 xInteger = new Integer(xInteger.intValue()+1)
//注意异常 //JDK1.5以后,自己主动装箱,假设装箱是一个字节,那么该数据会被共享,不会又一次开辟空间
Integer x = 128;
Integer y = 128;
System.out.println(x == y);//也就是128曾经true,128及128以后是false
System.out.println(x.equals(y));//true
}
}

关于自己主动装箱与拆箱:基本数据类型值赋值给了引用数据类型值才装箱,和基本数据类型做运算时才拆箱。

练习:

import java.util.Arrays;

/*
* 对一个字符串中的数值进行从小到大的排序
* "123 2 5 652 7 -3 4 456 456 12 489"
*/
public class Main {
private static final String SPS_SIGAL = " ";//ctrl+shift+X小写变大写,大写变小写+Y public static void main(String[] args) {
String str = "123 2 5 652 7 -3 4 456 456 12 489"; String[] arr = StringToArray(str); int aa[] = StringToInt(arr); sort(aa); StringBuilder string = IntToString(aa); show(string); } public static StringBuilder IntToString(int[] arr) {
StringBuilder SB = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1)
SB.append(arr[i]);
else
SB.append(arr[i] + ",");
}
return SB;
} public static int[] StringToInt(String[] arr) {
int aa[] = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
aa[i] = Integer.parseInt(arr[i]);
}
return aa;
} public static String[] StringToArray(String str) {
String[] arr = str.split(SPS_SIGAL);
return arr;
} public static void sort(int[] arr) {
Arrays.sort(arr);// Arrays类中提供了排序方法
/*
* for(int i = 0;i<arr.length-1;i++) { for(int j =
* 0;j<arr.length-1-i;j++) { if(arr[j] > arr[j+1]) swap(arr,j,j+1); } }
*/
} public static void swap(int[] arr, int i, int j) {
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
} public static void show(StringBuilder string) {
System.out.println(string);
}
}



JAVA学习第三十二课(经常使用对象API)- 基本数据类型对象包装类的更多相关文章

  1. JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点

    整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有 ...

  2. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

  3. JAVA学习第六十二课 — TCP协议练习

    通过练习掌握TCP在进行传输过程中的问题 练习1:创建一个英文大写转换server client输入字母数据,发送给服务端,服务端收到后显示到控制台,并将该数据转成大写返回client,知道clien ...

  4. JAVA学习第五十二课 — IO流(六)File对象

    File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo( ...

  5. “全栈2019”Java多线程第三十二章:显式锁Lock等待唤醒机制详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. 风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解

    风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解 越权漏洞 0x01 漏洞介绍 越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响 ...

  8. 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击

    风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...

  9. 风炫安全web安全学习第三十节课 命令执行&代码执行基础

    风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...

随机推荐

  1. 掌握11项技能,你就是优秀的前端开发project师

    导读: 你或许会认为前端开发是一个非常easy的工作,对呀,你就是刚刚从网页设计转型过来的.但当你深入当中时,一定会发现好像前端开发不是那么简单,光站点性能优化.响应式.框架就让你焦头烂额, 确实,做 ...

  2. 【layer】关于layer打开就是最大化的使用

    使用layer时候 想在弹出层 在打开的时候默认就是最大值 perContent = layer.open({ type:2, title: userName+nowDate+"的" ...

  3. setsockopt()用法(参数详细说明)

    int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); s(套接字): 指向一个打开的套接口描述字l ...

  4. [Android Pro] Android系统手机端抓包方法 和 通过File查看应用程序流量

    adb shellcat proc/uid_stat/%uid%/tcp_snd  proc/uid_stat/%uid%/tcp_rcv ------------------------------ ...

  5. 用C语言实现面向对象的开发

    C语言的对象化模型 面向对象的特征主要包括: .封装,隐藏内部实现 .继承,复用现有代码 .多态,改写对象行为 采用C语言实现的关键是如何运用C语言本身的特性来实现上述面向对象的特征. 1.1 封装 ...

  6. Spark1.0.0 应用程序部署工具spark-submit

    原文链接:http://blog.csdn.net/book_mmicky/article/details/25714545 随着Spark的应用越来越广泛,对支持多资源管理器应用程序部署工具的需求也 ...

  7. iOS:第三方数据库文件FMDB的使用

    第三方数据库FMDB •FMDB的使用:在sqlite的基础上,将sqlite中的函数进行封装产生的一个数据库文件. –FMDB的好处是对基本C库的封装,方便使用.同时还提供了多线程操作数据库带来的读 ...

  8. 关于QtCharts中的映射器与模型的使用

    简述 本文章基于博主在使用QtCharts中一些经验总结,相关了Qt类有QVXYModelMapper,CustomTableModel(一个继承了QAbstractTableModel的类,用于实现 ...

  9. 织梦(Dedecms)select_soft_post.php页面变量未初始漏洞

    漏洞版本: Dedecms 5.5 漏洞描述: 漏洞产生文件位于include\dialog\select_soft_post.php,其变量$cfg_basedir没有正确初始化,导致可以饶过身份认 ...

  10. (高精度运算4.7.24)UVA 10013 Super long sums(大数加法——某一位的数字可能大于10)

    /* * UVA_10013.cpp * * Created on: 2013年10月29日 * Author: Administrator */ #include <iostream> ...