java教案12电信08.docx
- 文档编号:9620015
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:12
- 大小:20.06KB
java教案12电信08.docx
《java教案12电信08.docx》由会员分享,可在线阅读,更多相关《java教案12电信08.docx(12页珍藏版)》请在冰豆网上搜索。
java教案12电信08
课 时 授 课 计 划
课次序号:
13
一、课 题:
Java类库中的几种常用类
二、课 型:
课堂讲授
三、目的要求:
学生通过该次课的学习,掌握基本数据类型类、String、stringBuffer的用法,参考类型比较运算规则,了解System、Math、Date的用法;
四、重点、难点:
重点:
掌握基本数据类型类、String、stringBuffer的用法,参考类型比较运算规则
难点:
基本数据类型类与字符串的转换,字符串的操作,参考类型比较运算规则
五、教学方法及手段:
一讲授为主,例题的编辑、编译、运行结合现场演示进行。
六、参考资料:
《JAVA程序设计实用教程》
七、作业:
编写程序判定一个字符串是否为回文。
八、授课记录:
授课日期
10月12日
班 次
电信081
九、授课效果分析:
十、教学进程(教学内容、教学环节及时间分配等)
1、复习
2、导入课题
3、教学内容
类库中的几种常用类
1.基本数据类型类
基本数据类型基本数据类型类(在java.lang包中)
booleanBoolean
charCharacter
intInteger
byteByte
shortShort
longLong
floatFloat
doubleDouble
1)构造函数
Integerx=newInteger(3);
2)字符串转换为相应的数据类型
intI=Integer.parseInt(“1234”);
floatf=Float.parseFloat(“123.4”);
intI=Integer.valueOf(“123”).intValue();
floatf=Float.valueOf(“12.3”).floatValue();
2.System类(在java.lang包中)
包括属性:
标准输入:
InputStreamin
标准输出:
PrintStream out
标准错误输出:
PrintStreamerr
3.String和Stringuffer(在java.lang包中)
程序中用到的字符串无非两类:
一类是在程序运行过程中值不改变,这种是字符串常量,Java用String类来表示;另一类是在程序的运行中值可以发生变化,即字符串可以被编辑修改,这种是字符串变量,Java用StringBuffer类来表示。
不管字符串常量还是字符串变量,字符串中每个字符都有一个下标值,字符串中第一个字符的下标值是0。
1)String
*构造函数
(1)publicString()
无参数构造函数用来创建一个空串。
(2)publicString(Stringvalue)
该构造函数用一个已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。
这个字符串常量可以是另一个String对象,也可以是一个用双引号括起的直接常量。
例如:
Strings=newString(“Java语言”);
该句可以简写为:
Strings=“Java语言”;
(3)publicString(charvalue[])
通过传给构造函数一个字符数组来指定字符串的内容。
注意在Java中字符数组不等同于字符串,将字符数组的字符组合成一个字符串需要用到这个构造函数。
这一点跟c语言不一样。
例如:
charch={‘J’,’a’,’v’,’a’};
Strings=newString(ch);
(4)publicString(charvalue[],intstartIndex,intnumChars)
该构造函数用参数中给出的字符数组中,从startIndex起的numChars个字符构造一个字符串。
例如:
charch={‘J’,’a’,’v’,’a’};
Strings=newString(ch,1,2);//s=”av”
*常用方法
(1)publilclength()
返回字符串的长度,即字符串中包含的字符个数。
例如:
Strings=“Java语言”;
System.out.println(s.length());//结果为6
(2)publilccharcharAt(intindex)
返回字符串中index位置上的字符。
例如:
charch=s.charAt
(2);//返回字符‘v’
(3)publilcvoidgetChars(intsStart,intsEnd,chardst[],intdstStart)
从当前字符串中拷贝若干个字符到字符数组中去。
拷贝的字符从第sStart个开始(包括第sStart个),至第sEnd个终止(不包括第sEnd个)。
这些字符依次存入字符数组dst[]中,位置从dstStart开始。
例如:
Strings=“Java语言”;
charch=newchar[4];
s.getChars(0,4,ch,0);//ch={‘J’,’a’,’v’,’a’}
(4)publilcintcompareTo(Stringstr)
该方法将当前字符串与参数字符串进行按字典顺序比较大小。
如果当前字符串小,则返回小余0的整数,如果两个字符串相等则返回0,当前字符串大,则返回大于0的整数。
例如:
Strings=“abcd”;s1=“abbd”;s2=“abcd”;s3=“abdd”;
System.out.println(s.compareTo(s1));
System.out.println(s.compareTo(s2));
System.out.println(s.compareTo(s3));
结果为:
1
0
-1
(5)publicboolenequals(Objectobj)
publilcboolenequalsIgnoreCase(Stringobj)
判定当前字符串与参数字符串是否相等,相等则返回ture,不相等则返回false。
两者的不同是前者区分大小写,后者不区分大小写。
方法equals是继承自Object类,故它的参数类型是Object。
例如:
(接上例)
System.out.println(“s.equals(s1)”+s.equals(s1));
System.out.println(“s.equals(s1)”+s.equals(s2));
结果为:
false
true
(6)publilcintindexOf(intch)
publilcintindexOf(intch,intfromIndex)
publilcintlastindexOf(intch)
publilcintlastindexOf(intch,fromIndex)
在当前字符串中查找参数指定的字符在串中首次出现的位置,如果查找成功则返回该位置,否则返回-1。
前两个方法是在字符串中从前向后查,后两个是从后往前查。
第一个方法从字符串的第一个字符查起,第三个从最后一个字符查起。
第二个和第四个方法都是从fromIndex位置开始查起。
例如:
Strings=“他不仅会Java语言,还会Jsp语言”;
intt=0;
while(t!
=-1){
t=s.indexOf((int)'J',t+1);
System.out.print(t+"\t");
}
结果为:
413-1
(7)publilcintindexOf(Stringstr)
publilcintindexOf(Stringstr,fromIndex)
publilcintintlastindexOf(Stringstr)
publilcintlastindexOf(Stringstr,fromIndex)
本组方法与上一组类似,区别在于这里是在当前字符串中查找参数指定的子串的起始位置。
用法跟上一组类似。
例如:
(仍用上例中的字符串s)
Stringsubs="语言";
intt=s.length()-1;
while(t!
=-1){
t=s.lastIndexOf(subs,t-1);
System.out.print(t+"\t");
}
结果为:
168-1
(8)publilcsubstring(intbeginIndex)
publicsubstring(intbeginIndex,intendIndex)
返回当前字符串中指定的一个子串。
参数beginIndex指定子串在当前字符串中的起始位置,参数endIndex指定子串在当前字符串中的结束位置的下一个位置。
第一个方法中没有参数endIndex,则子串的结束位置为当前字符串的最后一个字符。
例如:
Strings=“Java语言”;
System.out.print(s.substring(4)+“\t”+s.substring(0,4));
结果为:
语言Java
(9)publicstaticStringvalueOf(boolean b)
该方法可以将参数中的boolean类型的数据转换为字符串,例如:
当参数b为true时,经过该方法可以将其转换为字符串“ture”。
同样的道理,这里的参数类型还可以是int、char、long、double、float。
通过该方法可以将这些类型的数据转换为字符串。
2)StringBuffer
*构造函数
(1)publicStringBuffer();
建立一个空串的缓冲区,其长度为16即可以存储16个字符的容量。
(2)publicStringBuffer(intlength);
建立一个长度为length的空串缓冲区。
(3)publicStringBuffer(Stringstr);
初始化缓冲区的内容为str。
例如:
StringBuffers1=newStringBuffer(“Java语言”);//创建一个缓冲区,其中存放的内容是“Java语言”。
*常用方法
(1)publicintlength()
该方法返回字符串的字符个数。
(2)publicStringBufferappend(Stringstr)
用于将一个字符串添加在当前字符串变量的末尾。
为了使字符串缓冲区能存放下添加的字符,根据添加的字符串长度,字符串缓冲区会自动增加参数str长度的容量。
(3)publicStringBufferappend(char[]str)
用于将一个字符数组里的字符添加到当前字符串缓冲区内。
在添加前,先通过String类的方法valueOf()将该字符数组转化成字符串,然后将字符串添加到字符串缓冲区内。
publicStringBufferappend(booleanb)
首先用String类的方法valueOf()把boolean类型的数据转换为字符串,然后将字符串添加到当前字符缓冲区内。
这里参数类型还可以是char、int、long、float、double。
(3)publicStringBufferinsert(intoffset,Stringstr)
将参数给定的字符串插入到当前字符串缓冲区的offset位置处。
字符串缓冲区增加str长度的容量,从offset开始的字符向后移动。
publicStringBufferinsert(intoffset,booleanb)
将boolean类型的数据转化为字符串插入到当前字符串缓冲区的offset位置,这里待插入的参数类型还可以是char、int、long、float、double及字符数组。
(4)publicStringtoString()
当前字符串变量转换为字符串常量并返回,原字符串变量不变。
StringBuffer的对象不能在屏幕上显示出来,因为方法println()不接受StringBuffer类型的参数,所以需要在屏幕上显示StringBuffer对象时,先用toString()返回一个String类型的对象,然后再输出。
举例:
例8-1
publicclassstrb1{
publicstaticvoidmain(Stringargs[]){
StringBufferstrb1=newStringBuffer();
strb1.append("这是一本书。
");
System.out.println(strb1.toString());
strb1.insert(3,"Java");
strb1.append(32.5f);
System.out.println(strb1.toString());
System.out.println("Itslengthis"+strb1.length());
}
}
运行结果:
这是一本书。
这是一Java本书。
32.5
Itslengthis14
4.Math类(在java.lang包中)
5.Date、Calendar、DateFormat
Date、Calendar:
(java.util包中)
DateFormat:
(java.text包中)
Java统计从1970年1月1日起的毫秒的数量表示日期
1)Date类可以在java.util包中找到,用一个long类型的值表示一个指定的时刻。
它的一个有用的构造函数是Date(),它创建一个表示创建时刻的对象。
getTime()方法返回Date对象的long值。
Java的Date类使用long类型纪录这些毫秒值。
因为long是有符号整数,所以日期可以在1970年1月1日之前,也可以在这之后。
例now.java
importjava.util.*;
publicclassnow{
publicstaticvoidmain(String[]args){
Datenow=newDate();
longnowLong=now.getTime();
System.out.println("Valueis"+nowLong);
}
}
2) DateFormat类的一个目标是建立一个人们能够识别的字符串。
然而,因为语言的差别,不是所有的人希望看到严格的相同格式的日期。
法国人更喜欢看到"25 decembre 2000,",但是美国人习惯看到"December 25,2000."所以一个DateFormat的实例创建以后,这个对象包含了日期的显示格式的信息。
Java还提供了几个选择日期格式,使用缺省格式的getDateInstance()方法,可以通过使用重载的getDateInstance(int style)获得。
出于方便的原因,DateFormat提供了几种预置的常量,你可以使用这些常量参数:
SHORT, MEDIUM, LONG, 和FULL。
例:
StyleDemo.java
importjava.util.*;
importjava.text.*;
publicclassStyleDemo{
publicstaticvoidmain(String[]args){
Datenow=newDate();
DateFormatdf=DateFormat.getDateInstance();
DateFormatdf1=DateFormat.getDateInstance(DateFormat.SHORT);
DateFormatdf2=DateFormat.getDateInstance(DateFormat.MEDIUM);
DateFormatdf3=DateFormat.getDateInstance(DateFormat.LONG);
DateFormatdf4=DateFormat.getDateInstance(DateFormat.FULL);
Strings=df.format(now);
Strings1=df1.format(now);
Strings2=df2.format(now);
Strings3=df3.format(now);
Strings4=df4.format(now);
System.out.println("(Default)Todayis"+s);//(Default)Todayis2010-4-8
System.out.println("(SHORT)Todayis"+s1);//(SHORT)Todayis10-4-8
System.out.println("(MEDIUM)Todayis"+s2);//(MEDIUM)Todayis2010-4-8
System.out.println("(LONG)Todayis"+s3);//(LONG)Todayis2010年4月8日
System.out.println("(FULL)Todayis"+s4);//(FULL)Todayis2010年4月8日星期四
}
}
3)GregorianCalendar是Calendar的子类
将通过另一种方法创建一个任意得日期。
同时,你将看到怎样进行基本日期计算,例如计算90天后的另一天。
你可以使用GregorianCalendar类来完成这个任务。
GregorianCalendar类
创建一个代表任意日期的一个途径使用GregorianCalendar类的构造函数,它包含在java.util包中:
GregorianCalendar(int year, int month, int date)
注意月份的表示,一月是0,二月是1,以此类推,12月是11。
因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:
JANUARY, FEBRUARY,等等。
日期(December 17, 1903),可以使用:
GregorianCalendar firstFlight = new GregorianCalendar(1903, Calendar.DECEMBER, 17);
日期处理
GregorianCalendar类提供处理日期的方法。
一个有用的方法是add().使用add()方法,你能够增加象年,月数,天数到日期对象中。
要使用add()方法,你必须提供要增加的字段,要增加的数量。
一些有用的字段是DATE, MONTH, YEAR, 和 WEEK_OF_YEAR。
例:
nextday.java
mportjava.util.*;
importjava.text.*;
publicclassnextday{
publicstaticvoidmain(String[]args){
GregorianCalendarworldTour=newGregorianCalendar(2008,Calendar.MARCH,22);
worldTour.add(GregorianCalendar.DATE,3);
Dated=worldTour.getTime();
DateFormatdf=DateFormat.getDateInstance();
Strings=df.format(d);
System.out.println("3daysaftertoday"+s);//3daysaftertoday2008-3-25
}
}
6.随机类Random
P154
例6-21
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 教案 12 电信 08