Java学习-数据操作高级篇
一、封装类(包装类)
1.数字封装类:Byte,Short,Integer,Long,Float,Double ,这些类都是抽象类Number的子类;
2.基本类型转封装类
- 方法1:通过构造方法:
int i = 10;//基本类型
Integer it = new Integer(i);//转换
- 方法2:自动装箱:
//分开写
int i =10;
Integer it = i;
//合并写
Integer it = 10;
3.封装类转基本类型
- 方法1:调用对象的intValue()方法
int i = it.intValue();
- 方法2:自动拆箱
int i = it;
二、字符串与String
字符串即字符的组合,在Java中我们使用的都是字符串对象;
1.创建字符串对象的各种场景
1) 每当有一个字面值出现的时候,虚拟机就会创建一个字符串;
2) 调用String的构造方法创建一个字符串对象;
3) 通过其他类型转换为字符串对象;
4) 通过+加号进行字符串拼接也会创建新的字符串对象;
String xm ="小明"; // 1.字面值,虚拟机碰到字面值就会创建一个字符串对象String xh = new String("小红"); // 2.创建了两个字符串对象char[] xl = new char[]{'小','李'};
String s = new String(xl);// 3.通过字符数组创建一个字符串对象String str= xm+ xh + s;// 4.通过+加号进行字符串拼接
2.String类的常用方法
3.字符串的比较
- 是否为同一个对象
//使用 == 判断是否为一个对象String s1 = "hello";String s2 = "hello";String s3 = new String(s1);System.out.println(s1 == s2);//结果:true,同一个对象System.out.println(s1 == s3);//结果:false,不是同一个对象
- 比较字符串内容
// 使用equals进行字符串内容的比较(区分大小写) ,使用equalsIgnoreCase可以忽略大小写判断内容是否一致;String s1 = "hello";String s2 = "world";String s3 = "Hello";System.out.println(s1.equals(s2));//结果:falseSystem.out.println(s1.equalsIgnoreCase(s3));//结果:true
4.注意:
1)String 被修饰为final,所以是不能被继承的;
2)字符串对象是不可改变的(immutable),一旦创建好这个字符串,里面的内容 永远 不能改变;
三、数字与字符串
1.数字转字符串
- 方法1: 使用String类的静态方法valueOf()
int i = 1;
String s = String.valueOf(i);
- 方法2: 先把基本类型装箱为对象,然后调用对象的toString()方法
Integer it = i;String s = it.toString();
2.字符串转数字
- 方法1: 使用Integer类中的parseInt()方法
String s = "11";
int i= Integer.parseInt(s);
- 方法2: 先使用Integer类中的valueOf()方法将字符串转换成Integer对象,再拆箱为int型;(仅做思考题)
//分开写
Integer value = Integer.valueOf(s);
int i = value;
//合并写
int i = Integer.valueOf(s);
四、数组与字符串
1.数组转字符串
- 通过String类的构造方法
//字符数组转字符串
char[] c = new char[] {'h','e','l','l','o'};
String s = new String(c);
//字节数组转字符串
byte[] b = "world".getBytes();
String s1 = new String(b);
2.字符串转数组
- 通过toCharArray()和getBytes()方法
//字符串转字符数组
char[] c1 = s.toCharArray();
//字符串转字节数组
byte[] b = "world".getBytes();
五、格式化输出
1.基础知识
public class demo {public static void main(String[] args) {String name = "小明";int time = 0;//通用方法输出:易读性差,编码麻烦String s = name + "昨天" + time + "点睡觉!";System.out.println(s);//格式化输出:简单明了,%s 表示字符串、%d 表示数字、%n 表示换行String sFormat = "%s昨天%d点睡觉!%n";System.out.printf(sFormat,name,time);//printf和format效果相同,查看源代码可以知道printf中直接调用了formatSystem.out.format(sFormat,name,time);}
}
console结果:
小明昨天0点睡觉!
小明昨天0点睡觉!
小明昨天0点睡觉!
2.扩展知识
int year = 2020;//总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达//直接打印数字System.out.format("%d%n",year);//总长度是8,默认右对齐System.out.format("%8d%n",year);//总长度是8,左对齐System.out.format("%-8d%n",year);//总长度是8,不够补0System.out.format("%08d%n",year);//千位分隔符System.out.format("%,8d%n",year*10000);//小数点位数System.out.format("%.2f%n",Math.PI);//不同国家的千位分隔符System.out.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);System.out.format(Locale.US,"%,.2f%n",Math.PI*10000);System.out.format(Locale.UK,"%,.2f%n",Math.PI*10000);
Java学习-数据操作高级篇相关推荐
- Java学习---Day16_IO流基础篇
Java学习-Day16_IO流基础篇 文件操作 操作磁盘上的某一个文件或某一个文件夹,可以对他们进行创建或删除.移动.属性获取.属性设置等操作.但是,不包含读取文件的内容.拷贝文件 ps:java中 ...
- Java学习笔记之基础篇
Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...
- RabbitMQ学习笔记(高级篇)
RabbitMQ学习笔记(高级篇) 文章目录 RabbitMQ学习笔记(高级篇) RabbitMQ的高级特性 消息的可靠投递 生产者确认 -- confirm确认模式 生产者确认 -- return确 ...
- invader的java学习第二天基础篇
invader的java学习第二天基础篇 一.深入了解第一个Hello World程序 public class Hello World{ public static void main(String ...
- JAVA学习之路--基础篇三
目录 关于Java中从键盘输入的语句 nextxxx().next().nextLine()的区别 语句 if和if else语句 Switch语句 for语句 while和do..while bre ...
- Java学习日记:UI篇(6)--谢尔宾斯基地毯图
Java学习日记:UI篇(6)–谢尔宾斯基地毯图 引言:谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角形基本类似,不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构 ...
- Java学习历程之----进阶篇(十一)
千禧难题之二: 霍奇猜想:在非奇异复射影代数簇上, 任一霍奇类是代数闭链类的有理线性组合.它是关于非奇异复代数簇的代数拓扑和它由定义子簇的多项式方程所表述的几何的关联的猜想.由威廉·瓦伦斯· ...
- invader的java学习第一天基础篇
invader的java学习第一天基础篇 一.java主要历史 ①java是Sun公司的产品,09年被Oracle公司收购. ②java语言之父:詹姆士高斯林 二.jdk.jre.jvm三者关系 jd ...
- Java学习历程之----提升篇(六)
科普 知识 前言 前面我们学习了Java语言的三大特性----继承,封装和多态,在前面的Java学习历程之----进阶篇(一)中我们学习到,在面向对象中,类和对象是最基本.最重要的组成单元.所有的对象 ...
最新文章
- Linux下Nagios的安装与配置
- linux nmon 系统性能监控 报表生成
- python +Django 搭建web开发环境初步,显示当前时间
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----UDP篇
- java实验原理和图例_图例解析JDK,JRE,JVM概念及使用
- cocos2d-x性能优化的那些事
- 翁恺老师C语言学习笔记(十)指针_指针运算
- 转载:如果你想辞职,先不妨看看这篇文章
- android开发中出现R.java was modified manually! Reverting to generated version!问题的解决方法...
- Xen和KVM的guest主机热添加硬盘
- OSX: Mac不睡眠的排查
- linux文件夹可视化工具,4款简单实用的的服务器文件管理工具推荐
- 一刀工具箱- 语音合成工具
- 啃完这些Java面试题,面试阿里P7稳了
- 检查两个时间段是否有时间重叠(允许重叠一部分时间不算重叠)
- 工具篇 之 iTerm 2 用户名修改(基于 iTerm 2 + oh-my-zsh)
- 打蚊子表情包_打蚊子表情包 - 打蚊子微信表情包 - 打蚊子QQ表情包 - 发表情 fabiaoqing.com...
- 故宫景点功课17:内廷西路(中)
- 从 firefox 缓存中提取视频
- mysql 税率用什么类型_在MySQL中计算增值税/税金总额 - 增值税税率取决于地点字段...
热门文章
- 世界三大数学软件:MATLAB 2017-2019/Mathematica 11/Maple 2018-2019
- 浅谈递归函数—C语言
- threejs封装加载 .glb 格式模型,修改贴图
- 云原生docker容器创建实操
- KATEX简易语法:
- 关于class not fount的错误
- 浏览器主页被2345劫持捆绑解决方案---极其简单!
- java 并发框架源码_Java并发编程高阶技术-高性能并发框架源码解析与实战
- springDataJpa @Query注解多条件动态模糊分页查询,传入形参对象
- Java将查询到的List,list集合还嵌套一个list集合(把这个list集合和嵌套的list集合合并为一个list集合)