字符串String类

    

    

字符串的两个问题

    

    

构造方法

     

    

字符串池

    

    

    

字符串的内容不可变

    

    

    

比较方法

    

    

    

    

    

练习:模拟登陆

    

    

    

练习:模拟登陆(限制重试次数)

    

    

    

替换方法(敏感词过滤)

    如果希望将字符串当中指定的部分进行替换操作,需要使用:

    public String replace(CharSequence oldStr,CharSequence newStr):

    将字符串当中出现的所有oldStr部分,替换成为指定的newStr.

    参数oldStr代表需要被替换的老字符串部分

    参数newStr代表需要替换成为新的字符串部分

    参数类型CharSequence现阶段可以简单地认为就是字符串String.

  注意:

    字符串的内容不会发生改变的,所以replace方法的返回值结果是一个全新的字符串.

    

切割方法

    

    

集合

  概述

集合与数组类似,也是一种引用类型,也可以存放很多个数据.但是数组的长度不可改变,而集合的长度是可变的,所以使用更加方便.

集合包含有很多种:ArrayList , HashSet , LinkedList , HashMap……

集合有很多种,现阶段我们学习最为简单的java.util.ArrayList集合.

构造方法

Java.util.ArrayList是一个类,使用起来就有三个步骤:

    1.     导包

      Import java.util.ArrayList

    2.      创建

      类名称 对象名 = new 类名称();

      ArrayList常用的构造方法:

      Public ArrayList();  默认无参数的构造方法.

        ArrayList<泛型> list = new ArrayList<>();

        泛型:也就是集合当中存放的全都是统一的什么类型的数据.

        注意:泛型只能是引用类型,不能是基本类型.

    3.      使用

      

常用方法

如何使用已经创建好的集合呢?常用的方法有三个:

    1.      添加元素

      public boolean add(E element):向集合当中添加一个元素,参数是被添加的元素,而返回值一定是true值代表成功。

    2.      获取元素

      public E get(int index):从集合当中获取一个元素,参数是元素索引(从0开始),返回值就是获取得到的元素对象。

    3.      获取长度

      public int size():获取集合的元素个数,集合的长度,得到int数字。

    注意事项:

     ArrayList集合直接打印对象名称,得到的不是地址值,而是内容,格式和数组类似。

        原因:是因为ArrayList这个类其中的tostring方法有特殊处理。(今后学习。)

        对于Arraylist集合来说,添加的add动作一定是成功的,返回值必然是true.

        但是对于其他的集台来说,add万法就不一定成功了.

        

          

练习:遍历集合中的字符串

存储基本类型数据

    集合的泛型必须是引用类型,不能是基本类型.如果一定要存储基本类型,需要使用对应的包装类(都位于java.lang包下).基本类型与包装类的对应关系如下:

    l  byte              Byte

    l  short             Short

    l  int                 Integer

    l  long              Long

    l  float              Float

    l  double          Double

    l  char              Character

    l  boolean         Boolean

    从JDK1.5开始,基本类型可以和对应的包装类进行自动装箱拆箱.

装箱:      基本类型 -->> 包装类

拆箱:      包装类 -->> 基本类型

      

集合存储自定义类型对象

    集合可以存放任何一种引用类型,包含我们自定义的Person类对象.

    

    

练习:王者荣耀阵容展示

创建一个Hero类代表一位英雄,其中包含有名字和战斗力两个成员变量.使用一个集合存储5位英雄,然后遍历集合展示所有英雄的信息.

    

    

    

    

练习:王者荣耀平均战斗力

仍然是一个集合当中存储5个英雄对象,但不要求进行遍历,而是进行整个队伍平均战斗力的计算.

    

    

知识总结

  1. 只要是字符串,必然就是对象.

  2. 如何创建字符串

    a)       直接赋值双引号,也是一个字符串对象.

    b)       可以直接通过new关键字来调用String的构造方法:

i.            public String (char[] array);根据字符数组来创建字符串.

ii.            Public String (char[] array,int offset,int count);根据字符数组当中的一部分来创建字符串.

  3. 字符串池:是为了节省内存,重复利用相同的字符串.

    a)       凡是双引号直接写上的字符串,默认就在池中.

    b)       凡是new出来的字符串,默认不在池中.

  4. 字符串的内容永不可变.每当你觉得好像是应该变了,必然是创建了一个新的字符串.

  5. 字符串的比较方法:

    a)       public Boolean equals(Object obj);严格区分大小写.

    b)       public Boolean equalslgnoreCase(String str);忽略大小写

  6. 字符串的替换方法:

    a)       public String replace(CharSequence oldStr,CharSequence newStr)

  7. 字符串的切割方法:

    Public String[] split(String regex);

    注意:不要使用英文句点作为切分的标识,如果非要用英文句点,应该写\\

  8. 集合:和数组类似,但是主要区别就是集合的长度可变,数组的长度不可变.

  9. 如何创建一个ArrayList集合?

    a)       导包: import java.util.ArrayList

    b)       创建: ArrayList<泛型>list = new ArrayList<>();

    c)        泛型: 集合当中存储的是统一的什么类型.

    d)       注意: 泛型只能使用引用类型,不能使用基本类型.

  10. 如何使用ArrayList集合,常用方法:

    a)       添加: public Boolean add(E element);

    b)       获取: public E get(int index);

    c)        长度: public int size();

  11. 如何让集合存储基本类型:使用包装类.记住两个特例(int对应Integer,char对应的Character),其它都是首字母大写即可.

  12. 集合能否存储自定义的类型,例如Person?

      答:可以.集合可以存储任何一种引用数据类型.

