Java数组、流程控制和循环语句

(1)数组
声明数组变量
数组对于所有编程语言来说都是重要的数据结构之一,Java 语言中提供的数组是用来 存储固定大小的同类型元素。
必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法格式:

// 数组定义(声明)
// dataType[] arrayRefVar; // 推荐使用
// 或
// dataType arrayRefVar[]; // 效果相同,但基本不使用这种方式
int[] a;
byte[] arrayByteA;
int[] arrayIntA;
long[] arrayLongA;
String[] arrayStringA;

数组初始化
数组的初始化主要有两种方式:
静态初始化
动态初始化

// 数组初始化
// 1、静态初始化
arrayIntA=new int[]{1,2,3,4,5};
//2、动态初始化
arrayStringA = new String[5];
int[] c=new int[5];
System.out.println("c[0]="+c[0]);

数组引用

//数组引用 使用索引,索引从0开始,注意数组大小
//赋值 
arrayIntA[2]=9;
//取值
System.out.println("arrayIntA的第三个元素是:"+arrayIntA[2]);

数组的遍历

for (int i = 0; i < arrayIntA.length; i++) {
                System.out.println(arrayIntA[i]);
           }
           //遍历数组赋值
           for (int i = 0; i < arrayStringA.length; i++) {
                arrayStringA[i]=String.valueOf(i);
           }
           //遍历数组取值
           for (int i = 0; i < arrayStringA.length; i++) {
                System.out.println(arrayStringA[i]);
           }
           //foreach 这形式只能取值,不能赋值
           for (String s : arrayStringA) {
                System.out.println(s);
           }

二维数组
Java语言中,把二维数组看作是数组的数组,数组空间不是连续分配的。所以 不要求二维数组每一维的大小相同。

// 二维数组
           int[][] arrayA = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6 } };// 声明,定义
           int[][] arrayB = new int[2][2];// 初始化
           arrayB[0][0] = 0;// 赋值
           arrayB[0][1] = 1;
           arrayB[1][0] = 2;
           arrayB[1][1] = 3;
           System.out.println("数组A=" + arrayA[0][0]);// 取值
           System.out.println("数组B=" + arrayB[0][0]);
           int[][] arrayC = new int[][] { { 1 }, { 2, 3 }, { 4, 5, 6 },
                      { 7, 8, 9, 10 } };
           int[][] arrayD = new int[3][];
           arrayD[0] = new int[] { 1 };
           arrayD[1] = new int[] { 2, 3 };
           arrayD[2] = new int[] { 4, 5, 6 };
           for (int i = 0; i < arrayC.length; i++) {
           		 int[] temp = arrayC[i];
           		 for (int j = 0; j < temp.length; j++) {
           		 	int k =temp[j];
           		 	System.out.println("arrayC["+i+"]["+j+"]="+k);
                }
           }

(2)流程控制语句
if…else语句

// if语句
int age = 15;
if (age >= 18) {
	System.out.println("成年人");
}
if (age >= 18) {
	System.out.println("成年人");
} else {
	System.out.println("未成年人");
}
	System.out.println((age > 18) ? "成年人" : "未成年人");
int num = 0;
if (num == 0) {
	System.out.println("该数字既不是正数也不是负数");
} else if (num > 0) {
	System.out.println("该数字是正数");
} else {
	System.out.println("该数字是负数");
}
if(num>=0){
	if(num%2!=0){
			System.out.println("只能输入正数且为偶数");
		}else{
			System.out.println("输入正确");
		}
		}else{
			System.out.println("只能输入正数");
}

switch语句
(1)switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
(2)case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
(3)当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
(4)当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执 行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继 续执行下一条 case 语句,直到出现 break 语句。
(5)switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分 支(可以在任何位置,但一般在最后一个)。default 在没有 case 语句的值和变 量值相等的时候执行。default 分支不需要 break 语句。
(6)switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开 始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

// switch语句
final int NUM1 = 1;// 常量
int num1 = 1;
int weekDay = 1;
switch (weekDay) {
	case 1:
System.out.println("星期一");
	break;
	case 2:
System.out.println("星期二");
	break;
	case 3:
System.out.println("星期三");
	break;
	case 4:
System.out.println("星期四");
	break;
	case 5:
System.out.println("星期五");
	break;
	case 6:
System.out.println("星期六");
	break;
	case 7:
System.out.println("星期日");
	break;
	default:
System.out.println("无效输入");
}

(3)循环语句
for(初始化; 布尔表达式; 更新)
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。

for (int i = 0; i < 10; i++) {
                System.out.println("i="+i);
           }
           int w1=0;
           while (w1<10) {
                System.out.println("w1="+w1);
                w1++;
           }
           int w2=0;
           do {
                System.out.println("w2="+w2);
                w2++;
           } while (w2<0);

break、continue、return
break : 结束循环
continue : 结束本次循环,进入下一次循环
return : 结束一个方法,方法的结束了,循环自然被结束
注意:在while和do…while中使用continue时要注意 更新语句的位置。

猜你喜欢

转载自blog.csdn.net/weixin_42530700/article/details/89337995