JAVA基础: while循环,for循环,break和continue关键字,数组详解

1 while循环

while(boolean结果)
	语句/语句组 
  1. 每次循环做什么事

  2. 循环条件

  3. 循环条件改变。

循环嵌套

在一个循环中,出现了另一个循环。

无限循环

循环条件永远为真。


int i = 10 ;
while(i > 0){
	//....
	i++ ;
}

-------------------------
while(true){

}


 

2 break关键字

可以用在两个位置

  • 在switch中,结束整个switch分支结构,防止穿透 。

  • 在循环中,手动停止循环

循环结束有两种情况

  1. 每次循环操作完成后,都会进行下一次循环条件判断,条件不成立,循环自然结束。

  2. 在循环中,使用break关键字,结束整个循环。

 

import java.util.* ;
public class Test2{
	public static void main(String[] args){
       //控制台不停的输入内容,直到输入-1为止。 
		Scanner input = new Scanner(System.in) ;
		while(true){
			int num = input.nextInt();
			if(num == -1){
				break ;
			}
		}
	}
}

 

3 continue关键字

只能用在循环中。

结束当前这一次循环,进行下一次循环判断。

 

4 循环命名

多在循环嵌套中配合break和continue关键字使用。

  • 在循环语法前,使用name : 为循环命名

  • 在循环中,使用break namecontinue name 对指定的循环做控制。

a:while(条件1){

	b:while(条件2){
		break ; //结束当前条件2这个循环,继续进行条件1的下一次循环
		continue ;//结束条件2当前这次循环,就绪进行条件2的下一次循环判断
		break a ;//结束条件1的循环,结束最外层整个循环
		continue a ;//结束条件1的本次循环,继续进行条件1的下一次循环判断
					//目前等价于break
	}
}
public class Test3{
	public static void main(String[] args){
		char c = 'A' ;

		a:while(c <= 'E' ){
			System.out.println(c);
			int j = 1 ;
			while(j <= 5){
				System.out.println("  " + j);
				if(c == 'C' && j==3){
					break a;
				}
				j++ ;
			}
			c++ ;
		}
	}
}

 

5 do-while循环

  • 更适合具有试探性的循环场景。

//控制台不断输入数字,直到输入-1为止
int num ;
do{
    num = input.nextInt() ;
}while(num != -1) ;

 

6 while 与 do-while

循环分解

while(boolean){}

if()
{}
if()
{}
if()
{}
if() --- end

 

  • do-while至少会执行一次。 while有可能一次都不执行 (第一次判断就失败)

  • 当循环可以执行起来时 (通过多次循环后,才结束)

    • 如果循环条件的改变发生在循环体中, do-while和while执行次数相同,while多判断一次

    • 如果循环条件的改变发生在判断体中

public class Test4{
	public static void main(String[] args){
		//重要的事情打印3次
		{
			int count = 0 ;
			while(count++ < 3){	//判断体中改变,打印3次
				System.out.println("Hello World !!!");
				//count++ ;		//循环体中改变, 打印3次
			}
		}
		
		System.out.println("-------------------------");
		{
			int count = 0 ;
			do{
				System.out.println("Hello World !!!");
				//count++ ;		//循环体中改变,打印3次
			}while(count++ < 3); 	//判断体中改变,打印4次
		}
	}
}

 

7 for循环

语法

for( 1 ; 2 ; 4){
	3
}

-----------------------------
int count = 0 ;
while(count < 3){
	print("dmc") ;
	count++ ;
}

for(int count=0 ; count < 3 ; count++){
	print("dmc") ;
}

 

  • 1部分 主要是用来做条件变量的定义与初始化

  • 2部分 主要是用来作为判断条件,需要是一个boolean结果。根据这个boolean判断是循环是否继续或停止

  • 3部分 循环体,每次循环要执行的操作

  • 4部分 主要用来做循环条件的改变。

  • 124部分都不是必须要写。 2部分不写, 表示无限循环。

 

8 数组

8.1 数组的特点

  • 数组是一个容器,用来存储一组位置连续,类型相同的变量(数据)

    当我们有一组类型相同,且操作相似的数据需要存储时,就可以存储在数组(的变量中)中

  • 数组数据 , 数组本身也是一个数据,也可以存储在其他的变量中

    可以存储在普通的变量中,也可以存储在另一个数组变量中 (多维数组)

  • 数组类型 数组数据的类型就是数组类型

    数组类型是引用类型中一种。 (引用类型包括 数组类型 , 对象类型)

    数组类型的数据,是一个复杂的数据,包含了一堆子(变量)数据。 不能直接存储在一个变量中,存储在JVM的堆空间中,会有存储地址。

    所以我们在应用引用类型数据时,都是通过地址间接操作(对空间中变量里的)数据

8.2 创建数组

也可以称为 定义数组(从无到有),产生一个数组

new int[5] ;

 

  • new是一个关键字,用来在堆空间中创建一个引用类型的数据 (分配一块内存空间)

  • [] 表示创建的是一个数组类型的数据。

  • [5] 表示数组中包含5个变量 (子数据)

  • int表示数组里的变量的类型

数组中的变量没有名字,但有位置,称为下标 或 索引 。 这个位置从0开始计数

在堆空间中产生的变量,会有默认值。

  • 栈中的变量(写在主方法力的变量),不会有默认值,使用时我们必须手动赋值(通过代码赋值)

  • 堆中的变量不能独立存在,而是存在于引用类型数据中

  • 默认值是什么?

    • 基本类型的默认值是 0 表现形式可能不同(0 , 0.0 , false , 空字符 )

    • 引用类型的默认值是null

数组元素

  • 数组中的每一个变量,都成为数组的元素,也可以称为数组的属性。

  • 数组还有一个额外的元素,叫length 存储数组中变量的个数 。 只能取值,不能赋值

  • 数组一旦创建,长度不可变(包含的变量数量不可变)

 

8.3 数组的应用

  • 数组数据的应用

(new int[5]) 和 10 都属于数据 . 对于数组这个引用类型的数据而言, 实际用的是地址。

print(10) ;
int num = 10 ;


int[] nums = (new int[5]) ;
print( (new int[5]) ) ;
print( nums ) ;

 数组容器的应用 . 本质就是使用数组中的变量,也就是找到变量

nums  //存储的是数组地址,就相当于找到了数组
nums[0] //找到数组中的某一个变量   等价于 int num ;

num = 10 ;
print(num) ;

nums[0] = 10 ;
print(nums[0]) ;

nums.length ;

nums[0]
(new int[5])[0] = 10;

 

8.4 数组的初始化

  • 静态初始化

int[] nums = new int[]{10,20,30,40,50} ;
或
int[] nums = {10,20,30,40,50} ;

  动态初始化

int[] nums = new int[5] ;

nums[0] = 10 ;
nums[1] = 20 ;
....

 

  • 33
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值