字符串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. JVM(九),垃圾回收回收算法

    九.垃圾回收回收算法 1.标记-清除(Mark and Sweep) 缺点是内存空间碎片化太严重 2.复制算法(Copying) (1)复制算法介绍 (2)复制算法优势 3.标记-整理算法(Compa ...

  2. 原创:实现atoi函数

    #include <stdio.h> #include <stdlib.h> #include <limits.h> int my_atoi(char *str) ...

  3. 错误/异常:org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/shore/model/Husband.hbm.xml 的解决方法

    1.错误/异常视图 错误/异常描述:无效的映射异常,无法从xxxxx资源中解析映射文档 2.解决方法     出现这个异常,一般情况下是包名写错了.改回来即可. 看报错/异常的第一行,最后面,会提示你 ...

  4. TensorFlow源代码学习--1 Session API reference

    学习TensorFlow源代码,先把API文档扒出来研究一下整体结构: 一下是文档内容的整理,简单翻译一下 原文地址:http://www.tcvpr.com/archives/181 TensorF ...

  5. 也谈Tcp/Ip协议

    一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”, ...

  6. JavaWeb_(Hibernate框架)使用Hibernate开发用户注册功能

    使用Hibernate开发用户注册功能: 用户在register.jsp表单成功后,页面跳转到login.html,数据库中会存放用户注册的信息 <%@ page language=" ...

  7. Vue_(组件通讯)使用solt分发内容

    Vue特殊特性slot 传送门 有时候我们需要在自定义组件内书写一些内容,例如: <com-a> <h1>title</h1> </com-a> 如果想 ...

  8. JavaWeb-SpringBoot_(上)腾讯云点播服务之视频的上传-demo

    使用Gradle编译项目 传送门 腾讯视频云点播 传送门 项目已托管到Github上 传送门 腾讯云点播服务之视频的显示(下) 传送门 个人腾讯云控制台中的视频管理 IndexController.j ...

  9. JavaWeb-SpringBoot_使用MySQL管理用户登录注册+接入腾讯短信SDK_demo

    使用Gradle编译项目 传送门 项目已托管到Github上 传送门 JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信 传送门 用户注册 用户并非一定要输入正确的手机验证码去激活当 ...

  10. Inter IPP & Opencv + codeblocks 在centos 环境下的配置

    一.先安装codeblocks wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noar ...