Summary.03
一、StringBulider
String一经初始化就不会再改变其内容,String字符串的操作实际上是对其副本的操作,原来的字符串一点都没改变。相反,StringBuilder类是对原字符串本身操作的,可以对字符串进行修改而不产生副本或产生少量副本,因此可以在循环中使用。
1.常用方法:
①重载的public StringBuilder append()方法:为该StringBuilder对象添加字符序列,仍返回自身。
②方法public StringBuilder delete(int start,int end),可以删除从start开始到end-1为止的一段字符序列,仍返回自身对象
③方法public StringBuilder deleteCharAt(int index),移除此序列指定位置上的char,仍返回自身对象
2.StringBuilder与String的转换
sb->s
String s=sb.toString()
s->sb
StringBuilder sb=new StringBuilder(s);
3.StringBuilder 的添加与反转
StringBuilder sb= new StringBuilder();
sb.append("hello").append("world");
Syestem.out.println(sb);//输出 helloworld
sb.reverse();
Syestem.out.println(sb);//输出 dlrowolleh
二、ArrayList
集合类的一种
集合:提供一种存储空间可变的存储模型,存储的数据容量可变。
类 ArrayList<E>
添加以String为元素数据类型的数组ArrayList<String> array = new ArrayList<>();
①可调大小的数组 ②<E>:一种特殊数据类型
1.常用方法
①添加方法:array.add(String):添加新方法在Arraylist最后。
②获取数据数量:array.size()
③删除指定元素:array.remove(int index):删去index位置上的元素
④替换指定元素:array.set(int index,E element):将index位置上的元素换为E;
三、面向对象编程
三大特征:封装、继承、多态
Java的面向对象编程比C++更易上手。
Java不存在C++中的多继承、多态的调用方式与C++也有较大区别。
Ⅰ、封装
一、优点:①提高代码安全性
②提高代码复用性
③高内聚:便于修改内部代码,提高可维护性。
④低耦合:简化调用,便于调用者使用。
未进行封装的代码演示
class Person{
String name;
int age;
@Override//指示构建是否正确.
public String toString(){
return "Person name="+name+",age="+age;}
}
public class Text{
public static void main(){
Person p=new Person();
p.name="王五";
p.age=-35;
System.out.println(p);}
}
如题执行结果为
Person name=王五,age=-35
显然,人的年龄不能是负数,但是如果没有进行封装,便可以对年龄赋任意整形值。
二、封装的实现
访问控制符
Java特有的default:表示没有修饰符修饰,只能访问同一个包的类。
限制修饰符:
Summary.03相关推荐
- CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28
2019独角兽企业重金招聘Python工程师标准>>> [准备工作] 01 #在编译安装lnmp之前,首先先卸载已存在的rpm包. 02 rpm -e httpd 03 rpm -e ...
- 云帆教育大数据分享-Flume-0.9.4源码编译及一些编译出错解决方法
Flume-0.9.4源码编译及一些编译出错解决方法 由于需要在Flume里面加入一些我需要的代码,这时候就需要重新编译Flume代码,因为在编译Flume源码的时候出现了很多问题,所以写出这篇博客, ...
- .net的反射技术(2)深究及 性能比较
FastReflection Library 老赵编写 全文英文版:FastReflection Library 这是我在CodePlex上创建的一个项目,它的网址是http://www.codepl ...
- EXT.NET复杂布局(一)——工作台
前面已经提到过EXT.NET了.EXT.NET是一组基于ExtJS库开发的开源的ASP.NET组件. 使用Ext.NET开发,比直接写JS更利于维护,也更方便开发.由于官方没有文档(只有DEMO),很 ...
- 《CCNP ROUTE 300-101学习指南》——2.3节区分路由协议
本节书摘来自异步社区<CCNP ROUTE 300-101学习指南>一书中的第2章,第2.3节区分路由协议,作者 [美]戴安娜 蒂尔(Diane Teare) , 鲍勃 瓦尚(Bob Va ...
- InfluxData【环境搭建 03】时序数据库 InfluxDB 离线安装配置使用(下载+安装+端口绑定+管理员用户创建+开启密码认证+开机自启配置)完整流程实例分享
1.下载安装包 安装包地址:https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable,可根据版本号和分支进行下载. # 本次安装 ...
- 开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式
开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 原文:[原创]开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 开源Math.NET基础数学类 ...
- python中的.nc文件处理 | 03 指定位置的数据切片及可视化
NetCDF4文件处理 下载MACA v2的 netcdf4 格式数据 使用 xarray 读取和处理 netcdf4 格式数据 将 netcdf4 格式数据导出为 .csv 格式 将 netcdf4 ...
- 【OH】SET System Variable Summary SQLPLUS 系统变量设置
[OH]SET System Variable Summary SQLPLUS 系统变量设置 SET System Variable Summary System Variable Descripti ...
最新文章
- 10、kubernetes 核心技术-Secret、ConfigMap
- c语言编一个开关量上升沿的程序,电工学(1)习题解答
- 东八区转为0时区_踩坑记 | Flink 天级别窗口中存在的时区问题
- oracle函数 case,oracle的case函数和case控制结构 (摘)
- ASP.NET和PHP全面对比
- python201811210作业4
- 74ls90设计十进制计数器电路图_利用555与74ls90制作电子秒表
- 计算机类文献检索考试题,文献检索试题精选2
- I00036 盈数(Abundant number)
- 关于创业,潮汕人、温州人做生意的多
- RHCS 测试过程(含GFS2),未完待续!
- 交换机端口镜像配置大全【汇集22个各种品牌交换机】
- 【matlab学习】用matlab编写简单程序(入门)
- 大大学校园计算机市场分析,笔记本电脑大学生市场调研报告
- JavaScript将HTML元素导出PDF及World
- h5/web 原生定位、高德、腾讯地图定位
- 这篇文章告诉你时光穿梭机特效从年轻变老制作软件
- 漫步者蓝牙自动断开_比苹果AirPods体验更好的蓝牙耳机,漫步者lollipods体验小感...
- umi中@umijs/plugin-dva的使用,及实现一套增删改
- 欧洲杯第五周的比赛闲聊
热门文章
- xshellxftp下载
- 鸿蒙系统跑分对比骁龙强吗,跑分确实高了:鸿蒙系统安兔兔跑分出炉,但不足以解释系统流畅度...
- MySQL006:种约束的追加和删除
- 计算机上的应用程序打不开怎么回事,【电脑软件打不开怎么回事】 电脑所有程序都打不开...
- 从固态硬盘分区移动文件到固态硬盘分区速度慢的原因之一
- 《庆余年》全集盗版泄露,女主角很生气,网友评论也是亮了
- Oracle 数据库 忘记 system密码怎么办
- 广东惠州市地方税务局同城异址容灾备份建设项目
- 华为手机 TalkBack
- 北京中医药大学《计算机基础》平时作业4,北京中医药大学《有机化学B》平时作业1...