首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

20天jvava(四)

2012-10-14 
20天jvava(4)控制结构的分类:分支结构、循环结构分支结构:if(条件1){语句1;}else if(条件2){语句2;}else{语

20天jvava(4)
控制结构的分类:分支结构、循环结构
分支结构:if(条件1){
                       语句1;
        }else if(条件2){
                       语句2;
        }else{
                     语句3;
        }
        switch(条件){//jdk1.6,不支持字符串条件
          case 值1:
              ...
              break;
          default:
              ....
        }
  循环:
    for(初始化部分;循环条件;迭代部分){
                            循环体
    }
1 break continue
   break 结束当前循环,跳到当前循环后的第一条语句
   continue 跳过本次循环,执行下一次循环

2  While 循环控制
  [初始化部分]
  while(循环条件){
           循环体,包括迭代部分
  }
  练习:显示2...1000之间的质数
 
3 do ... while 循环控制
  [初始化部 分]
  do{
  循环体,包括迭代部分
  }while(布尔表达式);
 
4. 多分支流程控制语句 -  switch语句
    switch(整数表达式){  //byte,short,char,int
      case 整数常量1:
        //执行语句序列1
        break;  //结束当前switch语句块
      case 整数常量2:
        //执行语句序列2
        break;  //结束当前switch语句块
      default:
       //默认执行语句序列
   }
   练习:评价学生成绩
   Scanner sc = new Scanner(System.in);
System.out.print("输入学生的成绩:");
//    优(100-90), 良(89-80), 中(79-70), 及格(69-60), 不及格(59以下)
int score = sc.nextInt();
    String level=""; 
    switch(score/10){
    case 10:
    case 9: level = "优"; break;
    case 8: level = "良"; break;
    case 7: level = "中等"; break;
    case 6: level = "及格"; break;
    default: level = "不及格"; break;
    }
    System.out.println(level);
  
5 数组
  5.1 数组的声明:
    int[] ary;
    int ary[]; //不推荐的写法!
  5.2 数组的初始化:
   (1) 动态初始化: 必须指明数组的长度
    int[] ary = new int[10];   
    int[] ary = new int[]{3,1,4,1,5,9}; 
   (2) 静态初始化: 只能在声明数组时候使用!
    int[] ary = {3,1,4,1,5,9};    
    //ary = {2,7,1,8};//编译错误
    ary = new int[]{2,7,1,8}; 
   (3) 数组成员自动初始化为"零"值.
     "零"值: 0, 0.0, '\u0000', false
  5.3 数组的访问
   (1) 使用ary.length 属性可以获取数组的长度
   (2) 数组的下标(index)从0开始, 最大是length-1,一共length个元素.
   (3) 可以使用下标访问指定的元素:
      int a = ary[2];//读取第3个元素
      ary[2] = 8;//写入
   (4) 如果越界访问会出现异常(错误)ArrayIndexOutOfBoundsException
  练习:计算一个整数数组中的最大值
 
4 数组的扩展问题
  (1) Java数组的大小是固定的
  (2) 利用数组复制方法可以变通的实现数组扩展
     System.arraycopy(src, srcPos, dest, destPos, length) 可以复制数组
  (3) 新数组 = Arrays.copyOf(原数组, 新长度)以简便的创建数组副本
               创建数组副本的同时将数组长度增加就变通的实现了 数组的扩展

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

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

      案例3: 字符串统计案例:
    字符串: "123456789012"
     将字符串的奇数位数字相加为 c1 = 1 + 3 + 5 + 7 + 9 + 1
     将字符串的偶数位数字相加为 c2 = 2 + 4 + 6 + 8 + 0 + 2
  
    案例4: (选做) 将一个整数数位翻转
     如: 整数 56123
     返回结果为整数:  32165
     提示: 使用 %10 获取最后一位
           使用 /10 去除处理完的最后一位
   

  

热点排行