JAVA学习第三十二课(经常使用对象API)- 基本数据类型对象包装类
将基本数据类型(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)- 基本数据类型对象包装类的更多相关文章
- JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点
整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有 ...
- JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示
随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...
- JAVA学习第六十二课 — TCP协议练习
通过练习掌握TCP在进行传输过程中的问题 练习1:创建一个英文大写转换server client输入字母数据,发送给服务端,服务端收到后显示到控制台,并将该数据转成大写返回client,知道clien ...
- JAVA学习第五十二课 — IO流(六)File对象
File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo( ...
- “全栈2019”Java多线程第三十二章:显式锁Lock等待唤醒机制详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- NeHe OpenGL教程 第三十二课:拾取游戏
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解
风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解 越权漏洞 0x01 漏洞介绍 越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响 ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
- 风炫安全web安全学习第三十节课 命令执行&代码执行基础
风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...
随机推荐
- SQL中关于where后面不能放聚合函数(如sum等)的解决办法
我们在编写较为复杂的SQL语句的时候,常常会遇到需要将sum()放到where后面作为条件查询,事实证明这样是无法执行的,执行会报[此处不允许使用分组函数]异常. 那么如何解决呢,使用HAVING关键 ...
- Android onConfigurationChanged 不执行
自从Android 3.2(API 13),screen size也开始跟着设备的横竖切换而改变. 所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetS ...
- 集成禅道和svn
转载:http://www.zentao.net/book/zentaopmshelp/137.html 说明:svn集成功能配置会比较复杂,我们会尽量通过文档来帮助大家配置成功!如果实在配置不成功的 ...
- WebUploader文件图片上传插件的使用
最近在项目中用到了百度的文件图片上传插件WebUploader.分享给大家 需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUp ...
- 【云计算】Docker 镜像如何设置语言环境?bash: warning: setlocale: LC_ALL: cannot change locale (en_US)
解决方案: # set default language environment RUN locale-gen en_US.UTF- \ && dpkg-reconfigure loc ...
- Thinkphp学习笔记6-redirect 页面重定向
ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能.redirect 方法语法如下: $this->redirect(string url, array params, i ...
- (C++)C++类继承中的构造函数和析构函数
思想: 在C++的类继承中, 建立对象时,首先调用基类的构造函数,然后在调用下一个派生类的构造函数,依次类推: 析构对象时,其顺序正好与构造相反: 例子: #include <iostream& ...
- matlab中的size(),length(),ndims()函数的使用方法
1.size()使用方法: size(a)表示矩阵每一个维度的长度 比方size([1 2 3;4 5 6]) 等于[2 3]: 表示他有2行3列. size([1 2 3]) 等于[1 3]: 表示 ...
- mysql安装错误总结
1.若在启动mysql服务时出现如下错误,可查看错误日志找出错误原因. Error:Starting MySQL.The server quit without updating PID file ( ...
- ZOJ 3630 Information 强连通
题意:n m表示n个节点,m条边,下面m行a b 表示a-b点有一条有向边 题目:给定有向图,删去一个点后,可以求出该图中强连通分量中最大的点数 问:删去某点后,最大点数 最小是多少 思路:枚举删点, ...