欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    java程序设计教学教案课件05.ppt

    • 资源ID:2145533       资源大小:1.02MB        全文页数:77页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java程序设计教学教案课件05.ppt

    第五章 常用实体类,5.1 String类,Java使用java.lang包中的String 类来创建一个字符串变量. 1.字符串常量 如:”你好” “12.3456” “SCHOOL” 2.声明字符串 String s;,5.1 String类,3.创建字符串 使用String类的构造方法 例如:s=new String(“ we are students”); 也可以用一个已经创建的字符串去创建另一个字符串 如:String tom=String(s); 另外比较常用的构造方法: String (char a):用一个字符数组a创建一个字符串对象,如: Char a=b , o , y; String s=new String(a); String(char a ,int startIndex , int count):提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数. 如:char a=s , t , b , u , s , n; String s=new String(a,2,3);,5.1 String类,4.引用字符串常量对象 字符串常量是对象,因此把字符串常量的引用赋值给一个字符串变量,则具有相同的实体. 如: String s1,s2; S1=“how are you”; S2=“how are you”;,0xAb28,0xAb28,How are you,5.1.5 String类的常用方法,1.public int length() 使用String 类的length()方法可以获取一个字符串的长度, 如: String s=“We are students”,tom=“我们是学生”; int n1,n2; n1=s.length(); n2=s.length();,5.1.5 String类的常用方法,2.public boolean equals(String s) 使用String 类的equals方法,比较当前字符串对象的实体是否与参数指定的字符串s的实体相同. 如: String tom=new String(“we are students”); String boy=new String(“We are students”); String jerry=new String(“we are students”); tom.equals(boy) 的值是false tom.equals(jerry)的值是true 字符串调用public boolean equalslgnoreCase(String s)比较当前字符串对象与参数指定的字符串s是否相同,比较时忽略大小写.,5.1.5 String类的常用方法,equals的用法 class Example5_1 public static void main(String args) String s1,s2; s1=new String(“we are students“); s2=new String(“we are students“); System.out.println(s1.equals(s2); /输出结果是:true。 System.out.println(s1=s2); /输出结果是:false String s3,s4; s3=“how are you“; s4=“how are you“; System.out.println(s3.equals(s4); /输出结果是:true。 System.out.println(s3=s4); /输出结果是:true。 ,5.1.5 String类的常用方法,3.public boolean startsWith(String s) 、 public boolean endsWith(String s) 方法 字符串对象调用startsWith(String s)方法,判断当前字符串对象的前缀是否是参数指定的字符串s. 如: String tom=“220302620629021”; String jerry=“21079670924022”; tom.startsWith(“220”) 的值是true; jerry.startsWith(“220”)的值是false. 使用endsWith(String s)方法,判断一个字符串的后缀是否是字符串s,如: tom.endsWith(“021”) 的值是true; jerry.startsWith(“021”)的值是false.,5.1.5 String类的常用方法,4.public boolean regionMatches(int firstStart,String other,int ortherStart,int length) 方法 字符串对象调用regionMatches(int firstStart,String other,int ortherStart,int length) 方法,从当前字符串参数firstStart指定的位置开始处,取长度为length的一个子串,并将这个子串和参数other指定的一个子串进行比较,其中,other指定的子串是从otherStart指定的位置开始,从other中取长度为length的一个子串。如果两个子串相同该方法就返回true,否则返回false 使用该方法的重载方法, public boolean regMatches (boolean b,int firstStart, String other , int otherStart ,int length) 可以通过参数b决定是否忽略大小写,当b取true时,忽略大小写。,5.1.5 String类的常用方法,/判断一个字符串中出现了几个en class Example5_2 public static void main(String args) int number=0; String s=“student;entropy;engage,english,client“; for(int k=0;ks.length();k+) if(s.regionMatches(k,“en“,0,2) number+; System.out.println(“number=“+number); ,5.1.5 String类的常用方法,5.public int compareTo(String s) 方法 字符串对象可以使用compareTo(String s) 方法,按照字典序与参数s指定的字符串比较大小。如果当前的字符串与s,相同,该方法返回值是0;如果当前字符串对象大于s,该方法返回正值;如果小于s, 该方法返回负值。 如: String str=“abcde”; Str.compareTo(“boy”)小于0;str.compareTo(“aba”)大于0;str.compareTo(“abcde”)等于0 按字典比较两个字符串还可以使用 public int compareTolgnoreCase(String s)方法,该方法忽略大小写,5.1.5 String类的常用方法,/字符串排序 class Example5_3 public static void main(String args) String a=“boy“,“apple“,“Applet“,“girl“,“Hat“; for(int i=0;ia.length-1;i+) for(int j=i+1;ja.length;j+) if(aj.compareTo(ai)0) String temp=ai; ai=aj; aj=temp; for(int i=0;ia.length;i+) System.out.print(“ “+ai); ,5.1.5 String类的常用方法,6.public int indexOf(String s) 方法 字符串对象调用indexOf(String s) 方法,从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。 字符串调用indexOf(String s,int startpoint)方法从当前字符串的startpoint位置处开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。 字符串调用lastindexOf(String s)方法从当前字符串的头开始检索字符串s,并返回最后出现s的位置,如果没有检索到字符s,该方法返回的值是-1。 如: String tom=“I am a good cat”; tom.indexOf(“a”); /值是2 tom.indexOf(“good”,2); /值是7 tom.indexOf(“a”,7); /值是13 tom.indexOf(“w”,2); /值是-1,5.1.5 String类的常用方法,7.public String substring(int startpoint) 方法 字符串对象调用substring(int startpoint) 方法获得一个当前字符串的子串,该子串是从当前字符串的startpoint处截取到最后所得到的字符串,字符串对象调用substring(int start,int end)方法获得一个当前字符串的子串,该子串从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。 如: String tom=“I love tom”; String s=tom.substring(2,5); /s值是lov,5.1.5 String类的常用方法,8.public String replaceAll(String old,String new) 方法 字符串对象s调用该方法可以获得一个串对象,这个串对象是通过参数new指定的字符串替换s中的由old指定的所有字符串而得到的字符串。,5.1.5 String类的常用方法,9.public String trim() 方法 字符串s调用该方法可以得到一个字符串对象,该字符串是s去掉前后空格后的字符串。,5.1.6 字符串与基本数据类型的相互转化,java.lang包中的Integer类调用其方法: public static int parseInt(String s) 可以将“数字”格式的字符串转化为int型数据; 如: int x; String s=“3452”; x=Integet.parseInt(s);,5.1.6 字符串与基本数据类型的相互转化,java.lang包中的Byte、Short、Long、Float、Double类的数据类型转化方法: public static byte parseByte(String s) public static short parseShort(String s) public static long parseLong(String s) public static float parseFloat(String s) public static double parseDouble(String s),5.1.6 字符串与基本数据类型的相互转化,/从键盘输入若干个数,求平均值 public class Example5_4 public static void main(String args) double n,sum=0.0 ; for(int i=0;iargs.length;i+) sum=sum+Double.parseDouble(argsi); n=sum/args.length; System.out.println(“平均数:“+n); /*编译后,使用控制台输入数值 *java Example5_4 “20” “67.05” “12.66” “20.1” */,5.1.6 字符串与基本数据类型的相互转化,String 类方法将数值转化为字符串 public String valueOf(byte n) public String valueOf(int n) public String valueOf(long n) public String valueOf(float n) public String valueOf(double n) 如:String str=String.valueOf(123.5598); float x=123.562f; String temp=String.valueOf(x);,5.1.7 对象的字符串表示,所有类都默认是java.lang包中Object类的子类或间接子类。Object类有一个public方法toString(), 一个对象通过调用该方法可以获得该对象的字符串表示。,5.1.7 对象的字符串表示,例子5: import java.util.Date; import java.awt.*; public class Example5_5 public static void main(String args) Date date=new Date(); Button button=new Button(“确定“); System.out.println(date.toString(); System.out.println(button.toString(); ,5.1.8 字符串与字符、字节数组,1.字符串与字符数组: 用数组创建字符串对象,用String类的构造方法:String(char a) 和String(char a , int offset ,int length) String类也提供将字符串存放到数组中的方法: Public void getChars(int start, int end , char c ,int offset) 字符串调用getChars方法将当前字符串中的一部分字符复制到参数c指定的数组中,将字符串中从位置start到end-1位置上的字符复制到数组c中,并从数组c的offset处开始存放这些字符。注意必须保证c能容纳下要被复制的字符。,5.1.8 字符串与字符、字节数组,class Example5_6 public static void main(String args) char c,d; String s=”巴西足球队击败德国足球队”; c=new char2; s.getChars(5,7,c,0); System.out.println(c); d=new chars.length(); s.getChars(7,12,d,0); s.getChars(5,7,d,5); s.getChars(0,5,d,7); System.out.println(d); ,5.1.8 字符串与字符、字节数组,1.字符串与字符数组: String类还提供一个方法: public char toCharArray() 字符串对象调用该方法可以初始化一个字符串数组,该数组的长度与字符串的长度相等,并将字符串对象的全部字符复制到该数组中。,5.1.8 字符串与字符、字节数组,class Example5_7 public static void main(String args) String s=“列车时刻表“; char a=s.toCharArray(); for(int i=0;ia.length;i+) ai=(char)(ai't'); String secret=new String(a); System.out.println(“密文:“+secret); for(int i=0;ia.length;i+) ai=(char)(ai't'); String code=new String(a); System.out.println(“原文:“+code); ,5.1.8 字符串与字符、字节数组,2.字符串与字节数组: String类的构造方法String(byte)用指定的字节数组构造一个字符串对象。 String(byte, int offset ,int length)构造方法用指定的字节数组的一部分,即从数组起始位置offset开始取 length个字节构造一个字符串对象。 public byte getBytes()方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。,5.1.8 字符串与字符、字节数组,public class Example5_8 public static void main(String args) byte d=“你我他“.getBytes(); System.out.println(“数组d的长度是(一个汉字占两个字节):“+d.length); String s=new String(d,0,2); System.out.println(s); ,5.2 StringBuffer类,String类创建的字符串对象是不可修改的,String对象一旦创建,那么实体是不可以再发生变化的。 如: String s=new String(“I love this game”);,0x12ABC,I love this game,不可以再发生变化,对象,实体,5.2 StringBuffer类,StringBuffer类创建的字符串对象可修改,该类对象的实体内存空间可以自动地改变大小,便于存放一个可变的字符串。如: StringBuffer s=new StringBuffer(“I love this game”); s.append(“ ok”);,0x12ABC,I love this game ok,可以再发生变化,对象,实体,5.2 StringBuffer类,1.StringBuffer类的构造方法: StringBuffer() StringBuffer(int size) StringBuffer(String s),5.2 StringBuffer类,1.StringBuffer类的构造方法: StringBuffer() 无参数的构造方法创建StringBuffer对象,分配给该对象的实体的初始容量可以容纳16个字符,当该对象的实体存放的字符序列长度大于16时候,实体自动增加。 StringBuffer对象可以通过length()方法获取实体中存放的字符序列长度,通过capacity()方法获取当前实体的实际容量。,5.2 StringBuffer类,1.StringBuffer类的构造方法: StringBuffer(int size) 用此构造方法创建一个StringBuffer对象,可指定分配给该对象的实体的初始容量为参数size指定的字符个数,当对象的实体存放的字符序列的长度大于size时,实体的容量自动增加。,5.2 StringBuffer类,1.StringBuffer类的构造方法: StringBuffer(String s) 用此构造方法创建一个StringBuffer对象,可以指定分配给该对象的实体的初始容量为参数字符串s的长度再加16个字符。,5.2 StringBuffer类,class Example5_9 public static void main(String args) StringBuffer str=new StringBuffer(); str.append(“大家好“); System.out.println(“str:“+str); System.out.println(“length:“+str.length(); System.out.println(“capacity:“+str.capacity(); str.append(“我们大家都很愿意学习Java语言“); System.out.println(“str:“+str); System.out.println(“length:“+str.length(); System.out.println(“capacity:“+str.capacity(); StringBuffer sb=new StringBuffer(“Hello“); System.out.println(“length:“+sb.length(); System.out.println(“capacity:“+sb.capacity(); ,5.2 StringBuffer类,2.StringBuffer类的常用方法: append方法 使用StringBuffer类的append方法可以将其他Java类型数据转化为字符串后,再追加到StringBuffer对象中。 StringBuffer append(String s):将一个字符串对象追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。 StringBuffer append(int n):将一个int类型数据转化为字符串对象后再追加到当前StringBuffer对象中,并返回StringBuffer对象的引用。 StringBuffer append(Object o):将一个Object对象的字符串表示追加到当前的StringBuffer对象中,并返回当前StringBuffer对象的引用。 StringBuffer append(long n) StringBuffer append(boolean n) StringBuffer append(float n),5.2 StringBuffer类,2.StringBuffer类的常用方法: public char charAt(int n) 和 public void setCharAt(int n,char ch) char charAt(int n):得到参数n指定位置上的单个字符 setCharAt(int n,char ch):将当前StringBuffer对象实体中的字符串位置n处的字符用参数ch制定的字符替换。,5.2 StringBuffer类,2.StringBuffer类的常用方法: StringBuffer insert(int index,String str): insert方法将一个字符串插入到另一个字符串中,并返回当前对象的引用。 public StringBuffer reverse() 该方法将对象实体中的字符翻转,并返回当前对象的引用。 StringBuffer delete(int startIndex,int endIndex) 从当前StringBuffer对象实体的字符串中删除一个子字符串,并返回当前对象的应用。,5.2 StringBuffer类,2.StringBuffer类的常用方法: StringBuffer replace(int startIndex,int endIndex,String str) 该方法将当前StringBuffer对象实体中的字符串的一个字字符串用参数str指定的字符串替换。,5.2 StringBuffer类,例子10 class Example5_10 public static void main(String args) StringBuffer str=new StringBuffer(“我们大家都很愿意学习Java语言“); str.setCharAt(0 ,'w'); str.setCharAt(1 ,'e'); System.out.println(str); str.insert(2, “ all“); System.out.println(str); str.delete(6,8); System.out.println(str); int index=str.indexOf(“都“); str.replace(index,str.length(),“ love java“); System.out.println(str); ,5.3 StringTokenizer类,java.util包中的StringTokenizer类可以分析一个字符串并将字符串分解成可以被独立使用的单词。 两个构造方法: StringTokenizer(String s):为字符串s构造一个分析器,使用默认的分割符集合,即空格符、换行符、回车符、Tab符、进纸符等 StringTokenizer(String s,String delim):为字符串s构造一个分析器。参数dilim中的字符被作为分割符。,5.3 StringTokenizer类,nextToken()方法:可以逐个获取字符串中的单词。 hasMoreTokens()方法:字符串有语言符号,该方法返回true countTokens():得到字符串一共有多少个单词。,5.3 StringTokenizer类,例子11: import java.util.*; public class Example5_11 public static void main(String args) String s=“we are stud,ents“; StringTokenizer fenxi=new StringTokenizer(s,“ ,“); /空格和逗号做分 int number=fenxi.countTokens(); while(fenxi.hasMoreTokens() String str=fenxi.nextToken(); System.out.println(str); System.out.println(“还剩“+fenxi.countTokens()+“个单词“); System.out.println(“s共有单词:“+number+“个“); ,5.4 Character类,常用方法: public static boolean isDigit(char ch)如果ch是数字字符方法返回true public static boolean isLetter(char ch)如果ch 是字母方法返回true public static boolean isLowerCase(char ch)如果ch是小写字母方法返回true public static boolean isUpperCase(char ch)如果ch是大写字母方法返回true public static char toLowerCase(char ch)返回ch的小写形式 public static char toUpperCase(char ch)返回ch的大写形式 public static boolean isSpaceChar(char ch)如果ch是空格返回true,5.4 Character类,例子12: import java.util.*; public class Example5_12 public static void main(String args) String s=new String(“abcABC123“); System.out.println(s); char a=s.toCharArray(); for(int i=0;ia.length;i+) if(Character.isLowerCase(ai) ai=Character.toUpperCase(ai); else if(Character.isUpperCase(ai) ai=Character.toLowerCase(ai); s=new String(a); System.out.println(s); ,5.5 Date类,Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。 用Date的构造方法Date(long time)创建的Date对象表示相对1970年1月1日0点(GMT)的时间。 获取系统时间: System类的静态方法 public long currentTimeMills() 用此方法获取的时间是从1970年1月1日0点(GMT)到目前时刻所走过的毫秒数。 Date 对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年,5.5 Date类,格式化日期: DateFormat的子类SimpleDateFormat实现日期的格式化,采用SimpleDateFormat的常用构造方法: public SimpleDateFormat(String pattern) 用该构造方法创建的对象调用format(Date date)方法格式化时间对象date。注:pattern中应当还有一些有效的字符序列,如下: y或yy 表示用2位数字输出年份;yyyy表示用4位数字输出年份 M或MM表示用2位数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如:MMM。 d或dd 表示用2位数字输出日 H或HH 表示用2位数字输出小时 m或mm 表示用2位数字输出分 s或ss 表示用2位数字输出秒 E 表示用字符串输出星期,5.5 Date类,import java.util.Date; import java.text.SimpleDateFormat; class Example5_13 public static void main(String args) Date nowTime=new Date(); System.out.println(“现在的时间:“+nowTime); SimpleDateFormat matter1=new SimpleDateFormat(“yyyy年MM月dd日 北京时间“); System.out.println(“现在的时间:“+matter1.format(nowTime); SimpleDateFormat matter2= new SimpleDateFormat(“yyyy年MM月Edd日HH时mm分ss秒 北京时间“); System.out.println(“现在的时间:“+matter2.format(nowTime); SimpleDateFormat matter3= new SimpleDateFormat(“北京时间dd日HH时MMM ss秒mm分EE“); System.out.println(“现在的时间:“+matter3.format(nowTime); long time=-1800; Date date=new Date(time); System.out.println(“-1800秒表示的日期时间是:“+date); ,5.6 Calendar类,Calendar类在java.util包中。 使用Calendar类的static方法getInstance()可初始化一个日历对象。 如:Calendar calendar=Calendar.getInstance(); 可以调用以下方法,可以将日历翻到任何一个时间: public final void set (int year,int month, int date) public final void set(int year,int month , int date,int hour,int minute) public final void set(int year,int month,int date, int hour, int minute, int second) 当参数year取负数时候表示公元前。,5.6 Calendar类,调用方法public int get(int field)可以获得有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定。 例如:calendar.get(Calendar.MONTH); 返回一个整数,如果整数是0表示当前是在一月,整数是1表示当前日历是在二月。 调用方法public int getTimeInMillis()可以将时间表示为毫秒。,5.6 Calendar类,import java.util.*; class Example5_14 public static void main(String args) Calendar calendar=Calendar.getInstance(); /创建一个日历对象。 calendar.setTime(new Date(); /用当前时间初始化日历时间。 String 年=String.valueOf(calendar.get(Calendar.YEAR), 月=String.valueOf(calendar.get(Calendar.MONTH)+1), 日=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH), 星期=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1); int hour=calendar.get(Calendar.HOUR_OF_DAY), minute=calendar.get(Calendar.MINUTE), second=calendar.get(Calendar.SECOND); System.out.println(“现在的时间是:“); System.out.println(“+年+“年“+月+“月“+日+“日 “+ “星期“+星期); System.out.println(“+hour+“时“+minute+“分“+second+“秒“); calendar.set(1962,5,29); /将日历翻到1962年6月29日,注意5表示六月。 long time1962=calendar.getTimeInMillis(); calendar.set(2003,9,5); /将日历翻到2003年10月5日。9表示十月。 long time2003=calendar.getTimeInMillis(); long 相隔天数=(time2003-time1962)/(1000*60*60*24); System.out.println(“2003年10月5日和1962年6月29日相隔“+相隔天数+“天“); ,5.6 Calendar类,import java.util.*; class Example5_15 public static void main(String args) System.out.println(“ 日 一 二 三 四 五 六“); Calendar 日历=Calendar.getInstance(); 日历.set(2004,9,1); /将日历

    注意事项

    本文(java程序设计教学教案课件05.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开