java----Day_04

switch语法结构:

switch (表达式){
	case 目标值1:
		执行语句1
		break;
	case 目标值2:
		执行语句2
		break;
	......
	case 目标值n:
		执行语句n
		break;
	default:
		执行语句n+1
		break;
}

     上述结构中,switch中的表达式将会与case内容匹配,若相同就执行case下面的语句,如遇到break则跳出switch条件判断语句,若没有匹配到任何值,则执行default语句

      需要注意的是,在switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其它类型的值,程序会报错。但上述说法并不严谨,实际上在JDK5.0中引入的新特性enum枚举也可以作为switch语句表达式的值,在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。

    在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。接下来通过一个案例来实现上面描述的情况,如下所示。SwitchDemo02.java

public class SwitchDemo02 {
	public static void main(String[] args) {
		int week = 2;
		switch (week) {
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			// 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同
			System.out.println("今天是工作日");
			break;
		case 6:
		case 7:
			// 当 week 满足值 6、7 中任意一个时,处理方式相同
			System.out.println("今天是休息日");
			break;
		}
	}
}
  • 数组

数组的定义格式:

数据类型[] 数组名 = new 数据类型[元素个数或数组长度];
int[] x = new int[100];

内存状态:

数组中的三个元素初始值都为0,这是因为当数组被成功创建后,数组中元素会被自动赋予一个默认值,根据元素类型的不同,默认初始化的值也是不一样的。具体如下表所示。

数据类型

默认初始化值

byte、short、int、long

0

float、double

0.0

char

一个空字符(空格),即’\u0000’

boolean

false

引用数据类型

null,表示变量不引用任何对象

静态初始化有两种方式,具体格式如下:

1、类型[] 数组名 = new 类型[]{元素,元素,……};

2、类型[] 数组名 = {元素,元素,元素,……};   

数组的遍历和最值都要用到for循环:

public class ArrayDemo05 {
	public static void main(String[] args) {
		int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组
int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值
		// 下面通过一个for循环遍历数组中的元素
		for (int x = 1; x < arr.length; x++) {
            System.out.println(arr[i]);
			if (arr[x] > max) { // 比较 arr[x]的值是否大于max
				max = arr[x]; // 条件成立,将arr[x]的值赋给max
			}
		}
		System.out.println("max=" + max); // 打印最大值
	}
}

数组异常:

  • 越界异常

每个数组的索引都有一个范围,即0~length-1。在访问数组的元素时,索引不能超出这个范围,否则程序会报错,如下所示。ArrayDemo06.java

 1	public class ArrayDemo06 {
 2		public static void main(String[] args) {
 3			int[] arr = new int[4]; // 定义一个长度为4的数组
 4			System.out.println("arr[0]=" + arr[4]); // 通过角标4访问数组元素
 5		}
 6	}
  • 空指针异常

在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常ArrayDemo07.java

 1	public class ArrayDemo07 {
 2		public static void main(String[] args) {
 3			int[] arr = new int[3]; // 定义一个长度为3的数组
 4			arr[0] = 5; // 为数组的第一个元素赋值
 5			System.out.println("arr[0]=" + arr[0]); // 访问数组的元素
 6			arr = null; // 将变量arr置为null
 7			System.out.println("arr[0]=" + arr[0]); // 访问数组的元素
 8		}
 9	}
  • 二维数组

二维数组格式定义:

//第一种方式:
int[][] arr = new int[3][4];
//第二种方式:
int[][] arr = new int[3][];
//第三种方式:
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

遍历和累加:

class ArrayDemo09 {
	public static void main(String[] args){
		int[][] arr = { {1,2},{3,4,5},{6,7,8,9,10} };
		int sum = 0, total = 0;
		for (int i=0; i<arr.length; i++) {
			for (int j=0; j<arr[i].length; j++) {
                 System.out.println(arr[i][j])
				sum += arr[i][j];
			}
            System.out.println("第"+i+"组的和为:"+ sum);
            total += sum;
            sum = 0;
		}
		System.out.println("total= "+ total);
	}
}
    • 知识点总结

  • 数组
    1. 它是一个用来存储同一个数据类型多个元素的一个容器(数组长度是固定的,数组中存储的元素的数据类型要求一致)
    2. 格式:

                            格式1:

                                     数据类型[] 数组名 = new 数据类型[数组长度];

                           

                            格式2:

                                     数据类型[] 数组名 = new 数据类型[]{元素值1,元素值2,..};

                                    

                            格式3:

                                     数据类型[] 数组名 = {元素值1,元素值2,..};

    • 数组操作的常见问题:

NullPointerException: 空指针异常

ArrayIndexOutOfBoundsException: 数组越界异常

  1. 二维数组:
    1. 它是一个包含多个一维数组的数组
    2. 特点:二维数组中的每个元素都是一个一维数组
    3. 格式:

                            格式1:

                                     数据类型[][] 数组名 = new 数据类型[m][n];

                            m: 代表二维数组中一维数组的个数

                                     n: 代表每个一维数组中元素的个数

                            格式2:

                                     数据类型[][] 数组名 = new 数据类型[m][];       

                                     m: 代表二维数组中一维数组的个数

                                     每一个一维数组通过赋值来确定数组长度

                            格式3:

                                     数据类型[][] 数组名 = {{元素值1,元素值2,..},{元素值1,元素值2,..},..};

猜你喜欢

转载自blog.csdn.net/qq_38362772/article/details/81774855
今日推荐