Java语言最新实用教程(第2课).ppt

上传人:哈尼dd 文档编号:5019467 上传时间:2020-01-29 格式:PPT 页数:36 大小:334KB
返回 下载 相关 举报
Java语言最新实用教程(第2课).ppt_第1页
第1页 / 共36页
Java语言最新实用教程(第2课).ppt_第2页
第2页 / 共36页
Java语言最新实用教程(第2课).ppt_第3页
第3页 / 共36页
Java语言最新实用教程(第2课).ppt_第4页
第4页 / 共36页
Java语言最新实用教程(第2课).ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《Java语言最新实用教程(第2课).ppt》由会员分享,可在线阅读,更多相关《Java语言最新实用教程(第2课).ppt(36页珍藏版)》请在三一文库上搜索。

1、Java实用教程,第二课 第1章 JAVA语言概述,目录,1.5.6 Math类 1.5.7 数据类型转换 1.6 字符串和日期,1.5.6 Math类,在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等等。java.lang包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用。另外,Math类还有两个静态常量,E和PI,它们的值分别是: 2.7182828284590452354 和 3.14159265358979323846。,Math类常用方法,public static long abs(double a) 返回a的绝对值。 public stati

2、c double max(double a,double b) 返回a、b的最大值。 public static double min(double a,double b) 返回a、b的最小值。 public static double random() 产生一个0到1之间的随机数(不包括0和1)。 public static double pow(double a,double b) 返回a的b次幂。 public static double sqrt(double a) 返回a的平方根。 public static double log(double a) 返回a的对数。 public s

3、tatic double sin(double a) 返回正弦值。 public static double asin(double a) 返回反正弦值。,1.5.7数据类型转换,自动类型转换及强制转换 按精度从“低”到“高”排列: byte short char int long float double 低高,系统自动完成数据类型的转换: float x=100; 高低,必须使用显示类型转换运算 int x=(int)34.89; byte a=(byte)128;,强制转换运算可能导致精度的损失 boolean与其他数据类型不可以互相转换,其他转换,数字变成字符串 Double.toSt

4、ring(double d) Integer.toString(int i) Long Float Short Byte 数字类型转变为各种常用进制的字符串 toBinaryString(long or int) toOctalString(long or int) toHexString(long or int) 字符串转为数字 Integer.parseInt(String s) Float.parseFloat(String s) Byte Short Long Double,1.6 字符串和日期,在Java语言中,提供了一个专门用来操作字符串的类java.lang.String,在本节

5、将学习该类的使用方法。,创建字符串对象,声明并初始化字符串的常用语法如下:,String 字符串变量 = 字符串;,String aStr = null; / 初始化为空值 String bStr = “”; / 初始化为空字符串 String cStr = “MWQ”; / 初始化为“MWQ”,String cStr =new String(“BMW”); / 初始化为”BMW” String dStr =new String(“”); / 初始化为空字符串,Char aChr =h,a,p,p,y; String aStr=new String(aChr); String bStr=new

6、 String(aChr,1,3); /提取aChr中从第一个位置开始,三个字符,组成新的字符串,连接字符串,连接字符串可以通过运算符“+”实现,将多个字符串合并到一起生成一个新的字符串。 对于“+”运算符,如果有一个操作元为String类型,则为字符串连接运算符,将生成新的字符串。 【例2-5】 通过运算符“+”连接字符串。,String love = “耐心”+“真心”;,String aStr = “单价:”+5元; / “单价:5元” String bStr = “15”+15; / “1515”,字符串操作,在使用字符串时,经常需要对字符串进行处理,以满足一定的要求。常用的字符串操作

7、包括: 比较字符串 获取字符串的长度 字符串的大小写转换 查找字符串 截取子字符串 去掉字符串的首尾空格 替换字符串中的字符或子串 分割字符串,equals() 和equalsIgnoreCase() startsWith() 和endsWith() compareTo() length() toLowerCase()和toUpperCase() indexOf(int ch) 和indexOf(String str) lastIndexOf (int ch) 和lastIndexOf(String str) indexOf(int ch, int startIndex) lastIndexO

