实验7 常用Java
实验目的:
1、掌握Java API文档的使用;
2、借助于Java API 文档,熟悉String类的基本构造方法和常用方法的使用;
3    借助于Java API 文档,熟悉StringBuffer类的追加、插入、查、替换、删除等操作;
4、了解StringTokenizer类的基本用法。
5、熟悉一维和二维数组的使用
实验内容
一、(计划用时:10分钟) 字符串的比较
1、运行.\ code\字符串的比较\StringCompare.java 源程序
2、查阅API文档,结合程序运行结果,回答下列问题:
(1) 对于String对象来说,“==”运算符与equals( )方法的功能有什么不同?
答:==:比较两个字符串对象是否引用同一个实例对象;equals():比较两个字符串中对应的每个字符是否相等。
(2) s1s2是否指向同一对象?为什么?
    答:是,因为“==”运算符输出为ture
(3) s3s4是否指向同一对象?为什么?
    答:不是,因为“==”运算符输出为flase
(4) s1==s3是否成立?为什么?
    答:不成立,因为是两个不同的实例对象
(5) s1s2s3s4的内容是否相同?
    答:相同
(5) compareTo( )方法的功能是什么?当比较结果分别为 负数、正数、0 时,代表什么含义?
答:按字典顺序比较两个字符串。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0。
二、(计划用时:20分钟) String类的使用
1、查阅Java  API 文档,熟悉String类基本构造方法和常用方法的使用;
2、打开.\code\String类的使用\StringTest.java程序,根据注释将程序所缺代码补充完整。(小技巧:如果某一行的内容不会填写,可用//将该行内容注释掉,从面不影响整个程序的运行)
//String的使用
public class stringtest {
    public static void main(String args[]) {
        String str="zhangsan@scse";    //创建一个以"zhangsan@scse"为参数的String对象
        System.out.println("字符串的长度: "+str.length());  //输出字符串的长度
        System.out.println(java定义一维数组并赋值"字符串的首字符: "+str.charAt(0));//输出字符串的首字符
        System.out.println("字符串的最后一个字符: "+str.charAt(str.length()-1));//输出字符串的最后一个字符
        System.out.println("字符\'@\'的索引号(即下标): "+str.indexOf('@'));//输出字符'@'的索引号(即下标)
        System.out.println("最后一个点号(.)的索引号(即下标): "+str.lastIndexOf('.'));//输出最后一个点号(.)的索引号(即下标)
        System.out.println("该邮箱的用户名(即第一个单词): "+str.substring(0,str.indexOf('@'))
);//输出该邮箱的用户名(即第一个单词)
        System.out.println("该邮箱的顶级域名(即最后一个单词): "+str.substring(str.lastIndexOf('.')+1,str.length()));//输出该邮箱的顶级域名(即最后一个单词)
        System.out.println("字符串全部以大写方式输出为: "+UpperCase());//字符串全部以大写方式输出
        System.out.println("字符串全部以小写方式输出为: "+LowerCase());//字符串全部以小写方式输出
    }
}
三、(计划用时:15分钟) StringBuffer类的使用
1、查阅Java  API 文档,熟悉StringBuffer类的追加、插入、查、替换、删除等操作;
2、打开.\code\StringBuffer类的增加、删除和修改\StringBufferTest.java程序,根据注释将程序所缺代码补充完整。
(小技巧:如果某一行的内容不会填写,可用//将该行内容注释掉,从面不影响整个程序的运行)
//StringBuffer的增加、删除和修改
public class StringBufferTest {
    public static void main(String args[]) {
        char ch[]={'2','0','0','8',''};
        StringBuffer sb=new StringBuffer("北京奥运会开幕时间: ");//创建一个以"北京奥运会开幕时间: "为参数的StringBuffer对象
        sb.append("88日晚8");    //sb尾部追加"88日晚8"字符串
        sb.insert(sb.length(),ch);    //sb头部插入字符数组ch的内容
        System.out.println("字符串内容为: "+sb.toString());
       
        int n=sb.indexOf("北京");
        sb.replace(n,2,"29");    //将字符串中"北京"替换为"29"
        System.out.println("替换后,得到的字符串内容为: "+sb.toString());
        System.out.println("字符串的长度为: "+sb.length());//输出字符串的长度
        sb.delete(0,18);    //删除字符串中从第6个字符开始到第18个字符为止的内容
        System.out.println("删除字符串后,得到的字符串内容为: "+sb.toString());
    }
}
四、(计划用时:10分钟) StringTokenizer类的使用 (选做题)
打开.\code\字符串的单词分析器\StringTokenizerTest.java程序,阅读程序代码,理解各语句的功能,最后运行程序。
五、(计划用时:10分钟) 一维数组的使用
1、打开.\code\一维数组\文件夹中 Array.java 源文件,根据注释填充所缺代码,然后编译、运行该程序,并回答相关问题:
程序代码
//一维数组:声明,创建,初始化,数组元素的引用及数组拷贝
public class Array{
    public static void main(String[] args){
        String strArray[];        //声明一个String类型的一维数组
        strArray=new String[5];        //strArray数组分配存放5个字符串的空间
        for (int i=0; i<strArray.length;i++)    //输出strArray数组各元素的值
            System.out.println("StrArray["+i+"] = "+strArray[i]);
               
        System.out.println();
        String FuWa[]={"贝贝","晶晶" ,"欢欢" ,"迎迎", "妮妮"};
        for (int i=0; i<FuWa.length;i++)        //输出FUWa数组各元素的值
            System.out.println("FuWa["+i+"] = "+FuWa[i]);
       
        System.arraycopy(FuWa, 0, strArray, 0, 3); //FuWa中的前三个元素拷贝到strArray对应的位置上
        for (int i=0; i<strArray.length;i++)      //输出strArray数组各元素的值
            System.out.println("StrArray["+i+"] = "+strArray[i]);                   
    }
}
问题:
(1)一维数组如何声明、创建?如果没有给数组元素赋值,则它们的取值如何?
答:声明:数据类型  数组名[ ]
          数据类型[ ]  数组名
  创建:new  数据类型[数组的长度]
  空值
(2)数组的静态初始化具有什么功能?
答:在定义数组的同时就为数组元素分配空间并赋值
(3)要了解数组元素的个数,可用访问数组的什么属性得到?
答:length长度
(4)怎样引用数组的元素?写出它的下标取范围。
答:数组名[i]i的取值范围为0~i-1
(5)如何将一个数组的内容拷贝到另一个数组中?
答:arraycopy
六、(计划用时:15分钟) 维数组的使用
1、打开.\code\二维数组\文件夹中 Array2.java 源文件,根据注释和邻近的程序段填充所缺代码,然后编译、运行该程序,并回答相关问题:
程序代码
import java.util.Arrays;
public class Array2{
    public static void main(String[] args){
        //声明一个名为myArray的数组,该数组有2,每行列数不等,并为其分配内存空间
        int myArray[][]=new int[2][];           
        myArray[0]=new int[5];                //第一行有5个元素,并为其分配内存空间
        myArray[1]=new int[10];        //第二行有10个元素,并为其分配内存空间
       
        for (int j=0; j<myArray[0].length;j++)    //1-10之间的随机整数给第一行元素赋值
            myArray[0][j]=(int)(Math.random()*10);
       
        for (int j=0; j<myArray[1].length;j++) //100-200之间的随机整数给第二行元素赋值
            myArray[1][j]=(int)(Math.random()*100+100);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。