循环结构与数组

(1)循环结构
        :当重复执行相同的代码或者是相似的代码时。

循环三要素:
   1): 循环变量的声明:用于控制循环次数的循环因子
   2): 循环条件: 用于判断是否执行相同或相似内容(循环体)的条件
   3):循环变量的改变方向:
             向着循环结束的方向改变。
(1)for循环:

   语法:
      for(变量的声明和初始化;循环条件;变量的改变方向){
        循环体;
      }

   执行逻辑:
       程序遇到for时,一定执行 变量的声明和初始化
            然后执行循环条件的判断
        如果为false,会跳过循环结构,执行后续代码。
        如果为true,执行循环体,然后再执行变量的改变
        再执行循环条件的判断,
        .......

   循环体:是要重复执行的相同或相似逻辑


  
   break关键字:用在循环结构中时,表示结束/打断循环
   continue关键字:用在循环结构中,表示结束当次循环体,继续
                  下一次循环


   双层for循环
        (笔记自己整理)

(2)while循环
    语法:

    while(循环条件){
       循环体
    }

    执行逻辑:
        当程序遇到while时,一定执行循环条件,
          如果判断结果为false,就结束循环结构,执行后续代码
          如果判断结果为true,就执行循环体,
          然后再判断循环条件......


(3)do-while循环
      语法:
      do{
       循环体
      }while(循环条件);


      执行逻辑:当程序遇到do关键字时,一定先执行一次
        循环体,然后再判断循环条件,
        如果条件为false,结束循环结构,执行后续代码
        如果条件为true,再执行一次循环体,
        然后再判断条件的成立与否
        ........

    
   while/do-while/for的区别:

   while/do-while:适合不知道循环次数的逻辑
   for:适合知道循环次数的逻辑

   while/for一般先判断条件,再执行循环体
   do-while:一定先执行一次循环体,再判断条件

   小技巧:什么时候使用while,什么时候使用do-while
         某些逻辑可以翻译成如下:

     当......就执行.....:适合使用while
     做.....直到.......:适合使用do-while

数组:
1、概念:一组相同类型的数据的组合
         数组也是一种引用类型,
2、名称:数组名称不是固定的,与存放的数据的类型有关。
         如:  存放一组int类型的数据,
          数组名称   int[]
       
          存放一组字符串数据
          数组名称   String[]

          存放一组Scanner类型的数据
          数组名称   Scanner[]

          存放一组字符类型的数据
          数组名称   char[]
3、元素的概念:
      数组中的每个数据,都是这个数值的元素。
4、数组的声明与初始化
     声明:元素类型[]  变量名;
           元素类型   变量名[];--不建议此写法
     变量的初始化的时机:2种
       (1)声明时直接初始化
       (2)先声明,再初始化(使用前初始化)
     数组的变量初始化:3种情况
           (1)静态初始化
          String[] names = {"A","B"};
          int[] nums = {};
       (2)动态初始化
          --规定数组长度的写法
            int[] ages = new int[length];
        其实有默认元素:
        整数类型:默认是0
        浮点数类型:默认0.0
        字符类型:默认'\u0000'
        布尔类型:默认false
        引用数据类型:默认值null


          --不规定长度的写法
        int[] ages = new int[]{};
        double[] counts = new double[]{1.2,3.14};

5、数组的长度:
     即数组元素的个数
     表示方式:变量名.length;
6、数组的下标(index):
      下标从0开始,最后一个元素的下标为:length-1;
      下标范围:0~length-1
7、数组元素的访问(查看):
      通过下标进行查看
      语法:变量名[index];
     
   元素的遍历(从头到尾依次查看)
   for(int i=0;i<变量名.length;i++){
    System.out.println(变量命[i]);
   }
8、数组元素的覆盖(赋值,替换)
      
      语法:变量名[index] = value;

9、数组间的赋值
    就是指变量之间的赋值。
    
    通过一个变量对数组的元素进行修改,
    那么与之相关的变量对应的数组的元素
    也会发生变化。
10、数组下标越界异常:
    java.lang.ArrayIndexOutOfBoundsException

    出现的原因:
        访问数组元素时的下标超出了范围
    正确范围:0~length-1
    错误下标:
           变量名[-1]
           变量名[length]


11、引用类型之Arrays
    是数组的工具类。此类提供了很多对数组操作的功能方法
    如:
    String info = Arrays.toString(数组名);
    Arrays.toString():此方法是将数组的元素
    一一拼接成字符串.
    格式如下:
       "[元素1,元素2,.....元素length-1]"

12、数组的复制
     
     数组的特点:一经创建,长度不可变。

     系统复制法:
       System.arraycopy(src,start1,des,start2,length);
       src:源数组,即被复制的数组名
       start1:源数组复制的开始下标
       des:目标数组,即复制到的数组名
       start2:目标数组复制的开始下标
       length:复制的长度

     工具类提供的复制方法:
      元素类型[] 变量名=Arrays.copyOf(src,newLength);
      src:源数组
      newLength:新数组的长度

     功能解释:从src的下标为0的元素开始复制
               复制到长度为newLength的新数组中
           新数组存放元素的开始位置为0
       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值