任务1JAVA编程高级-工具类.ppt
《任务1JAVA编程高级-工具类.ppt》由会员分享,可在线阅读,更多相关《任务1JAVA编程高级-工具类.ppt(73页珍藏版)》请在三一办公上搜索。
1、为什么要读书?,举个例子,当你在湖边看到夕阳余晖,你的脑海里浮现的是“落霞与孤鹜齐飞,秋水共长天一色”,而不是“卧槽,真好看,真特么太好看了”。明白了吧。,为什么要学编程?兴趣?生活所迫?职业?。,Java 高级编程,主讲教师:刘小飞2016-8,教学内容,一、工具类二、集合类三、文件与流四、多线程编程五、网络编程,一、工具类,本章内容,JAVA API,JAVA API简介java.langJava语言包(包含String、Math、System等类),任何类中,该包中的类都会被自动导入。java.util包含一些实用的工具类(包含list,calendar,date等类)java.awt图
2、形用户界面包。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语言是
3、一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。,包装类,包装类简介,包装类,包装类简介对于包装类说,这些类的用途主要包含两种:a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。由于八个包装类的使用比较类似,下面以最常用的Integer类为例子介绍包装类的实际使用。,包装类,1、实现int和Integer类之间的转换
4、在实际转换时,使用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(Str
5、ing 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;Strin
6、g 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
7、类型 int n=in;所以在实际使用时的类型转换将变得很简单,系统将自动实现对应的转换。,字符串类,字符串是我们在编程中最常使用的一种数据类型,它的表现形式可以分为两种:String和StringBuffer。它不属于8种基本的数据类型,而是一种引用类型。String对象代表一组不可改变的Unicode字符序列,对它的任何修改实际上又产生一个新的字符串,String类对象的内容一旦被初始化就不能再改变。StringBuffer对象代表一组可改变的Unicode字符序列。同时,String类是final类型的类。,字符串类,String的创建:有两种方式:静态方式(常用)。像是给变量直接赋值一
8、样来使用。如:String s1=“abc”;String s2=“abc”;动态方式。动态的内存分配,使用new运算符。如:String s3=new String(“abc”);String s4=new String(“abc”);那么这两种方式创建的字符串是同一个字符串对象嘛?不,是有区别的。在于:使用静态方式创建的字符串,在方法区的常量池中只会产生唯一一个字符串对象,使用该方式产生同样一个字符串时,内存中不再开辟另外一块空间,而是两个引用变量指向同一个字符串对象。使用动态方式创建的字符串,在堆内存中会产生出不同的对象。,s2,s1,栈,“abc”,“abc”,“abc”,堆,常量池,
9、栈,s3,s4,字符串类,String对象的创建String类的构造方法初始化一个新创建的 String 对象,它表示一个空字符序列。初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列 分配一个新的字符串,它包含当前包含在字符串缓冲区参数中的字符序列。字符串文字常量本身是一个String对象,String 变量名=new String();,String 变量名=new String(String value);,String 变量名=new String(StringBuffer buf);,String 变量名=“hello”;,字符串类,String对象的创建Stri
10、ng类的构造方法初始化一个新创建的 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对象,表示一
11、个空字符串(“”);注意空字符串与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 as
12、ciiChars)使用一个字节数组创建一个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
13、+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(
14、“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)
15、;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()两种方式对字符串进
16、行比较,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);,字符串类,字符串的截取和分割Subs
17、tring()方法用于截取字符串的一部分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(分割后的字符串数组中的元素依次为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 任务 JAVA 编程 高级 工具

链接地址:https://www.31ppt.com/p-6547659.html