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

上传人:max****ui 文档编号:11496886 上传时间:2020-04-25 格式:PPT 页数:36 大小:333.50KB
返回 下载 相关 举报
Java语言最新实用教程(第2课).ppt_第1页
第1页 / 共36页
Java语言最新实用教程(第2课).ppt_第2页
第2页 / 共36页
Java语言最新实用教程(第2课).ppt_第3页
第3页 / 共36页
点击查看更多>>
资源描述
Java实用教程,第二课第1章JAVA语言概述,目录,1.5.6Math类1.5.7数据类型转换1.6字符串和日期,1.5.6Math类,在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等等。java.lang包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用。另外,Math类还有两个静态常量,E和PI,它们的值分别是:2.7182828284590452354和3.14159265358979323846。,Math类常用方法,publicstaticlongabs(doublea)返回a的绝对值。publicstaticdoublemax(doublea,doubleb)返回a、b的最大值。publicstaticdoublemin(doublea,doubleb)返回a、b的最小值。publicstaticdoublerandom()产生一个0到1之间的随机数(不包括0和1)。publicstaticdoublepow(doublea,doubleb)返回a的b次幂。publicstaticdoublesqrt(doublea)返回a的平方根。publicstaticdoublelog(doublea)返回a的对数。publicstaticdoublesin(doublea)返回正弦值。publicstaticdoubleasin(doublea)返回反正弦值。,1.5.7数据类型转换,自动类型转换及强制转换按精度从“低”到“高”排列:byteshortcharintlongfloatdouble低高,系统自动完成数据类型的转换:floatx=100;高低,必须使用显示类型转换运算intx=(int)34.89;bytea=(byte)128;,强制转换运算可能导致精度的损失boolean与其他数据类型不可以互相转换,其他转换,数字变成字符串Double.toString(doubled)Integer.toString(inti)LongFloatShortByte数字类型转变为各种常用进制的字符串toBinaryString(longorint)toOctalString(longorint)toHexString(longorint)字符串转为数字Integer.parseInt(Strings)Float.parseFloat(Strings)ByteShortLongDouble,1.6字符串和日期,在Java语言中,提供了一个专门用来操作字符串的类java.lang.String,在本节将学习该类的使用方法。,创建字符串对象,声明并初始化字符串的常用语法如下:,String字符串变量=字符串;,StringaStr=null;/初始化为空值StringbStr=“”;/初始化为空字符串StringcStr=“MWQ”;/初始化为“MWQ”,StringcStr=newString(“BMW”);/初始化为”BMW”StringdStr=newString(“”);/初始化为空字符串,CharaChr=h,a,p,p,y;StringaStr=newString(aChr);StringbStr=newString(aChr,1,3);/提取aChr中从第一个位置开始,三个字符,组成新的字符串,连接字符串,连接字符串可以通过运算符“+”实现,将多个字符串合并到一起生成一个新的字符串。对于“+”运算符,如果有一个操作元为String类型,则为字符串连接运算符,将生成新的字符串。,Stringlove=“耐心”+“真心”;,StringaStr=“单价:”+5元;/“单价:5元”StringbStr=“15”+15;/“1515”,字符串操作,在使用字符串时,经常需要对字符串进行处理,以满足一定的要求。常用的字符串操作包括:比较字符串获取字符串的长度字符串的大小写转换查找字符串截取子字符串去掉字符串的首尾空格替换字符串中的字符或子串分割字符串,equals()和equalsIgnoreCase()startsWith()和endsWith()compareTo()length()toLowerCase()和toUpperCase()indexOf(intch)和indexOf(Stringstr)lastIndexOf(intch)和lastIndexOf(Stringstr)indexOf(intch,intstartIndex)lastIndexOf(intch,intstartIndex)indexOf(Stringstr,intstartIndex)lastIndexOf(Stringstr,intstartIndex)substring()trim()replace()和replaceFirst()split(),比较字符串equals()方法,由于字符串是对象类型,所以不能简单地用“=”(双等号)判断两个字符串是否相等,publicbooleanequals(Stringstr),注意:equals()方法在比较两个字符串时区分字母大小写。,Stringtom=newString(wearestudents);Stringboy=newString(Wearestudents);Stringjerry=newString(wearestudents);System.out.println(tom.equals(boy);System.out.println(tom.equals(jerry);System.out.println(tom=jerry);,falsetruefalse,比较字符串equalsIgnoreCase()方法,equalsIgnoreCase()方法在比较两个字符串时不区分大小写,publicbooleanequalsIgnoreCase(Stringstr),注意:equalsIgnoreCase()方法不区分字母大小写。,Stringtom=newString(wearestudents);Stringboy=newString(Wearestudents);Stringjerry=newString(wearestudents);System.out.println(tom.equalsIgnoreCase(boy);System.out.println(tom.equalsIgnoreCase(jerry);System.out.println(tom=jerry);,比较字符串startsWith()和endsWith()方法,这两方法分别用于判断字符串是否以指定的字符串开始或结束,它们的定义如下:参数prefix和suffix为欲比较的字符串对象,该方法的返回值为boolean型,,publicbooleanstartsWith(Stringprefix)publicbooleanendsWith(Stringsuffix),Stringstr=“Wearestudents;booleanbs=str.startsWith(“a”);/比较结果bs为falsebooleanbe=str.endsWith(“ents);/比较结果be为true,publicbooleanstartsWith(Stringprefix,inttoffset),重载方法,索引位置开始是否为指定的字符串,获取字符串的长度,StringnameStr=MingRiSoft;inti=nameStr.length();/获得字符串的长度为10,字符串的大小写转换,Stringstr=AbCDefGh;StringlStr=str.toLowerCase();/结果为“abcdefgh”StringuStr=str.toUpperCase();/结果为“ABCDEFGH”,查找字符串,indexOf():搜索字符或字符串首次出现的位置。lastIndexOf():搜索字符或字符串最后一次出现位置如果未搜索到字符串则返回-1。,indexOf(intch)和indexOf(Stringstr)获取指定字符或字符串在原字符串中第一次出现的索引。lastIndexOf(intch)和lastIndexOf(Stringstr)获取指定字符或字符串在原字符串中最后一次出现的索引。indexOf(intch,intstartIndex)指定索引位置开始第一次出现的索引lastIndexOf(intch,intstartIndex)指定索引位置开始最后一次出现的索引indexOf(Stringstr,intstartIndex)lastIndexOf(Stringstr,intstartIndex),查找字符串,例如下面的代码:,Stringstr=mingrikeji;inti=str.indexOf(i);System.out.println(字符i第一次出现在索引:+i);/索引值是1i=str.lastIndexOf(i);System.out.println(字符i最后一次出现在索引:+i);/索引值是9i=str.lastIndexOf(ri);System.out.println(字符串ing第一次出现在索引:+i);/索引值是4i=str.lastIndexOf(ri);System.out.println(字符串ing最后一次出现在索引:+i);/索引值是4i=str.lastIndexOf(i,4);System.out.println(从第5个字符开始,字符i第一次出现在索引:+i);/索引值是1,截取子字符串,通过String类的substring()方法,可以从现有字符串中截取子字符串,有两个重载方法,具体定义如下:方法substring(intbeginIndex)用来截取从指定索引位置到最后的子字符串,截取得到的字符串包含指定索引位置的字符。,publicStringsubstring(intbeginIndex)publicStringsubstring(intbeginIndex,intendIndex),截取子字符串,例如下面的代码截取字符串“ABCDEF”从索引位置3到最后得到的子串为“DEF”,在子串“DEF”中包含字符串“ABCDEF”中索引为3的字符D:,Stringstr=ABCDEF;System.out.println(str.substring(3);/截取得到的子串为“DEF”,截取子字符串,方法substring(intbeginIndex,intendIndex)用来截取从起始索引位置beginIndex到终止索引位置endIndex的子字符串,截取得到的字符串包含起始索引位置beginIndex对应的字符,但是不包含终止索引位置endIndex对应的字符。,Stringstr=ABCDEF;System.out.println(str.substring(2,4);/截取得到的子串为“CD”,去掉字符串的首尾空格,通过String类的trim()方法,可以通过去掉字符串的首尾空格得到一个新的字符串,该方法的具体定义如下:,publicStringtrim(),Stringstr=ABC;/定义一个字符串,首尾均有空格System.out.println(str.length();/输出字符串的长度为5Stringstr2=str.trim();/去掉字符串的首尾空格System.out.println(str2.length();/输出字符串的长度为3,替换字符串中的字符或子串,通过String类的replace()方法,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法的具体定义如下:例如将字符串“NBA_NBA_NBA”中的字符“N”替换为字符“M”,将得到一个新的字符串“MBA_MBA_MBA”,具体代码如下:,publicStringreplace(charoldChar,charnewChar),Stringstr=NBA_NBA_NBA;System.out.println(str.replace(N,M);/输出MBA_MBA_MBA,替换字符串中的字符或子串,如果想替换掉原字符串中的指定子串,可以通过String类的replaceAll()方法,该方法的具体定义如下:例如将字符串“NBA_NBA_NBA”中的子串“NB”替换为字符串“AA”,将得到一个新的字符串“AAA_AAA_AAA”,具体代码如下:,publicStringreplaceAll(Stringregex,Stringreplacement),Stringstr=NBA_NBA_NBA;System.out.println(str.replaceAll(NB,AA);/输出的新字符串为AAA_AAA_AAA,替换字符串中的字符或子串,如果只需要替换原字符串中的第一个子串,可以通过String类的replaceFirst()方法,该方法的具体定义如下:例如将字符串“NBA_NBA_NBA”中的第一个子串“NB”替换为字符串“AA”,将得到一个新的字符串“AAA_NBA_NBA”,具体代码如下:,publicStringreplaceFirst(Stringregex,Stringreplacement),Stringstr=NBA_NBA_NBA;System.out.println(str.replaceFirst(NB,AA);/输出的新字符串为AAA_NBA_NBA,分割字符串,在String类中提供了两个重载的split()方法,用来将字符串按照指定的规则进行分割,并以String型数组的方式返回,分割得到的子串在数组中的顺序按照它们在字符串中的顺序排列。方法的具体定义如下:,publicStringsplit(Stringregex,intlimit),分割字符串,该方法的第一个参数regex为分割规则,第二个入口参数limit用来设置分割规则的应用次数,所以将影响返回的结果数组的长度。如果limit大于0,则分割规则最多将被应用(limit-1)次,数组的长度也不会大于limit,并且数组的最后一项将包含超出最后匹配的所有字符。如果limit为负数,则分割规则将被应用尽可能多的次数,并且数组可以是任意长度;需要注意的是,如果limit为0,数组中位于最后的所有空字符串元素将被丢弃。,分割字符串,下面将字符串“boo:and:foo”分别按照不同的规则和限制进行分割:,Stringstr=boo:and:foo;Stringa=str.split(:,2);Stringb=str.split(:,5);Stringc=str.split(:,-2);Stringd=str.split(o,5);Stringe=str.split(o,-2);Stringf=str.split(o,0);Stringg=str.split(m,0);,分割字符串,上面代码得到的7个数组的相关信息如下表所示。,格式化字符串,通过String类的format()方法,可以得到经过格式化的字符串对象,最常用的是对日期和时间的格式化。String类中的format()方法有两种重载形式,它们的具体定义如下:参数format为要获取字符串的格式;参数args为要进行格式化的对象;参数locale为格式化字符串时依据的语言环境。format(Stringformat,Objectobj)方法将依据本地的语言环境进行格式化。,publicstaticStringformat(Stringformat,Objectobj)publicstaticStringformat(Localelocale,Stringformat,Objectobj),格式化字符串,格式化字符串,下面是三个获取格式化字符串的例子,分别为获得字符A的散列码、将68格式化为百分比形式和将16.8格式化为指数形式,代码如下:,Stringcode=String.format(“%h”,A);/结果为“41”Stringpercent=String.format(“%d%”,68);/结果为“68%”Stringexponent=String.format(“%e”,16.8);/结果为“1.680000e+01”,StringBuffer类,String类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,那么实体是不可以再发生变化的.StringBuffer类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列。,Date类,Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如:SatApr2821:59:38CST2001。,可以使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法:publicSimpleDateFormat(Stringpattern)。该构造方法可以用参数pattern指定的格式创建一个对象.,pattern中应当含有一些特殊意义字符,这些特殊的字符被称做元字符,例如:y或yy表示用2位数字输出年份;yyyy表示用4为数字输出年份。M或MM表示用2为数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如:MMM。d或dd表示用2为数字输出日。H或HH表示用两位数字输出小时。m或mm表示用两位数字输出分。s或ss表示用两位数字输出秒。E表示用字符串输出星期。,Calendar类,Calendar类在java.util包中。使用Calendar类的static方法getInstance()可以初始化一个日历对象,如:Calendarcalendar=calendar.getInstance();然后,calendar对象可以调用方法:set(intyear,intmonth,intdate)set(intyear,intmonth,intdate,inthour,intminute)set(intyear,intmonth,intdate,inthour,intminute,intsecond)将日历翻到任何一个时间,当参数year取负数时表示公元前。,calendar对象调用方法:publicintget(intfield)可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:calendar.get(Calendar.MONTH);返回一个整数,如果该整数是0表示当前日历是在一月,该整数是1表示当前日历是在二月等。日历对象调用publiclonggetTimeInMillis()可以将时间表示为毫秒。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!