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个产品
posted @ 2019-08-02 12:30  每一天,为明天。  阅读(112)  评论(0)    收藏  举报