Java中的数组
数组的概念:是一种容器,可以同时存放多个数据值。
静态初始化数组的格式:
数据类型[] 数组名称 = new 数据类型[] { 元素1, 元素2, ... };
省略格式:
数据类型[] 数组名称 = { 元素1, 元素2, ... };
获取数组长度
arr.length
public class test {
public static void main(String[] args) {
int[] arr = {1, 2, 5, 8, 12};
System.out.println(arr.length);
}
}
IDEA执行结果:
5
遍历数组
遍历数组,示例代码:
public class Pool {
public static void main(String[] args) {
int[] arr = new int[3];
arr[1] = 128;
for (int i = 0; i < arr.length; i++) { // arr.length获取数组长度
System.out.println(arr[i]);
}
System.out.println("============================");
String[] array = {"1", "2", "3"};
for (String s : array) {
System.out.println(s);
}
}
}
IDEA执行结果:
0
128
0
============================
1
2
3
直接输出整个数组
示例代码:
import java.util.Arrays; // 使用这个包里面的Arrays.toString(xxx)
public class Pool {
public static void main(String[] args) {
String[] arr = {"2","3","b","a","c"};
System.out.println(Arrays.toString(arr)); // 直接使用Arrays里面的toString转出字符串输出
}
}
eclipse执行结果:
[2, 3, b, a, c]
按下标取值并判断
涉及识别数组内数据,数组按下标取值,String数组转char,char转String,equals字符串断言
public class Pool {
/**
* 识别数组中数据
*/
public static void main(String[] args) {
String[] array = {"津A.123", "沪A.123", "京A.123"};
for (String i : array) {
char value = i.charAt(0); // 获取指定索引处的字符
String values = Character.toString(value);
if (values.equals("津")) { // equals断言values是否等于xx
System.out.println("天津");
} else if (values.equals("沪")) {
System.out.println("上海");
} else if (values.equals("京")) {
System.out.println("北京");
} else {
System.out.println("未知的城市");
}
}
}
}
eclipse执行结果:
天津
上海
北京
判断数组中的数据是否重复
涉及StringBuilder,翻转数组
public class Pool {
/**判断数组中名字最后一个字重复的名字有哪些*/
public static void main(String[] args) {
String[] array = {"张三","李四","王五","赵六","周七","王哲","白浩","贾蓉","慕容阿三","黄蓉"};
StringBuilder str = new StringBuilder(); // 这个也可以StringBuffer str2 = new StringBuffer();
StringBuilder str2 = new StringBuilder(); // 存放重复的数据
StringBuilder str3 = new StringBuilder(); // 存放二次循环不重复的值
// 首次遍历返回后面重复的姓名
for (String i : array) {
String value = i.substring(i.length() - 1,i.length()); // 获取i对象的最后一个字符如i为2那么value取下标1-2
int index = str.indexOf(value); // 判断value是否存在str中如果不存在返回-1
if (index == -1) { // 如果这个值不存在那么添加到str
str.append(value);
}
else {
str2.append(i + " ");
}
}
// 翻转数组
for (int i = 0;i <= array.length / 2 - 1;i++) {
String temp1 = array[i];
String temp2 = array[array.length - i -1];
array[i] = temp2;
array[array.length - i -1] = temp1;
}
// 二次遍历输出前面重复的姓名
for (String j : array) {
String value2 = j.substring(j.length() - 1,j.length());//获取i对象的最后一个字符如i为2那么value取下标1-2
int index2 = str3.indexOf(value2);
if (index2 == -1) {
str3.append(value2);
}
else {
str2.append(j + " ");
}
}
System.out.println("最后一个字重复的名字有:" + str2);
}
}
eclipse执行结果:
最后一个字重复的名字有:慕容阿三 黄蓉 贾蓉 张三
判断数组数据是否以xx开始
public class Pool {
/**判断数组中提取的数据值是否以xx开始,有几个*/
public static void main(String[] args) {
String[] array = {"海尔冰箱","美的洗衣机","海尔洗衣机",};
int sum = 0;
for (String i : array) {
if (i.startsWith("海尔")) {
sum++;
}
}
System.out.println("海尔共有" + sum + "个产品");
}
}
eclipse执行结果:
海尔共有2个产品
判断数组数据是否以xx结尾
public class Pool {
/**判断数组中提取的数据值是否以xx开始,有几个*/
public static void main(String[] args) {
String[] array = {"海尔冰箱","美的洗衣机","海尔洗衣机",};
int sum = 0;
for (String i : array) {
if (i.endsWith("冰箱")) {
sum++;
}
}
System.out.println("海尔共有" + sum + "个产品");
}
}
eclipse执行结果:
海尔共有1个产品

浙公网安备 33010602011771号