欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    任务1JAVA编程高级-工具类.ppt

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

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

    任务1JAVA编程高级-工具类.ppt

    为什么要读书?,举个例子,当你在湖边看到夕阳余晖,你的脑海里浮现的是“落霞与孤鹜齐飞,秋水共长天一色”,而不是“卧槽,真好看,真特么太好看了”。明白了吧。,为什么要学编程?兴趣?生活所迫?职业?。,Java 高级编程,主讲教师:刘小飞2016-8,教学内容,一、工具类二、集合类三、文件与流四、多线程编程五、网络编程,一、工具类,本章内容,JAVA API,JAVA API简介java.langJava语言包(包含String、Math、System等类),任何类中,该包中的类都会被自动导入。java.util包含一些实用的工具类(包含list,calendar,date等类)java.awt图形用户界面包。java.io提供多种输入/输出功能的类。,JAVA API,JAVA API简介java.lang包含String、StringBuffer、Integer、Math、System。java.util包含一些实用的工具类(包含list,calendar,date等类)java.io提供多种输入/输出功能的类。提供网络应用功能的类。,JAVA API,JAVA API简介java.lang包,JAVA API,JAVA API简介java.util包,JAVA API,JAVA API简介java.io包,JAVA API,JAVA API简介包,包装类,包装类简介Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。,包装类,包装类简介,包装类,包装类简介对于包装类说,这些类的用途主要包含两种:a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。由于八个包装类的使用比较类似,下面以最常用的Integer类为例子介绍包装类的实际使用。,包装类,1、实现int和Integer类之间的转换在实际转换时,使用Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换,实现的代码如下:,int n=10;Integer in=new Integer(100);/将int类型转换为Integer类型 Integer in1=new Integer(n);/将Integer类型的对象转换为int类型 int m=in.intValue();,包装类,2、Integer类内部的常用方法在Integer类内部包含了一些和int操作有关的方法,下面介绍一些比较常用的方法:a、parseInt方法public static int parseInt(String s)该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:String s=“123”;int n=Integer.parseInt(s);则int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。,包装类,2、Integer类内部的常用方法b、toString方法public static String toString(int i)该方法的作用是将int类型转换为对应的String类型。使用示例代码如下:int m=1000;String s=Integer.toString(m);则字符串s的值是”1000”。,字符串与基本数据类型、包装类型转换图,字符串String,包装类Wrapper,基本数据类型,构造器或valueOf(),toString(),xxxValue()方法,通过构造器,parsexxx()方法,包装类,3、自动拆装箱JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。代码如下:/int类型会自动转换为Integer类型 int m=12;Integer in=m;/Integer类型会自动转换为int类型 int n=in;所以在实际使用时的类型转换将变得很简单,系统将自动实现对应的转换。,字符串类,字符串是我们在编程中最常使用的一种数据类型,它的表现形式可以分为两种:String和StringBuffer。它不属于8种基本的数据类型,而是一种引用类型。String对象代表一组不可改变的Unicode字符序列,对它的任何修改实际上又产生一个新的字符串,String类对象的内容一旦被初始化就不能再改变。StringBuffer对象代表一组可改变的Unicode字符序列。同时,String类是final类型的类。,字符串类,String的创建:有两种方式:静态方式(常用)。像是给变量直接赋值一样来使用。如:String s1=“abc”;String s2=“abc”;动态方式。动态的内存分配,使用new运算符。如:String s3=new String(“abc”);String s4=new String(“abc”);那么这两种方式创建的字符串是同一个字符串对象嘛?不,是有区别的。在于:使用静态方式创建的字符串,在方法区的常量池中只会产生唯一一个字符串对象,使用该方式产生同样一个字符串时,内存中不再开辟另外一块空间,而是两个引用变量指向同一个字符串对象。使用动态方式创建的字符串,在堆内存中会产生出不同的对象。,s2,s1,栈,“abc”,“abc”,“abc”,堆,常量池,栈,s3,s4,字符串类,String对象的创建String类的构造方法初始化一个新创建的 String 对象,它表示一个空字符序列。初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列 分配一个新的字符串,它包含当前包含在字符串缓冲区参数中的字符序列。字符串文字常量本身是一个String对象,String 变量名=new String();,String 变量名=new String(String value);,String 变量名=new String(StringBuffer buf);,String 变量名=“hello”;,字符串类,String对象的创建String类的构造方法初始化一个新创建的 String 对象,通过使用指定的charset 解码指定的 byte 数组 初始化一个新创建的 String 对象,通过使用指定的 charset解码指定的 byte 子数组,构造一个新的 String,String 变量名=new String(bytebytes,StringcharsetName);,String 变量名=new String(bytebytes,intoffset,intlength,Charsetcharset);,字符串类,String类构造方法String s=new String()初始化一个新创建的String对象,表示一个空字符串(“”);注意空字符串与null的区别:空字符串表示String对象的内容为空,而null表示String类的变量不指向任何的String 对象。String(String original)创建一个String对象,并用original为该对象初始化。String(char chars)使用一个字符数组创建一个String对象。String(char chars,int startIndex,int numChars)使用一个字符数组创建一个String对象,startIndex表示数组的偏移量,numChars表示由多少个字符创建。参数偏移量可以省略。String(byte asciiChars)使用一个字节数组创建一个String对象。String(byte asciiChars,int startIndex,int numChars)同上。String(StringBuffer buffer)使用StringBufffer对象中的内容为该对象初始化。,字符串类,String对象的创建连接操作符“+”,可以将其它各种类型的数据转换成字符串,并前后连接成新的字符串 练习,String str1=“hello”;String str2=“world”;String str=str1+str2;/str为“hello world”,System.out.println(5+6+A);System.out.println(5+6+”A”);System.out.println(5+”A”+6);,76,11A,5A6,字符串类,String类的创建 示例 StringDemo.java任何一个String对象在创建之后都不能对它的内容作出任何改变(immutable)连接、获得子串和改变大小写等操作,如果返回值同原字符串不同,实际上是产生了一个新的String对象在程序的任何地方,相同的字符串字面常量都是同一个对象String类重置了equals方法,用于比较两个字符串的内容,String str1=“hello”;String str2=new String(“hello”);System.out.println(str1=str2);System.out.println(str1.equals(str2);,字符串类,String对象的创建,public class TestStringCharset public static void main(String args)byte bname=new byte10;String name1=张三;try bname=name1.getBytes(utf-8);String name2=new String(bname,utf-8);System.out.println(name2=+name2);for(int i=0;ibname.length;i+)System.out.print(bnamei);catch(UnsupportedEncodingException e)e.printStackTrace();,字符串类,byte,char,String,String(byte b),getBytes(),String(char b),toCharArray(),String类的转换,字符串类,String类中常用的方法,字符串类,String类中常用的方法,字符串类,String类中常用的方法,字符串类,equals()方法在程序中可以通过=和equals()两种方式对字符串进行比较,equals()用于比较两个字符串中的字符是否相等,=方法用于比较两个字符串对象的地址是否相同。对于两个字符串对象,当他们的字符内容完全相同时,使用equals判断结果为true,但使用=判断时,结果一定为false。,字符串类,equals()方法,public static void main(String args)String str1=hello;String str2=new String(hello);System.out.println(str1=str2);System.out.println(str1.equals(str2);,字符串类,字符串的截取和分割Substring()方法用于截取字符串的一部分Split()方法可以将字符串按照某个字符进行分割。,字符串类,代码示例,public static void main(String args)/TODO Auto-generated method stubString str=china-gz-hp;/下面是字符串载取操作System.out.println(从第6字符截取到末尾的结果+str.substring(6);System.out.println(从第6字符截取到第8个字符的结果+str.substring(6,8);System.out.println(分割后的字符串数组中的元素依次为:);String strArray=str.split(-);for(int i=0;istrArray.length;i+)if(i!=strArray.length-1)/如果不是数组的最后一个元素,在元素后面加逗号System.out.print(strArrayi+,);else/数组的最后一个元素后面不加逗号System.out.print(strArrayi);,字符串类,StringBuffer类StringBuffer类用于内容可以改变的字符串可以使用StringBuffer来对字符串的内容进行动态操作,不会产生额外的对象,字符串类,StringBuffer对象的创建构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符构造一个不带字符,但具有指定初始容量的字符串缓冲区。构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。,StringBuffer 变量名=new StringBuffer();,StringBuffer 变量名=new StringBuffer(int capacity);,StringBuffer 变量名=new StringBuffer(String value);,字符串类,StringBuffer对象的创建示例:TestStr.java,public class TestStr public static void main(String args)/使用StringBufferStringBuffer sbf=new StringBuffer();/for(int i=0;i10;i+)sbf.append(i);/0123.9System.out.println(sbf);/使用StringString str=new String();for(int i=0;i10;i+)str=str+i;/0123.9System.out.println(str);,字符串类,StringBuffer类中常用的方法,字符串类,StringBuffer类中常用的方法,字符串类,示例 StringBuf.java,public class StringBuf public static void main(String args)StringBuffer sb=new StringBuffer(abc);sb.append(def);System.out.println(sb);sb.insert(sb.length(),g);System.out.println(sb);sb.reverse();System.out.println(sb);,字符串类,1、想要判断两个StringBuffer变量的内容是否相等,应先用toString()将他们转换成String对象。2、StrigBuffer节省内存开销,字符串类,StringBuilder类StringBuilder类是一个可变的字符序列。JDK自从5.0版本后引入。StringBuilder类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。,字符串类,StringBuilder对象的创建构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。构造一个不带任何字符的字符串生成器,其初始容量由 capacity 参数指定。构造一个字符串生成器,并初始化为指定的字符串内容,StringBuilder 变量名=new StringBuilder();,StringBuilder 变量名=new StringBuilder(int capacity);,StringBuilder 变量名=new StringBuilder(String str);,示例:TestStringBuilder.java,字符串类,StringBuilder类中常用的方法,字符串类,StringBuilder类中常用的方法,字符串类,示例 TestStringBuilder.java,public class TestStringBuilder public static void main(String args)StringBuilder sb=new StringBuilder(abc);sb.append(def);System.out.println(sb);sb.insert(sb.length(),g);System.out.println(sb);sb.reverse();System.out.println(sb);,字符串类,String类与StringBuilder类的比较,Java中定义了String与StringBuffer两个类来封装对字符串的各种操作 String类与StringBuffer类都被放到了java.lang包中两者的主要区别在于String类对象中的内容初始化不可以改变StringBuffer类对象中的内容可以改变,Math类,Math类Math类提供了大量用于数学运算的方法Math类是final类,因此不能从Math类继承Math类中的方法都是static方法,因此不必创建Math类的对象就可以直接使用该类的方法Math类中的常量,public static final double PI,public static final double E,Math类,Math类中的常用方法,Math类,Math类中的常用方法,Random类,Random类可以在指定的取值范围内随机产生数字。Random类包含两个构造方法,下面依次进行介绍:a、public Random()该构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数,然后使用这个种子数构造Random对象。,Random类,b、public Random(long seed)该构造方法可以通过制定一个种子数进行创建。示例代码:Random r=new Random();Random r1=new Random(10);再次强调:种子数只是随机算法的起源数字,和生成的随机数字的区间无关。,Random类,示例代码,public static void main(String args)/TODO Auto-generated method stubRandom r=new Random();/随机产生10个0,100之间的整数for(int i=0;i10;i+)System.out.println(r.nextInt(100);,public static void main(String args)/TODO Auto-generated method stubRandom r=new Random(13);/随机产生10个0,100之间的整数for(int i=0;i10;i+)System.out.println(r.nextInt(100);,日期类,Date 类java.util.Date。Date 类表示指定的时间信息,可以精确到毫秒。不支持国际化。该类的许多方法已过时。获取当前系统时间:,new Date();,现在我们更应该多使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串;Date 中的相应方法已废弃,日期类,Date类常用方法,日期类,示例:TestDate.java,public class TestDate public static void main(String args)/获取当前系统时间Date now=new Date();System.out.println(now);/比较日期Date d1=new Date(1000);/System.out.println(d1);System.out.println(now.after(d1);System.out.println(now.before(d1);System.out.println(pareTo(d1);,日期类,Calendar 类。java.util.GregorianCalendar 常用的日期处理的对象。可以设置自己的时区和国际化格式。是一个抽象类。Calendar 抽象类定义了足够的方法,让我们能够表述日历的规则。获取Calendar对象的实例,Calendar c=Calendar.getInstance();,日期类,Calendar 类:获取Calendar对象的实例:设置Calendar实例所表示的时间:获取指定的时间属性,Calendar c=Calendar.getInstance();,c.set(2011,6,16);,c.get(Calendar.YEAR);,日期类,Calendar类常用属性,日期类,示例TestCalendar,public class TestCalendar public static void main(String args)/获取Calendar类的实例Calendar c=Calendar.getInstance();/System.out.println(c);System.out.println(c.get(Calendar.YEAR)+年+(c.get(Calendar.MONTH)+1)+月+c.get(Calendar.DAY_OF_MONTH)+日);/设置指定时间c.set(2011,10,11);System.out.println(c.get(Calendar.YEAR)+年+(c.get(Calendar.MONTH)+1)+月+c.get(Calendar.DAY_OF_MONTH)+日);,SimpleDateFormat类,SimpleDateFormat类java.text.SimpleDateFormat。一个以与语言环境相关的方式来格式化和分析日期的具体类。是抽象类类的子类。SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。SimpleDateFormat类的使用获取SimpleDateFormat的实例,SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);,SimpleDateFormat类,SimpleDateFormat类的使用将日期格式成指定的字符串将格式化的字符串转换成日期对象,sdf.format(new Date();,sdf.parse(“2011-07-16”);,SimpleDateFormat类,SimpleDateFormat类中的模式字母,SimpleDateFormat类,示例:TestDateFormat.java,public class TestDateFormat public static void main(String args)/获取指定日期格式的SimpleFormat实例 1999年09月09日 12:12:12 SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);/获取指定日期的格式化字符串 String nowStr=sdf.format(new Date();System.out.println(nowStr);/将格式化的字符串转换成日期 try Date d=sdf.parse(2011-11-11 11:11:11);System.out.println(d);catch(ParseException e)System.out.println(输入的字符串不符合日期的格式);e.printStackTrace();,本章重点总结,包装类包装类、基本数据类型、字符串间的相互转换字符串类String、StringBuffer、StringBuilder的常用方法String与StringBuffer的异同、StringBuffer与StringBuilder的异同Math类Math类的常用方法日期类型Date类的使用Calendar类的使用SimpleDateFormat类,课后作业,1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。必做题2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。(识点:String中常用的方法)必做题3、生成十个0100之间的随机数,放到数组中,然后排序输出。(知识点:Math类取整,获得随机数等)必做题,课后作业,4、巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。选做题5、解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名,如果邮箱地址不合法则显示不合法的原因 选做题5.1 提示:邮箱地址不合法的因素:邮箱地址中不包含或.邮箱地址中含有多了或.邮箱地址中.出现在的前面用户名里有其他字符,课后作业,5.2实现步骤:创建一个类,类名:mailtest类图如下:6、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。选做题7、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。选做题,课后作业,8、有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。选做题,Thank You,

    注意事项

    本文(任务1JAVA编程高级-工具类.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开