← 回到文章列表

Hello Java Day04

Java 语言基础 Day04 ==================== 循环控制 数组 数组的应用技巧 1. while While 循环控制 while(布尔表达式){ //循环体 } Scanner console = new Scanner(Sy…

Java 语言基础 Day04
====================
循环控制
数组
数组的应用技巧

  1. while
    While 循环控制

while(布尔表达式){
//循环体
}

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

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

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

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

  2. Java Array
    数组变量, 数组对象, 数组元素

小朋友们, 他们壹个接著壹个的走过来了。

String[] names = {“Tom”, “Jerry”, “Andy”};

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

  2. 数组对象动态初始化
    ary = new int[4]; //数组变量引用了具体数组对象, 就是代词
    指代了具体事务.
    数组元素是自动初始化的, 自动初始化为"零"值.
    “零"值: 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 不是关键字, 是字面量!

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

  2. 数组元素的访问, 数组对象的大小是固定的,长度是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}

  1. 数组的叠代: 将每个数组元素重复的处理壹遍.
    for(int i=0; i<ary1.length; i++){
    System.out.print(ary1[i] + " “);
    }

作业:
1 复习并且完成 全部 课堂演示代码, 添加适当的
输出语句, 研究输出结果, 添加适当的注释.
2 实现案例:
案例1 : 统计壹个字符在字符串中的所有位置.
字符串: 统计壹个字符在字符串中的所有位置
字符: ‘字’
返回: {4,7}
public static int[] count(String str, char key){}

char key = ‘字’;
String str = “统计壹个字符在字符串中的所有位置”;
int[] count = {};
for(int i=0; i<str.length();i++){
char c = str.chatAt(i);
if(c==key){
//扩展数组,
count = Arrays.copyOf(count, count.length+1);
//添加序号 i
count[count.length-1]=i;
}
}

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

案例3: 字符串统计案例:
字符串: “123456789012”
将字符串的奇数位数字相加为 c1 = 1 + 3 + 5 + 7 + 9 + 1
将字符串的偶数位数字相加为 c2 = 2 + 4 + 6 + 8 + 0 + 2

案例4: (选做) 将壹个整数数位翻转
如: 整数 56123
返回结果为整数: 32165
提示: 使用 %10 获取最后壹位
使用 /10 去除处理完的最后壹位

预习: 数组的排序.

<a href=’[媒体不可用]’>Code Package
课堂提纲教案

在这里找找

输入关键词,找一篇过去的记录。