java笔记之循环结构 while do-while for循环 continue的使用 多重循环 Arrays类的使用

循环结构

while循环结构

特点:
先判断循环条件,再执行
语法:
while(循环条件){
循环体
更新循环变量
}
例如:打印100遍“好好学习,天天向上!”

int i = 0;
while(i<100){
	System.out.println("好好学习,天天向上!");
	i++;
}

do-while循环结构

特点:
先执行一遍循环体,再判断
语法:
do{
循环体
更新循环变量
}while(循环条件);
例如:从书本中的某一页开始打印到最后一页

Scanner input = new Scanner(System.in);
System.out.pritln("请输入您需要开始打印的页数:");
int numberPages = input.nextInt();
do{
	if(numberPages>100||numberPages<=0){
		System.out.println("您输入的页数有误!");
	}else{
		System.out.println("开打印第"+numberPages+"业");
	}
	numberPages++;
}while(numberPages>0&&numberPages<=100);

小结

比较while和do-while循环:
1、执行次序不同
2、初始情况不满足循环条件时
(1)while循环一次都不执行
(2)do-while循环不管任何情况都至少执行一次

for循环

语法:
for(参数初始化 ; 循环条件 ; 更新循环变量 ){
循环体
}
**例如:**打印“好好学习!”一百遍

for(int i = 0 ; i < 100 ; i++){
	System.out.println("好好学习!");
}

for循环的常见错误

1、变量i没有初始化
2、缺少循环条件,出现死循环
3、循环变量不发生变化,会导致死循环
4、循环中缺少必要的循环控制,会导致死循环

continue语句

**作用:**强制循环提前返回,也就是让循环跳过本次循环的剩余代码,然后开始下一次循环
**例如:**打印1~10中非4的倍数的数

for(int i = 1 ; i<=10 ; i++ ){
	if(i%4==0){
		continue;
	}else{
		System.out.println(" "+i);
	}
}

多重循环

**定义:**一个循环内包括一个或多个完整的循环
语法:

while(循环条件){
	//循环操作
	while(循环条件){
		//循环操作
	}
}
do{
	//循环操作
	do{
		//循环操作
	}while(循环条件)}while(循环条件);
for(初始化参数; 循环条件; 更新参数){
	//循环操作
	for(初始化参数; 循环条件; 更新参数)[
		//循环操作
	}
}
while(循环条件){
	//循环操作
	for(初始化参数; 循环条件; 更新参数){
		//循环操作
	}
}

例如:

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("您想要几行数字:");
		int line = input.nextInt();
		for (int i = 0; i < line; i++) {
			for (int j = line; j > i; j--) {
				System.out.print(" ");
			}
			for (int m = 0; m < 2*i+1; m++) {
				System.out.print(i+1);
			}
			System.out.println();
		}
	}

在这里插入图片描述
注意:
1、各循环可以相互嵌套
2、循环嵌套一般不超过三次
3、外循环变量变化一次,内循环变量变化一遍

Arrays类的使用

1、Arrays.toString(数组名)
意义:将数组转换成一个字符串

int[] arr = new int[]{1,5,8,4,6};
System.out.println(Arrays.toString(arr));

在这里插入图片描述
2、Arrays.sort(数组名)
意义:将数组按升序排序

int[] arr = new int[]{1,5,8,4,6};
		System.out.println("排序前:");
		System.out.println(Arrays.toString(arr));
		System.out.println("排序后:");
		Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));

在这里插入图片描述

Arrays.equals(数组名1,数组名2)

意义:比较两个数组内的元素是否相同

int[] arr1 = new int[]{1,5,8};
		int[] arr2 = new int[]{1,2,3};
		int[] arr3 = new int[]{1,5,8};
		System.out.println(Arrays.equals(arr1, arr2));
		System.out.println(Arrays.equals(arr1, arr3));

在这里插入图片描述

Arrays.fill(数组名,值)

意义:将数组里赋值满“值”

int[] arr = new int[5];
		Arrays.fill(arr, 99);
		System.out.println(Arrays.toString(arr));

在这里插入图片描述

Arrays.copyOf(旧数组名,新数组长度);

意义:重新创建一个新数组,并将旧数组中的元素复制过来,且可以定义长度

int[] arr1 = new int[]{1,5,8};
int[] arr2 = Arrays.copyOf(arr1, 10);
System.out.println(Arrays.toString(arr2));

在这里插入图片描述

Arrays.binarySearch(数组名,要查找的值)

意义:在数组中找到需要查找的值,并返回查找元素的下标

int[] arr1 = new int[]{1,5,86,52,14,23,48,15};
		Arrays.sort(arr1);
		int index = Arrays.binarySearch(arr1, 48);
		System.out.println("48在第"+(index+1)+"个");

在这里插入图片描述

总结

目前为止学习了哪些循环?
while、do-while、for【这些循环都需要有循环条件、循环体、更新循环变量】
不同点:
区别一:三种循环的语法不同
区别二:while循环:先判断,再执行
do-while循环:先执行一次,再判断
for循环;先判断,再执行
区别三:使用情况
循环次数确定的情况使用for循环
**循环次数不确定的情况使用while和do-while循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值