一、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相关推荐

  1. CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28

    2019独角兽企业重金招聘Python工程师标准>>> [准备工作] 01 #在编译安装lnmp之前,首先先卸载已存在的rpm包. 02 rpm -e httpd 03 rpm -e ...

  2. 云帆教育大数据分享-Flume-0.9.4源码编译及一些编译出错解决方法

    Flume-0.9.4源码编译及一些编译出错解决方法 由于需要在Flume里面加入一些我需要的代码,这时候就需要重新编译Flume代码,因为在编译Flume源码的时候出现了很多问题,所以写出这篇博客, ...

  3. .net的反射技术(2)深究及 性能比较

    FastReflection Library 老赵编写 全文英文版:FastReflection Library 这是我在CodePlex上创建的一个项目,它的网址是http://www.codepl ...

  4. EXT.NET复杂布局(一)——工作台

    前面已经提到过EXT.NET了.EXT.NET是一组基于ExtJS库开发的开源的ASP.NET组件. 使用Ext.NET开发,比直接写JS更利于维护,也更方便开发.由于官方没有文档(只有DEMO),很 ...

  5. 《CCNP ROUTE 300-101学习指南》——2.3节区分路由协议

    本节书摘来自异步社区<CCNP ROUTE 300-101学习指南>一书中的第2章,第2.3节区分路由协议,作者 [美]戴安娜 蒂尔(Diane Teare) , 鲍勃 瓦尚(Bob Va ...

  6. InfluxData【环境搭建 03】时序数据库 InfluxDB 离线安装配置使用(下载+安装+端口绑定+管理员用户创建+开启密码认证+开机自启配置)完整流程实例分享

    1.下载安装包 安装包地址:https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable,可根据版本号和分支进行下载. # 本次安装 ...

  7. 开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式

    开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 原文:[原创]开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 开源Math.NET基础数学类 ...

  8. python中的.nc文件处理 | 03 指定位置的数据切片及可视化

    NetCDF4文件处理 下载MACA v2的 netcdf4 格式数据 使用 xarray 读取和处理 netcdf4 格式数据 将 netcdf4 格式数据导出为 .csv 格式 将 netcdf4 ...

  9. 【OH】SET System Variable Summary SQLPLUS 系统变量设置

    [OH]SET System Variable Summary SQLPLUS 系统变量设置 SET System Variable Summary System Variable Descripti ...

最新文章

  1. 10、kubernetes 核心技术-Secret、ConfigMap
  2. c语言编一个开关量上升沿的程序,电工学(1)习题解答
  3. 东八区转为0时区_踩坑记 | Flink 天级别窗口中存在的时区问题
  4. oracle函数 case,oracle的case函数和case控制结构 (摘)
  5. ASP.NET和PHP全面对比
  6. python201811210作业4
  7. 74ls90设计十进制计数器电路图_利用555与74ls90制作电子秒表
  8. 计算机类文献检索考试题,文献检索试题精选2
  9. I00036 盈数(Abundant number)
  10. 关于创业,潮汕人、温州人做生意的多
  11. RHCS 测试过程(含GFS2),未完待续!
  12. 交换机端口镜像配置大全【汇集22个各种品牌交换机】
  13. 【matlab学习】用matlab编写简单程序(入门)
  14. 大大学校园计算机市场分析,笔记本电脑大学生市场调研报告
  15. JavaScript将HTML元素导出PDF及World
  16. h5/web 原生定位、高德、腾讯地图定位
  17. 这篇文章告诉你时光穿梭机特效从年轻变老制作软件
  18. 漫步者蓝牙自动断开_比苹果AirPods体验更好的蓝牙耳机,漫步者lollipods体验小感...
  19. umi中@umijs/plugin-dva的使用,及实现一套增删改
  20. 欧洲杯第五周的比赛闲聊

热门文章

  1. xshellxftp下载
  2. 鸿蒙系统跑分对比骁龙强吗,跑分确实高了:鸿蒙系统安兔兔跑分出炉,但不足以解释系统流畅度...
  3. MySQL006:种约束的追加和删除
  4. 计算机上的应用程序打不开怎么回事,【电脑软件打不开怎么回事】 电脑所有程序都打不开...
  5. 从固态硬盘分区移动文件到固态硬盘分区速度慢的原因之一
  6. 《庆余年》全集盗版泄露,女主角很生气,网友评论也是亮了
  7. Oracle 数据库 忘记 system密码怎么办
  8. 广东惠州市地方税务局同城异址容灾备份建设项目
  9. 华为手机 TalkBack
  10. 北京中医药大学《计算机基础》平时作业4,北京中医药大学《有机化学B》平时作业1...