第五章 数组、字符串与正则表达式
5.1数组
下标从0开始
定义:
所谓数组就是若干个相同数据类型的元素按一定顺序排列的集合。
特点:
-
- 数组是相同数据类型元素的集合。
- 数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
- 数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。
5.1.1 一维数组
用英文命名
定义
三步骤:
---声明数组
数据类型[ ]数组名; //声明一维数组
---分配空间
数组名=new数组类型[个数]; //分配内存给数组
---创建数组元素并赋值。
5.1.2 foreach语句与数组
foreach语句只需要提供三个数据:元素类型、循环变量的名字、用于从中检索元素的数组
语法
for(type element:array){ System.out.println(element); ... }
例:
int[]arr={1,2,3,4,5}; for(int e:arr) System.out.println(e); //输出数组arr中的各元素
5.2 字符串
引用型变量(储存方式与数组基本相同)
5.2.1 String 型字符串
格式一:
String 变量名;
变量名 = new String("字符串");
String s; //声明字符串型引用变量s,此时s的值为null s = new String("Hello"); //在堆内存中分配空间,并将s指向该字符串首地址
第一个语句只声明了字符串引用变量s,此时s的值为null;第二个语句则在堆内存中分配了内存空间,并将s指向了字符串的首地址。
格式二:
String 变量名 = new String("字符串");
String s = new String("Hello");
格式三:
String 变量名 = "字符串";
String s ="Hello";
Java语言定义的“+”运算符可用于两个字符串的连接操作
str = "Hello"+"Java"; //str的值为"HelloJava"
如果字符串与其他类型的变量进行“+”运算,系统自动将其他类型的数据转换为字符串
String类里面常用的20个方法
和长度有关的方法
返回类型 | 方法名 | 作用 |
int | length() | 得到一个字符串的字符个数(一个中文是一个字符,一个英文是一个字符,一个转义字符是一个字符) |
和数组有关的方法
返回类型 | 方法名 | 作用 |
byte[] | getBytes() | 将一个字符串转换成字节数组 |
char[] | toCharArray() | 将一个字符串转换成字符数组 |
String[] | split(String) | 将一个字符串按照指定内容劈开 |
和判断有关的方法
返回类型 | 方法名 | 作用 |
boolean | equals(String) | 判断两个字符串的内容是否一模一样 |
boolean | equalsIgnoreCase(String) | 忽略大小写的比较两个字符串的内容是否一模一样 |
boolean | contains(String) | 判断一个字符串里面是否包含指定的内容 |
boolean | startsWith(String) | 判断一个字符串是否以指定的内容开头 |
boolean | endsWith(String) | 判断一个字符串是否以指定的内容结尾 |
和改变内容有关的方法
和改变内容有关的方法,都不会直接操作原本的字符串而是将符合条件的字符串返回给我们,所以注意接收
返回类型 | 方法名 | 作用 |
String | toUpperCase() | 将一个字符串全部转换成大写 |
String | toLowerCase() | 将一个字符串全部转换成小写 |
String | replace(String,String) | 将某个内容全部替换成指定内容 |
String | replaceAll(String,String) | 将某个内容全部替换成指定内容,支持正则 |
String | repalceFirst(String,String) | 将第一次出现的某个内容替换成指定的内容 |
String | substring(int) | 从指定下标开始一直截取到字符串的最后 |
String | substring(int,int) | 从下标x截取到下标y-1对应的元素 |
String | trim() | 去除一个字符串的前后空格 |
和位置有关的方法
返回类型 | 方法名 | 作用 |
char | charAt(int) | 得到指定下标位置对应的字符 |
int | indexOf(String) | 得到指定内容第一次出现的下标 |
int | lastIndexOf(String) | 得到指定内容最后一次出现的下标 |