Corejava loop

第四天:
第三章(续)
1.语句
  a)条件语句:有些代码只有满足特定条件的情况下才会被执行
    1)if...else
        a. if后面的表达式必须是布尔表达式,而不能为数字类型,例如下面的if(x)是非法的。
 b. 假如if语句或else语句的程序代码块中包括多条语句,则必须放在大括号{}内。
           若程序代码块只有一条语句则可以不用大括号{}。流程控制语句(如if...else语句)
           可作为一条语句看待。
        c.只可能执行一个分支,不可能执行多条分支

    2)switch
      a. switch后条件的类型必须是byte, short, char或者int;
         jdk1.7之后可以使用String类型。
      b. 各个case子句的值不同,数据类型必须和switch后条件的数据类型相同;
      c. 当switch表达式的值不与任何case子句匹配时,程序执行default子句,
         假如没有default子句,则程序直接退出switch语句。
         default子句可以位于switch语句中的任何位置。
      d. 如果switch表达式与某个case表达式匹配,或者与default情况匹配,
         就从这个case子句或default子句开始执行。
         假如遇到break,就退出整个switch语句,否则依次执行switch语句中后续的case子句,
         不再检查case表达式的值。
      e. switch语句的功能也可以用if...else语句来实现。
         但switch语句会使程序更简洁,可读性更强。而if...else功能更为强大。

  b)循环语句
  循环语句的作用是反复执行一段代码,直到不满足循环条件为止。
  循环语句一般应包括如下四部分内容:
     i)初始化部分:用来设置循环的一些初始条件,
                    比如循环控制变量的初始值;
     ii)循环条件:这是一个布尔表达式,
                 每一次循环都要对该表达式求值,
   以判断到底继续循环还是终止循环。
     iii) 循环体:这是循环操作的主体内容,可以是一条语句,也可以是多条语句;
     iv) 迭代部分:用来改变循环控制变量的值,
                  从而改变循环条件表达式的值;
    1)for
       语法:for(初始化部分;循环条件;迭代部分) {
                               循环体
             }
    2)while
       语法:[初始化部分]
           while(循环条件) {
                 循环体,包括迭代部分
           }

      当循环条件为true时,就重复执行循环,否则终止循环;                

                  
    3)do..while
       和while非常类似,只不过先执行循环体,然后再判断循环条件。
        语法:[初始化部分]
            do {
                循环体,包括迭代部分
            } while(循环条件);
    4)循环语句中流程跳转
        a) break: 终止当前或指定循环;
        b) continue: 跳过本次循环,执行下一次循环,
              或执行标号标识的循环体。
 c) label: 标号用来标识程序中的语句,标号的名字可以是任意的合法标识符。
           continue语句中的标识必须定义在while、do...while和for循环语句前面;
           break语句中的标识必须定义在while、do...while和for循环语句或switch语句前面;

//
第四章: Array
一:什么是数组,什么时候使用数组?
数组是用来保存一组数据类型相同的元素的有序集合,
      数组中的每个数据称为元素。
      有序集合可以按照顺序或者下标取数组中的元素
在Java中,数组也是Java对象。数组中的元素可以是任意类型(
包括基本类型和引用类),但同一个数组里只能存放类型相同的元素。
二:什么时候用数组?
  1)保存一堆数据类型相同的数据的时候
  2)数据要求有顺序
三:数组和链表的区别
a)在内存开辟难易程度上?
   数组内存分配必须是一块连续的内存空间。
   链表内存分配不一定是连续的内存空间。
b)在项目中如何选择?
    项目重点在数据的增删改,选择链表。不需要数据的大量搬移
    项目重点在数据的查询,选择数组,检索效率非常高。
四:创建数组大致包括如下步骤:
. 声明一个数组类型的引用变量,简称为数组变量;
. 用new语句构造数组的实例。new语句为数组分配内存,并且为数组中的每个元素赋予默认值;
. 初始化,即为数组的每个元素设置合适的初始值。
  a)数组变量的声明;
    1) 一个存放同一类型数据的集合
       a. 即可以是基本类型,也可以是对象类型;
       b. 数组中的每个数据为元素;
    2) 数组是一个对象,成员是数组长度和数组中的元素;
    3) 申明了一个数组变量并不是创建了一个对象;
    4) 申明数组的方式;
       int[] IArray 或者 int IArray[] 基本数据类型数组,
                    数组中存放的是基本数据类型。
       Teacher[] tArray 或者 Teacher tArray[]类数组,
                    数组中存放的是Teacher类创建的若干个的对象。
    注意:1) 声明数组变量的时侯,不能指定数组的长度,以下声明方式是非法的。
             int x[1];
             int[2] x;
   b)初始化数组
    初始化:自变量创建后首次赋值的过程;
      创建数组对象;数组对象和其他Java对象一样,也用new语句创建;
       int[] iArray = new int[2];
       new语句执行以下步骤:
       a. 在堆区中为数组分配内存空间,以上代码创建了一个包含2个元素的int数组;
          每个元素都是int类型,占4个字节,因此整个数组对象在内存中占用8个字节。
       b. 为数组中的每个元素赋予其数据类型的默认值。
          byte/short/int/long  0
          float   0.0f
          double                0.0d
          String                null
          char                '\u0000'
          boolean               false
       c. 返回数组对象的引用
  c)初始化数组对象;      
       数组中的每个元素都有一个索引,或者称为下标。
       数组中的第一个元素的索引为0,第二个元素的索引为1, 依次类推。
       通过索引可以访问数组中的元素或者给数组中元素内容赋值。
       1) 声明、创建、初始化分开:
          int[] iArray;
          iArray = new int[2];
          iArray[0] = 0;
          iArray[1] = 1;
       2) 声明、创建的同时并初始化数组;
          int[] iArray = {0, 1};
          Student sArray[] = new Student[] {
                      new Student(“George”, “Male”, 20), new Student()};
          Student[] stArray = { new Student(), new Student()} ;

  注意:a. 非法的数组初始化方式:
       int[] x = new int[5]{5,4,3,2,1};//编译出错,不能在[]中指定数组的长度;
         int[] x;
         x = {5,4,3,2,1}; //{5,4,3,2,1}必须在声明数组变量的语句中使用,不能单独使用


五. 数组的边界:
    1) 一个数组的下标从0开始,数组通过数组的对象引用变量的下标访问数组。
       数组中第一个元素的索引为0, 第二元素的索引为1,
       依次类推。如果一个数组长度是5,要访问最后一个数组元素可以通过
       下标4来访问,如果通过下标5访问,超出了数组的边界,在运行时会抛出    
       ArrayIndexOutOfBoundsException。

    2) 通过调用数组的length方法可以获得一个数组的元素个数(数组长度)。 
       所有Java数组都有一个length属性,表示数组的长度. 该属性只能读取,但是不能修改。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值