admin 发表于 2014-3-4 19:48

流程控制语句for(),do...while, Java数组

1. while
While 循环控制

Scanner console = new Scanner(System.in);
while(布尔表达式){
      qty = console.nextInt();
      if(qty>0 && qty<=5){            //五个以内
      break;                        //打断, 打断当前循环
      }
}

2. for 循环(主要用于几次的循环)
循环控制
for(初始化表达式;布尔表达式; 递增表达式){
        //循环体
}
for(;;){
}
for(int a=1, b=3;;){
}


Example:
for (int i = 0; i < array.length; i++){
        System.out.println(i);
}

3. do ... while
   do ... while() 循环控制
   do{
       //循环体
   }while(布尔表达式);
   Example:
   do{
      System.out.print("输入押注数量:");
      bet = console.nextInt();
   }while(bet <= 0 || bet > balance);//否定条件

4. Java Array
1) 数组变量的声明
   int[] ary; 声明了数组变量 ary, 数组变量是代词,
   int ary[]; 为了与C语法兼容的写法, 不建议写法,

2) 数组对象动态初始化
   ary = new int; //数组变量引用了具体数组对象, 就是代词
   指代了具体事务.
   数组元素是自动初始化的, 自动初始化为"零"值.
"零"值: 0, 0.0, \u0000, false, null
   ary = new int[]{1,2,3}; 直接给出元素的初始化
3) 数组对象的静态初始化, 只能用在声明数组变量时候同时初始化
    * 不能用于赋值语句
   int[] ary = {1,2,3};
   ary = {3,4,5,6};//编译错误

Java关键字: if, public, class, else, while
特殊关键字: goto, const
java中 true, false, null 不是关键字, 是字面量!

4) 数组变量, 数组对象, 数组元素
   如: int[] ary = {1,2,3};
   ary 是 数组变量 指代一个具体的数组, 同一个变量指代不同的数组
   {1,2,3} 数组对象
   1,2,3 是数组元素

5) 数组元素的访问, 数组对象的大小是固定的,长度是n,下标: 0~n-1
A 使用[下标] 访问数组元素
B 越界访问(小于0/大于等于n), 都会发生运行异常
C 使用.length 属性可以获取数组对象长度

5 数组的复制与动态扩展算法
1) 数组对象的复制

2) 数组的扩展问题
1 Java数组对象的大小是固定的, 数组对象是不能扩展的
2 利用数组复制到方法可以变通的实现数组扩展
3 System.arraycopy() 可以复制数组
4 Arrays.copyOf() 可以简便的创建数组副本
5 创建数组副本的同时将数组长度增加就变通的实现了
    数组的扩展

案例1 : 统计一个字符在字符串中的所有位置.
        字符串: 统计一个字符在字符串中的所有位置
        字符: '字'
        返回: {4,7}

6) 数组的迭代: 将每个数组元素重复的处理一遍.
        for(int i=0; i<ary1.length; i++){
      System.out.print(ary1 + " ");
    }

页: [1]
查看完整版本: 流程控制语句for(),do...while, Java数组