Java-md-bk

continue关键字和break关键字在循环中的使用

 continue:  出现在循环中表示结束本次循环继续下一次循环
 break:表示结束整个循环
public class Test01 {

    public static void main(String[] args) {
        /**
         * 测试continue关键字
         * 结束本次循环,继续下一次循环
         * 需求:打印1到100之间的偶数
         */
        System.out.println("------------------------测试continue关键字-------------------------------");
        for (int i = 1; i <=100 ; i++) {
            if(i%2!=0){
                continue;
            }
            System.out.println(i);
        }
        /**
         * 测试break关键字
         * 用于结束整个循环
         * 打印1到100的数字;
         * 需求是:打印到50的时候结束打印
         */
        System.out.println("------------------------测试break关键字-------------------------------");
        for (int i = 1; i <= 100 ; i++) {
            System.out.println(i);
            if(i>49){
                break;//结束整个循环
            }
        }
        /**
         * 小结:continue和break只能用于循环中,其它地方不能出现,两者的区别是:
         * continue用于结束本次循环,循环还要继续而break用于终止循环
         */

    }
}

小结:
 小结:continue和break只能用于循环中,其它地方不能出现,两者的区别是:
      continue用于结束本次循环,循环还要继续而break用于终止循环

循环的嵌套

 所谓循环的嵌套就是循环里面含有另外一个循环,特点是:外层循环执行一次,内层循环执行多次(一般在实际的开发环境中,循环的嵌套建议不要超过3层,如果多于3层建议使用递归算法)
package com.tedu.cn;

/**
 * 测试循环的嵌套
 */
public class Test02 {

    public static void main(String[] args) {
        /**
         * 需求:在控制台打印99乘法表
         * 循环嵌套的一个典型的特点就是:外层循环执行一次,内层循环执行多次
         */
        /**
         * 要求:  控制台输出1到100每一个数的同时打赢100次鼠你最美
         */
        for (int i = 1; i <=100 ; i++) {
            System.out.println(i);
            for (int j = 1; j <=5 ; j++) {
                System.out.println("鼠你最美");
            }
        }

        /**
         * 控制台打印99乘法表
         * 分析:99乘法表是由行和列组成,一共有9行和9列
         * 首先可以使用一个for循环来控制打印的行数,在打印每一行的过程中再来确定打印多行列
         * 具体打印多少列一定要理解清楚
         *   1   1
         *   2  2
         *   3  3
         *   可以总结出:打印到第几行的时候就需要打印多少列   ,假设使用 i表示行数  j表示列数,那么它们之间的关系应该为:
         *   j=1 i<=j
         */
        System.out.println("----------------------打印99乘法表----------------------------------");

        for (int i = 1; i <= 9 ; i++) {  // i控制行
            for (int j = 1; j <= i ; j++) {  //j控制列
                System.out.print(j+"x"+i+"="+i*j+"\t");  //不带换行输出(不带回车) \t表示一个制表符(相当于tab键)
            }
            System.out.println(); //换行
        }

    }
}

数组

数组的定义:
数组就是含有相同数据类型的元素的集合,数组类型的变量类型是一个引用数据类型的变量。

数组的申明:
第一种申明方式:
数据类型[] 数组名称 = new 数据类型[数组长度];
数据类型:基本数据类型和引用数组类型,注意[]不能省略
数组名称: 遵循变量的命名规则
new: 表示为数组分配内存空间的关键字
数组长度:数组元素的个数
第二种申明方式:申明的时候并且赋值
数据类型[] 数组名称={元素1,元素2。。。元素n};

数组的初始化

初始化规则
   byte      short    int    long    float    double   char   boolean
   0          0           0     0     0.0      0.0       ""    false

 引用类型初始化为:null

数组的访问

  数组的访问是按照下标索引的方式去访问的,下标索引按照0 开始一直到数组的长度-1的位置结束,可以使用数组名加上下标的形式访问数组,比如   arrs的数组  访问第一个元素是arrs[0]  第二个元素是
  arrs[1]  最后一个元素是arrs[长度-1]

数组的长度

 数组的长度就是数组元素的个数,数组的长度专门有一个属性表示叫做 length
访问数组的长度可以通过数组名称.length进行访问。

数组的遍历

 可以通过for循环遍历数组,由于数组的访问是从下标开始访问的(0开始),刚好和for

默认的初始值0吻合,所以可以使用for遍历数组的元素同时还可以初始化数组的元素

在这里插入代码片package com.tedu.cn;


public class Test03 {

    public static void main(String[] args) {
        /**
         * 测试数组的申明
         */
        int[] arrs = new int[10];  //申明长度为10的整型数组
        double[] doubles = new double[10]; //申明长度为10的double类型的数组
        byte[] bs = new byte[1024];  //申明长度为1kb大小的长度

        int[] numbers ={1,3,5,7,9};  //申明一个数组的同时为数组指定相应的元素
        /**
         * 数组的初始化规则:
         * 如果申明数组的时候不给数组的元素进行初始化,那么Java程序会按照如下规则初始化:
         * byte short  int long  初始化为0
         * float  double 类型初始化为0.0
         * char类型初始化为空字符 ''
         * boolean 类型初始化为 false
         */
        //访问numbers数组的第二个元素
        System.out.println(numbers[1]);
        System.out.println(arrs[1]);
        System.out.println(doubles[0]);
        /**
         * 如果申明数组的时候没有为数组的相应的元素指定初始化值,那么
         * 可以使用for循环去初始化数组的元素
         */
        System.out.println("---------------------------arrs数组初始化元素之前--------------------------------------------");
        //length表示数组的长度  就是数组元素的个数
        for (int i = 0; i <arrs.length ; i++) {
            System.out.print(arrs[i]+"\t");
        }
        for (int i = 0; i <arrs.length ; i++) {
            arrs[i] = i+1;
        }
        System.out.println();
        System.out.println("---------------------------arrs数组初始化元素之后--------------------------------------------");
        for (int i = 0; i <arrs.length ; i++) {
            System.out.print(arrs[i]+"\t");
        }

    }
}

数组的两大API

arrayCopy方法
 该方法是一个静态方法,由System类提供,用于将指定数组的某些元素拷贝到另外一个数组。

在这里插入图片描述
在这里插入图片描述

案例代码

public class Test5 {


    public static void main(String[] args) {
        int[] arrays = {1, 3, 5, 7, 9, 11};
        int[] arrays1 = new int[20];
        System.out.println("-------------------拷贝前--------------------------");
        for (int i = 0; i < arrays1.length; i++) {
            System.out.print(arrays1[i] + "\t");
        }
        System.arraycopy(arrays, 2, arrays1, 10, 4);
        System.out.println("-------------------拷贝后--------------------------");
        for (int i = 0; i < arrays1.length; i++) {
            System.out.print(arrays1[i] + "\t");
        }

    }
}

第二大API copyOf方法

  该方法由Arrays类提供,主要实现一个数组的扩容。

在这里插入图片描述
注意:当扩容的长度大于元素组的时候则实现扩容,小于的时候实现缩容。

代码

public class Test6 {


    public static void main(String[] args) {
        int[] arrays = {1, 3, 5, 7, 9, 11};
        /**
         * 把array数组在原有的基础上扩容9个长度
         */
        System.out.println("-------------------扩容前--------------------------");
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i] + "\t");
        }
        System.out.println();
        arrays = Arrays.copyOf(arrays,arrays.length+9);
        System.out.println("-------------------扩容后--------------------------");
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i] + "\t");
        }


    }
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值