8、f (int ch, int startIndex) indexOf(String str, int startIndex) lastIndexOf(String str, int startIndex) substring() trim() replace()和replaceFirst() split(),比较字符串 equals()方法,由于字符串是对象类型,所以不能简单地用“=”(双等号)判断两个字符串是否相等,public boolean equals(String str),注意:equals()方法在比较两个字符串时区分字母大小写。,String tom=new String( “

9、we are students“); String boy=new String( “We are students“); String jerry= new String(“we are students“); System.out.println(tom.equals(boy); System.out.println(tom.equals(jerry); System.out.println(tom=jerry);,false true false,比较字符串 equalsIgnoreCase()方法,equalsIgnoreCase()方法在比较两个字符串时不区分大小写,public b

10、oolean equalsIgnoreCase(String str),注意: equalsIgnoreCase()方法不区分字母大小写。,String tom=new String( “we are students“); String boy=new String( “We are students“); String jerry= new String(“we are students“); System.out.println(tom.equalsIgnoreCase (boy); System.out.println(tom.equalsIgnoreCase (jerry); Sys

11、tem.out.println(tom=jerry);,比较字符串 startsWith() 和endsWith()方法,这两方法分别用于判断字符串是否以指定的字符串开始或结束,它们的定义如下: 参数prefix和suffix为欲比较的字符串对象,该方法的返回值为boolean型,,public boolean startsWith(String prefix) public boolean endsWith(String suffix),String str = “We are students“; boolean bs = str.startsWith(“a”); / 比较结果bs为fal

12、se boolean be = str.endsWith(“ents“); / 比较结果be为true,public boolean startsWith(String prefix, int toffset),重载方法,索引位置开始是否为指定的字符串,获取字符串的长度,String nameStr = “MingRiSoft“; int i = nameStr.length(); / 获得字符串的长度为10,字符串的大小写转换,String str = “AbCDefGh“; String lStr = str.toLowerCase(); / 结果为“abcdefgh” String uS

13、tr = str.toUpperCase(); / 结果为“ABCDEFGH”,查找字符串,indexOf():搜索字符或字符串首次出现的位置。 lastIndexOf():搜索字符或字符串最后一次出现位置 如果未搜索到字符串则返回-1。,indexOf(int ch)和 indexOf(String str) 获取指定字符或字符串在原字符串中第一次出现的索引。 lastIndexOf (int ch)和 lastIndexOf(String str) 获取指定字符或字符串在原字符串中最后一次出现的索引。 indexOf(int ch, int startIndex)指定索引位置开始第一次出现

14、的索引 lastIndexOf (int ch, int startIndex) 指定索引位置开始最后一次出现的索引 indexOf(String str, int startIndex) lastIndexOf(String str, int startIndex),查找字符串,例如下面的代码:,String str = “mingrikeji“; int i = str.indexOf(i); System.out.println(“字符i第一次出现在索引:“ + i); / 索引值是1 i = str.lastIndexOf(i); System.out.println(“字符i最后一次

15、出现在索引:“ + i); / 索引值是9 i = str.lastIndexOf(“ri“); System.out.println(“字符串ing第一次出现在索引:“ + i); / 索引值是4 i = str.lastIndexOf(“ri“); System.out.println(“字符串ing最后一次出现在索引:“ + i); / 索引值是4 i = str.lastIndexOf(i, 4); System.out.println(“从第5个字符开始,字符i第一次出现在索引:“ + i); / 索引值是1,截取子字符串,通过String类的substring()方法,可以从现有字

16、符串中截取子字符串,有两个重载方法,具体定义如下: 方法substring(int beginIndex)用来截取从指定索引位置到最后的子字符串,截取得到的字符串包含指定索引位置的字符。,public String substring(int beginIndex) public String substring(int beginIndex, int endIndex),截取子字符串,例如下面的代码截取字符串“ABCDEF”从索引位置3到最后得到的子串为“DEF”,在子串“DEF”中包含字符串“ABCDEF”中索引为3的字符D:,String str = “ABCDEF“; System.o

17、ut.println(str.substring(3); / 截取得到的子串为“DEF”,截取子字符串,方法substring(int beginIndex, int endIndex)用来截取从起始索引位置beginIndex到终止索引位置endIndex的子字符串,截取得到的字符串包含起始索引位置beginIndex对应的字符,但是不包含终止索引位置endIndex对应的字符。,String str = “ABCDEF“; System.out.println(str.substring(2, 4); / 截取得到的子串为“CD”,去掉字符串的首尾空格,通过String类的trim()方法

18、,可以通过去掉字符串的首尾空格得到一个新的字符串,该方法的具体定义如下:,public String trim(),String str = “ ABC “; / 定义一个字符串,首尾均有空格 System.out.println(str.length(); / 输出字符串的长度为5 String str2 = str.trim(); / 去掉字符串的首尾空格 System.out.println(str2.length(); / 输出字符串的长度为3,替换字符串中的字符或子串,通过String类的replace()方法,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法

19、的具体定义如下: 例如将字符串“NBA_NBA_NBA”中的字符“N”替换为字符“M”,将得到一个新的字符串“MBA_MBA_MBA”,具体代码如下:,public String replace(char oldChar, char newChar),String str = “NBA_NBA_NBA“; System.out.println(str.replace(N, M); / 输出“MBA_MBA_MBA“,替换字符串中的字符或子串,如果想替换掉原字符串中的指定子串,可以通过String类的replaceAll()方法,该方法的具体定义如下: 例如将字符串“NBA_NBA_NBA”中的

20、子串“NB”替换为字符串“AA”,将得到一个新的字符串“AAA_AAA_AAA”,具体代码如下:,public String replaceAll(String regex, String replacement),String str = “NBA_NBA_NBA“; System.out.println(str.replaceAll(“NB“, “AA“); / 输出的新字符串为“AAA_AAA_AAA“,替换字符串中的字符或子串,如果只需要替换原字符串中的第一个子串,可以通过String类的replaceFirst()方法,该方法的具体定义如下: 例如将字符串“NBA_NBA_NBA”中

21、的第一个子串“NB”替换为字符串“AA”,将得到一个新的字符串“AAA_NBA_NBA”,具体代码如下:,public String replaceFirst(String regex, String replacement),String str = “NBA_NBA_NBA“; System.out.println(str.replaceFirst(“NB“, “AA“); / 输出的新字符串为AAA_NBA_NBA,分割字符串,在String类中提供了两个重载的split()方法,用来将字符串按照指定的规则进行分割,并以String型数组的方式返回,分割得到的子串在数组中的顺序按照它们在

22、字符串中的顺序排列。 方法的具体定义如下:,public String split(String regex, int limit),分割字符串,该方法的第一个参数regex为分割规则,第二个入口参数limit用来设置分割规则的应用次数,所以将影响返回的结果数组的长度。 如果limit大于0,则分割规则最多将被应用(limit-1)次,数组的长度也不会大于limit,并且数组的最后一项将包含超出最后匹配的所有字符。 如果limit为负数,则分割规则将被应用尽可能多的次数,并且数组可以是任意长度;需要注意的是,如果limit为0,数组中位于最后的所有空字符串元素将被丢弃。,分割字符串,下面将字符

23、串“boo:and:foo”分别按照不同的规则和限制进行分割:,String str = “boo:and:foo“; String a = str.split(“:“, 2); String b = str.split(“:“, 5); String c = str.split(“:“, -2); String d = str.split(“o“, 5); String e = str.split(“o“, -2); String f = str.split(“o“, 0); String g = str.split(“m“, 0);,分割字符串,上面代码得到的7个数组的相关信息如下表所示。

24、,格式化字符串,通过String类的format()方法,可以得到经过格式化的字符串对象,最常用的是对日期和时间的格式化。String类中的format()方法有两种重载形式,它们的具体定义如下: 参数format为要获取字符串的格式;参数args为要进行格式化的对象;参数locale为格式化字符串时依据的语言环境。 format(String format, Object obj)方法将依据本地的语言环境进行格式化。,public static String format(String format, Object obj) public static String format(Local

25、e locale, String format, Object obj),格式化字符串,格式化字符串,下面是三个获取格式化字符串的例子,分别为获得字符A的散列码、将68格式化为百分比形式和将16.8格式化为指数形式,代码如下:,String code = String.format(“%h”, A); / 结果为“41” String percent = String.format(“%d%”, 68); /结果为“68%” String exponent = String.format(“%e”, 16.8); /结果为“1.680000e+01”,StringBuffer类,String类

26、创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,那么实体是不可以再发生变化的. StringBuffer类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列。,Date类,Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如: Sat Apr 28 21:59:38 CST 2001 。,可以使用DataFormat的子类SimpleDateFo

27、rmat来实现时期的格式化。SimpleDateFormat有一个常用构造方法: public SimpleDateFormat(String pattern)。 该构造方法可以用参数pattern指定的格式创建一个对象 .,pattern中应当含有一些特殊意义字符,这些特殊的字符被称做元字符,例如: y或yy 表示用2位数字输出年份;yyyy表示用4为数字输出年份。 M 或MM 表示用2为数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如:MMM。 d 或dd 表示用2为数字输出日。 H或HH 表示用两位数字输出小时。 m或mm 表示用两位数字输出分。 s或s

28、s 表示用两位数字输出秒。 E 表示用字符串输出星期。,Calendar类,Calendar类在java.util包中。使用Calendar类的static方法getInstance()可以初始化一个日历对象,如: Calendar calendar= calendar.getInstance(); 然后,calendar对象可以调用方法: set(int year,int month,int date) set(int year,int month,int date,int hour,int minute) set(int year,int month, int date, int hour, int minute,int second) 将日历翻到任何一个时间,当参数year取负数时表示公元前。,calendar对象调用方法: public int get(int field) 可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如: calendar.get(Calendar.MONTH); 返回一个整数,如果该整数是0表示当前日历是在一月,该整数是1表示当前日历是在二月等。 日历对象调用 public long getTimeInMillis() 可以将时间表示为毫秒。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


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