否还能正确运行?如果不可以,请指出为什么? (二) 了解变量的使用范围 1.建立 KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。 public class KY2_2 { static int i=10; public static void main(String args[]) { { int k=10; System.out.println(\ System.out.println(\ } System.out.println(\ System.out.println(\ } } 2.编译 KY2_2.java 看看这个程序是否会出错?为什么会出现编译错误,请在试验报告中给出理由! 3.修改上面的程序,让它能正确运行。 4.把修改后的源程序以及程序的输出结果写在实验报告中。 思考:KY2_2.java 程序说明了什么问题? (三)分析表达式的运算顺序,用程序验证 1.分析表达式的运算顺序,用程序验证 (1)x=5+3*5/3-2; (2)x=4%4+4*4-4/4; (3)x=(2*4*(2+(4*2/(2))-3)) 2.设x=10,y=20,z=30;求布尔表达式的值并显示: (1)x<10||x>10; (2)(2)x>y&&y>x; (3)(x 实 验 教 案 课题(项目)名称: 三种基本流程、break、continue用法 计划学时:4 实验类型: 1.验证性或基础性□ 2.综合性□ 3.设计性□ 4.创新性和研究型□ 授课日期: 年 月 日 【实验目的】 1. 2. 3. 4. 理解Java程序的三种基本结构,即顺序结构、分支结构和循环结构。 掌握用于分支的if…else、switch…case语句。 掌握用于循环的for、while、do…while语句。 熟悉break、cotinue作用。 第 周 星期 第 节 【实验要求】 1. 掌握流程控制语句的使用 【实验内容与步骤】 (一)使用选择语句 输入并运行下面的程序,说明switch语句的使用方法。(Page86页 第5题) 程序代码如下: …… 1. 将分析程序得到的结果与实际运行结果相比较,看是否一致。若结果不一致,原因在哪里?请在实验报告中解释为什么? 2. break语句在switch语句中起到了什么作用? 3. 修改上面的程序,让它能正确运行。把修改后的源程序以及程序的输出结果写在实验报告中。 (二) 使用循环语句 1.请编写程序 KY2_3.java,要求程序具有如下功能:用三种循环语句实现输出10~50之间为3的倍数的数。 (1)编译 KY2_3.java (2)运行KY2_3.class (3)把源程序写在实验报告中。 2.请编写程序 KY2_4.java,要求程序具有如下功能:输出1~100中的偶数,一行5个。 (1)编译 KY2_4.java (2)运行KY2_4.class (3)把源程序写在实验报告中。 【实验报告要求】 请在实验报告中对本次实验内容进行总结。 实 验 教 案 课题(项目)名称: 数组、拷贝数组方法arraycopy、数组类Arrays 计划学时:2 实验类型: 1.验证性或基础性□ 2.综合性□ 3.设计性□ 4.创新性和研究型□ 授课日期: 年 月 日 【实验目的】 1.掌握数组的定义与访问 2.掌握拷贝数组方法arraycopy的使用 3.掌握数组类Arrays的使用 【实验要求】 1.编写使用数组解决实际问题的程序。 2.验证使用arraycopy方法的程序。 3.验证使用数组类的程序。 【实验内容与步骤】 (一)数组的应用 1.创建一个数组,功能如page78页第3-15题。 2.创建如下的二维数组,并遍历数组 1 2 3 4 5 8 a b c d e 3.要求:判断一个数组中是否存在相同的元素,如果存在相同的元素则输出“重复”,否则输出“不重复”。 该题中如果需要判断数组中元素是否重复,则需要对数组中的元素进行两两比较,如果有任意一组元素相等,则该数组中的元素存在重复,如果任意一组元素都不想等,则表示数组中的元素不重复。 实现思路:假设数组中的元素不重复,两两比较数组中的元素,使用数组中的第一个元素和后续所有元素比较,接着使用数组中的第二个元素和后续元素比较,依次类推实现两两比较,如果有一组元素相同,则数组中存储重复,结束循环。把比较的结果存储在一个标志变量里,最后判断标志变量的值即可。 则实现的代码如下: int[] n = {1,2,3,1,0}; boolean flag = true; //假设不重复 for(int i = 0;i < n.length – 1;i++){ //循环开始元素 for(int j = i + 1;j < n.length;j++){ //循环后续所有元素 //如果相等,则重复 if(n[i] == n[j]){ flag = false; //设置标志变量为重复 break; //结束循环 } } } 第 周 星期 第 节 //判断标志变量 if(flag){ System.out.println(“不重复”); }else{ System.out.println(“重复”); } 在该代码中,flag变量存储是否重复,true代表不重复,false代表重复。外部循环中循环变量i代表第一个元素的下标,内部循环中循环变量j代表后续元素的下标,当i为零时和后续所有元素比较,然后当i为1时也和后续所有元素比较,依次类推,这样实现所有元素之间的两两比较。然后如果元素相同,则代表有重复,把flag变量的值置成flase,结束循环。最后根据flag变量的值就可以判断是否重复了。 (二)拷贝数组方法arraycopy的使用 System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制. 其函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置的起始位置; length:复制的长度. 注意:src and dest都必须是同类型或者可以进行转换类型的数组。 1. 编译和运行下面的程序,观察并分析结果。 package com.yiibai; import java.lang.*; public class SystemDemo { public static void main(String[] args) { int arr1[] = { 0, 1, 2, 3, 4, 5 }; int arr2[] = { 0, 10, 20, 30, 40, 50 }; // copies an array from the specified source array System.arraycopy(arr1, 0, arr2, 0, 1); System.out.print(\ System.out.print(arr2[0] + \ System.out.print(arr2[1] + \ System.out.print(arr2[2] + \ System.out.print(arr2[3] + \ System.out.print(arr2[4] + \ } } (1)编译SystemDemo.java (2)运行SystemDemo.class (3)把源程序写在实验报告中。 (4)程序的输出结果写在实验报告中。 (二)数组类Arrays的应用 java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能: (1)给数组赋值:通过fill方法。 (2)对数组排序:通过sort方法,按升序。 (3)比较数组:通过equals方法比较数组中元素值是否相等。 (4) 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。 1. 编译和运行下面的程序,观察并分析结果。 import java.util.Arrays; public class TestArrays { public static void output(int[] array) { if (array!=null) { for (int i = 0; i < array.length; i++) { System.out.print(array[i]+\} } System.out.println(); } public static void main(String[] args) { int[] array = new int[5]; //填充数组 Arrays.fill(array, 5); System.out.println(\填充数组:Arrays.fill(array, 5):\TestArrays.output(array); //将数组的第2和第3个元素赋值为8 Arrays.fill(array, 2, 4, 8); System.out.println(\将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):\TestArrays.output(array); int[] array1 = {7,8,3,2,12,6,3,5,4}; //对数组的第2个到第6个进行排序进行排序 Arrays.sort(array1,2,7); System.out.println(\对数组的第2个到第6个元素进行排序进行排序:Arrays.sort(array,2,7):\TestArrays.output(array1); //对整个数组进行排序 Arrays.sort(array1); System.out.println(\对整个数组进行排序:Arrays.sort(array1):\TestArrays.output(array1); //比较数组元素是否相等 System.out.println(\比较数组元素是否相等:Arrays.equals(array, array1):\