首页 > 技术文章 > Java关键字break、continue 、return的区别,嵌套循环,数组的概念以及数组案例

hss945 2020-09-26 16:17 原文

一、关键字 break、continue 、return的区别

1、break : 用于在switch。。case中放置语句块穿透,

​ 用于跳出循环

 // 从1-100  遇到7的倍数 break
          for(int i=1;i<100;i++){
              // i==7 跳出循环
              if(i%7 == 0 ){
                  break;
              }
              System.out.println(i);
          }

2、continue: 跳出本次循环,继续下一次循环

 for(int i=0;i<100;i++){
              if(i%7 == 0 ){
                  continue;  // 跳出本次循环,继续下一次循环
              }
              System.out.println("i---"+i);
    }

3、return : 返回 本次方法

​ 用法1 : 如果return放在循环中, 会跳出循环,且不会执行循环外面的语句 ,

​ 用法2: 作为方法的返回值

​ 用法3 : 无论方法是否有返回值 ,可以在条件判断的位置 直接 return ,

return和break在循环语句块是,break只是结束循环语句块,对于循环外面的代码会执行,而return是结束当前所在方法的剩下的语句块。

  public static void main(String[] args) {
           for(int i = 1;i<100;i++) {
               if (i == 50) {
                   return;
               }
               System.out.println("i----"+i);
           }

          System.out.println("程序结束");

    }

   public void method1(){
         // return 还可以在条件判断的位置 直接返回方法
        int n = (int)(Math.random()*10);
        if(n%2 ==0){
            return  ; // 方法的后面就不再运行
        }
        System.out.println("方法的其他代码块");
        
    }

结论:只要执行return,那么它 后面的代码都不执行。

    public int add(){
        return 0;
       
    }

return作为方法返回值的关键字 ,

二、嵌套循环 以及案例

嵌套循环: 在一个循环语句中,还包含了另一个循环。例如 在一个for循环中还有一个for循环 ,

它的总的循环次数 = 外循环的次数* 内循环的次数

语法:

  for(){    // 外层循环

		for(){   // 内层循环

		}

	}

执行顺序: 外层循环 循环一次 ,内层循环循环完整的一遍

*	*	*	*	*
 打印直角三角形
* 
* * 
* * * 
* * * * 
* * * * * 
外循环控制打印几行, 内循环控制打印即可* 
        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

思路 : 考虑一行打多少个空格 多少个*

一共5 行 空格的个数(5-i) *的个数 (2 * i - 1)

i=1 4 1

i=2 3 3

i=3 2 5

i=4 1 7

i=5 0 9

 System.out.println("打印正三角形");
            for(int i=1;i<=5;i++){
                // 先打印空格
                for(int k=0;k<5-i;k++){
                    System.out.print("  ");
                }
                // 再打印*
                for(int j=0;j<2*i-1;j++){
                    System.out.print("* ");
                }
                // 换行
                System.out.println();
            }

九九乘法表

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
....
1*9=9 2*9=18 ......                   9*9=81

三、数组的概念以及数组案例

1、容器的概念

​ 用于存储数据的一块内存称为容器,生活中有很多容器,例如 水杯,衣柜,书包,有一定的空间可以存放“东西”

​ 存放在容器中的数据 称为“元素”

2、为什么会存在数组呢?

​ 假如现在要存储全班同学的成绩 , 全班40人,按照定义变量的思维,需要定义40个double类型的变量,每次从40个变量中找某一个变量,操作很麻烦, Java中可以定义一个数据类型存放40个人的成绩 , 这个类型就是数组类型。

数组定义: 它是相同数据类型的有序集合

3、 数组特点

  • 数组的长度固定(数组的长度一旦声明,就不能改变)
  • 数组中存储的元素数据类型必须相同
  • 数组的元素 通过下标访问,且下标默认从0 开始
  • 数组类型属于引用数据类型, 数组的元素类型 既可以是基本数据类型,也可以是引用数据类型。

4、创建数组

方式一:

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

详解:

数组存储的数据类型 :创建数组容器中可以存储什么数据类型 (基本数据类型 ,引用数据类型)

[] : 表示数组

数组名: 给数组起的名字,遵循标识符规则

new : 创建数组的关键 字

[长度] : 数组的长度 , 这个长度定义后不可改变

例如

int [] arr = new int[3];

new出来的空间在堆内存中,数组是引用数据类型 ,存在内存地址

​ 内存解析: 在堆内存中开辟一段连续的3个长度的int类型的内存空间 ,并由arr变量指向这块内存的地址 (换句话说 arr输出的就是 这个内存的地址)

方式二:

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

​ 这里的数组长度根据元素的个数自动分配大小

int [] arr = new int[]{90,88,78,92};
或者
int arr [] = new int[]{90,88,78,92}

方式三:

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

注意: 这里的元素类型必须满足 数组的元素数据类型

 char [] arr = {'a','b','c'};
 或者
 char arr [] = {'a','b','c'};

5、数组的访问

​ 数组的访问通过索引访问

索引(下标): 每一个数组的元素都有一个编号,这个编号从0开始 , 这个编号称为数组的索引,通过数据名[索引] 访问到数组的原始

例如: 访问数组的第二个元素: 数组名[1]

数组的长度: 数组的长度 声明已固定 ,访问数组的长度 : 数组名.length

​ 数组的最大索引= 数组的长度 -1

数组元素的赋值 :通过索引可以给元素赋值 数组名[索引] = 值

​ 将数据 赋值给 指定索引的 元素

推荐阅读