Java基础(七)的更多相关文章

  1. Java基础七-正则表达式

    Java基础七-正则表达式 一.定义: 特定的符号的组合 二.作用: 用于操作字符串数据 三.优缺点 简化代码,但是阅读性差 四.引入 4.1 问题 判断一个号码是否是QQ号? 不是零开头 6-15位 ...

  2. java基础七 [图形用户接口](阅读Head First Java记录)

    到目前为止我们接触的都是Java的命令行,但是为了让用户使用,必须有图形化界面,所以这章主要讲的是怎么使用GUI(图形用户接口)   创建一个GUI:javax.swing.* 本章讲的布局相关内容都 ...

  3. java基础(七)-----深入剖析Java中的装箱和拆箱

    本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...

  4. Java基础七(Eclipse工具)

    今日内容介绍1.Eclipse开发工具2.超市库存管理系统 ###01Eclipse的下载安装 * A: Eclipse的下载安装  * a: 下载 * http://www.eclipse.org ...

  5. java基础(七) java四种访问权限

    引言   Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: ...

  6. Java基础(七)--Exception异常处理

    发现错误的理想时机是程序运行之前(编译期),然后不太现实,很多异常无法被发现(特别是业务上的数据),需要在运行时解决. 错误恢复机制保证代码健壮性的方式,异常处理在程序中很常见,也是必须的,必须考虑有 ...

  7. java基础(七)之子类实例化

    知识点;1.生成子类的过程2.使用super调用父类构造函数的方法 首先编写3个文件. Person.java class Person{ String name; int age; Person() ...

  8. java基础(七)--键盘输入

    一.示例 package cnblogs; import java.util.Scanner; public class TestBase07IO { public static void main( ...

  9. 重学JAVA基础(七):线程的wait、notify、notifyAll、sleep

    /** * 测试thread的wait notify notifyAll sleep Interrupted * @author tomsnail * @date 2015年4月20日 下午3:20: ...

随机推荐

  1. The Semantics of Constructors(拷贝构造函数之编译背后的行为)

    本文是 Inside The C++ Object Model's Chapter 2  的部分读书笔记. 有三种情况,需要拷贝构造函数: 1)object直接为另外一个object的初始值 2)ob ...

  2. hdu 5723 Abandoned country 最小生成树+子节点统计

    Abandoned country Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  3. android自定义键盘(解决弹出提示的字体颜色问题)

    最近准备要做一个项目,需要用到自定义小键盘来确保安全,而且还需要精确获得用户点击键盘时的落点位置.力度.指尖接触屏幕的面积等参数. 在写自定义键盘的时候,用到了国内网上的一些代码,出处是 向先人致敬! ...

  4. HDU 5813 Elegant Construction ——(拓扑排序,构造)

    可以直接见这个博客:http://blog.csdn.net/black_miracle/article/details/52164974. 对其中的几点作一些解释: 1.这个方法我们对队列中取出的元 ...

  5. linux 上修改了nginx.conf 怎么重新加载配置文件生效

    步骤如下先利用/usr/local/nginx/sbin/nginx -t测试配置文件修改是否正常/usr/local/nginx/sbin/nginx -s reload重新加载 nginx 更改配 ...

  6. iOS8-Sampler

    https://github.com/shu223/iOS8-Sampler iOS8-Sampler Code examples for the new functions of iOS 8. Ho ...

  7. LC 889. Construct Binary Tree from Preorder and Postorder Traversal

    Return any binary tree that matches the given preorder and postorder traversals. Values in the trave ...

  8. 在Latex中插入Python代码

    这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...

  9. koa2-connect-history-api-fallback 使用

    单页面应用程序(SPA)通常使用一个web浏览器可以访问的索引文件,比如index.html,然后,在HTML5 History API的帮助下(vue-router就是基于History API实现 ...

  10. [笔记] 使用v2r访问外网

    介绍 首先,你需要有一台能上外网的服务器,如AWS,GCP等. 其次,请自行复制全文,然后将FXXK替换为v2r的全称(5个小写字符). 服务器上Docker镜像配置流程 拉取镜像 $ sudo do ...