




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言最新实用教程(第2课)Java实用教程第二课第二课第1章 JAVA语言概述Java语言最新实用教程(第2课)目录n1.5.6 Math类n1.5.7 数据类型转换n1.6 字符串和日期Java语言最新实用教程(第2课)1.5.6 Math类类n在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等等。java.lang包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用。另外,Math类还有两个静态常量,E和PI,它们的值分别是: 2.70452354和 3.149323846。Java语言最新实用教程(第2课)Math类常用方法 npublic st
2、atic long abs(double a) 返回a的绝对值。npublic static double max(double a,double b) 返回a、b的最大值。npublic static double min(double a,double b) 返回a、b的最小值。npublic static double random() 产生一个0到1之间的随机数(不包括0和1)。npublic static double pow(double a,double b) 返回a的b次幂。npublic static double sqrt(double a) 返回a的平方根。npublic
3、 static double log(double a) 返回a的对数。npublic static double sin(double a) 返回正弦值。npublic static double asin(double a) 返回反正弦值。 Java语言最新实用教程(第2课)1.5.7数据类型转换数据类型转换n自动类型转换及强制转换自动类型转换及强制转换n按精度从按精度从“低低”到到“高高”排列:排列:nbyte short char int long float double 低低高,系统自动完成数据类型的转换:高,系统自动完成数据类型的转换:n float x=100; n高高低,必须
4、使用显示类型转换运算低,必须使用显示类型转换运算n int x=(int)34.89; nbyte a=(byte)128; 强制转换运算可能导致精度的损失强制转换运算可能导致精度的损失 boolean与其他数据类型不可以互相转换与其他数据类型不可以互相转换Java语言最新实用教程(第2课)其他转换其他转换n数字变成字符串数字变成字符串qDouble.toString(double d)qInteger.toString(int i)qLong Float Short Byten数字类型转变为各种常用进制的字符串数字类型转变为各种常用进制的字符串qtoBinaryString(long or
5、int)qtoOctalString(long or int)qtoHexString(long or int)n字符串转为数字字符串转为数字qInteger.parseInt(String s)qFloat.parseFloat(String s)qByte Short Long DoubleJava语言最新实用教程(第2课)1.6 字符串和日期在Java语言中,提供了一个专门用来操作字符串的类java.lang.String,在本节将学习该类的使用方法。Java语言最新实用教程(第2课)创建字符串对象 声明并初始化字符串的常用语法如下:String 字符串变量 = 字符串;String a
6、Str = 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 String(aChr,1,3);/提取aChr中从第一个位置开始,三个字符,组成新的字符串Java语言最新实用教程(第2课)连接字符串连接字符串可以通
7、过运算符“+”实现,将多个字符串合并到一起生成一个新的字符串。对于“+”运算符,如果有一个操作元为String类型,则为字符串连接运算符,将生成新的字符串。String love = “耐心”+“真心”;String aStr = “单价:”+5元;/ “单价:5元”String bStr = “15”+15;/ “1515”Java语言最新实用教程(第2课)字符串操作在使用字符串时,经常需要对字符串进行处理,以满足一定的要求。常用的字符串操作包括:n比较字符串n获取字符串的长度n字符串的大小写转换n查找字符串n截取子字符串n去掉字符串的首尾空格n替换字符串中的字符或子串n分割字符串equal
8、s() 和和equalsIgnoreCase()startsWith() 和和endsWith()compareTo()length()toLowerCase()和和toUpperCase()indexOf(int ch) 和和indexOf(String str)lastIndexOf (int ch) 和和lastIndexOf(String str)indexOf(int ch, int startIndex) lastIndexOf (int ch, int startIndex) indexOf(String str, int startIndex) lastIndexOf(Stri
9、ng str, int startIndex)substring()trim()replace()和和replaceFirst()split()Java语言最新实用教程(第2课)比较字符串 equals()方法由于字符串是对象类型,所以不能简单地用“=”(双等号)判断两个字符串是否相等public boolean equals(String str)注意:equals()方法在比较两个字符串时区分字母大小写。String tom=new String( we are students);String boy=new String( We are students);String jerry=
10、new String(we are students);System.out.println(tom.equals(boy);System.out.println(tom.equals(jerry);System.out.println(tom=jerry);false true falseJava语言最新实用教程(第2课)比较字符串equalsIgnoreCase()方法equalsIgnoreCase()方法在比较两个字符串时不区分大小写public boolean equalsIgnoreCase(String str)注意: equalsIgnoreCase()方法不区分字母大小写。S
11、tring 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);System.out.println(tom=jerry);Java语言最新实用教程(第2课)比较字符串startsWith() 和endsWith()方法这两方法分别用
12、于判断字符串是否以指定的字符串开始或结束,它们的定义如下:参数prefix和suffix为欲比较的字符串对象,该方法的返回值为boolean型,public boolean startsWith(String prefix)public boolean endsWith(String suffix)String str = “We are students;boolean bs = str.startsWith(“a”); / 比较结果bs为falseboolean be = str.endsWith(“ents); / 比较结果be为truepublic boolean startsWith
13、(String prefix, int toffset)重载方法,索引位置开始是否为指定的字符串Java语言最新实用教程(第2课)获取字符串的长度String nameStr = MingRiSoft;int i = nameStr.length();/ 获得字符串的长度为10字符串的大小写转换String str = AbCDefGh;String lStr = str.toLowerCase(); / 结果为“abcdefgh”String uStr = str.toUpperCase();/ 结果为“ABCDEFGH”Java语言最新实用教程(第2课)查找字符串n indexOf():搜
14、索字符或字符串首次出现的位置。n lastIndexOf():搜索字符或字符串最后一次出现位置如果未搜索到字符串则返回-1。nindexOf(int ch)和 indexOf(String str) q获取指定字符或字符串在原字符串中第一次出现的索引。nlastIndexOf (int ch)和 lastIndexOf(String str) q获取指定字符或字符串在原字符串中最后一次出现的索引。 nindexOf(int ch, int startIndex)指定索引位置开始第一次出现的索引nlastIndexOf (int ch, int startIndex)q指定索引位置开始最后一次出
15、现的索引nindexOf(String str, int startIndex) nlastIndexOf(String str, int startIndex)Java语言最新实用教程(第2课)查找字符串例如下面的代码:String str = mingrikeji;int i = str.indexOf(i);System.out.println(字符i第一次出现在索引: + i); / 索引值是1i = str.lastIndexOf(i);System.out.println(字符i最后一次出现在索引: + i); / 索引值是9i = str.lastIndexOf(ri);Syst
16、em.out.println(字符串ing第一次出现在索引: + i); / 索引值是4i = str.lastIndexOf(ri);System.out.println(字符串ing最后一次出现在索引: + i); / 索引值是4i = str.lastIndexOf(i, 4);System.out.println(从第5个字符开始,字符i第一次出现在索引: + i);/ 索引值是1Java语言最新实用教程(第2课)截取子字符串通过String类的substring()方法,可以从现有字符串中截取子字符串,有两个重载方法,具体定义如下:方法substring(int beginIndex
17、)用来截取从指定索引位置到最后的子字符串,截取得到的字符串包含指定索引位置的字符。public String substring(int beginIndex)public String substring(int beginIndex, int endIndex)Java语言最新实用教程(第2课)截取子字符串例如下面的代码截取字符串“ABCDEF”从索引位置3到最后得到的子串为“DEF”,在子串“DEF”中包含字符串“ABCDEF”中索引为3的字符D:String str = ABCDEF;System.out.println(str.substring(3); / 截取得到的子串为“DEF
18、”Java语言最新实用教程(第2课)截取子字符串方法substring(int beginIndex, int endIndex)用来截取从起始索引位置beginIndex到终止索引位置endIndex的子字符串,截取得到的字符串包含起始索引位置beginIndex对应的字符,但是不包含终止索引位置endIndex对应的字符。String str = ABCDEF;System.out.println(str.substring(2, 4); / 截取得到的子串为“CD”Java语言最新实用教程(第2课)去掉字符串的首尾空格通过String类的trim()方法,可以通过去掉字符串的首尾空格得到
19、一个新的字符串,该方法的具体定义如下:public String trim()String str = ABC ; / 定义一个字符串,首尾均有空格System.out.println(str.length(); / 输出字符串的长度为5String str2 = str.trim(); / 去掉字符串的首尾空格System.out.println(str2.length(); / 输出字符串的长度为3Java语言最新实用教程(第2课)替换字符串中的字符或子串通过String类的replace()方法,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法的具体定义如下:例如
20、将字符串“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_MBAJava语言最新实用教程(第2课)替换字符串中的字符或子串如果想替换掉原字符串中的指定子串,可以通过String类的replaceAll()方法,该方法的具体定义如下:例如将字符串“NBA_NBA_NBA”中的子串“N
21、B”替换为字符串“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_AAAJava语言最新实用教程(第2课)替换字符串中的字符或子串如果只需要替换原字符串中的第一个子串,可以通过String类的replaceFirst()方法,该方法的具体定义如下:例如将字符串“NBA_NBA_NBA”中的第
22、一个子串“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_NBAJava语言最新实用教程(第2课)分割字符串在String类中提供了两个重载的split()方法,用来将字符串按照指定的规则进行分割,并以String型数组的方式返回,分割得到的子串在数组中的顺序按照
23、它们在字符串中的顺序排列。方法的具体定义如下:public String split(String regex, int limit)Java语言最新实用教程(第2课)分割字符串该方法的第一个参数regex为分割规则,第二个入口参数limit用来设置分割规则的应用次数,所以将影响返回的结果数组的长度。如果limit大于0,则分割规则最多将被应用(limit-1)次,数组的长度也不会大于limit,并且数组的最后一项将包含超出最后匹配的所有字符。如果limit为负数,则分割规则将被应用尽可能多的次数,并且数组可以是任意长度;需要注意的是,如果limit为0,数组中位于最后的所有空字符串元素将被丢
24、弃。Java语言最新实用教程(第2课)分割字符串下面将字符串“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);Java语言最新实用教程(第2课)分割字符串上面
25、代码得到的7个数组的相关信息如下表所示。数 组分 割 符限 定 数得到的数组a:2String a = boo, and:foo ;b:5String b = boo, and, foo ;c:-2String c = boo, and, foo ;do5String d = b, , :and:f, , ;eo-2String e = b, , :and:f, , ;fo0String f = b, , :and:f ;gm0String g = boo:and:foo ;Java语言最新实用教程(第2课)格式化字符串通过String类的format()方法,可以得到经过格式化的字符串对象,
26、最常用的是对日期和时间的格式化。String类中的format()方法有两种重载形式,它们的具体定义如下:参数format为要获取字符串的格式;参数args为要进行格式化的对象;参数locale为格式化字符串时依据的语言环境。format(String format, Object obj)方法将依据本地的语言环境进行格式化。public static String format(String format, Object obj)public static String format(Locale locale, String format, Object obj)Java语言最新实用教程(
27、第2课)格式化字符串转 换 符功 能 说 明转换符功能说明%s格式化成字符串表示%a格式化成十六进制浮点数%c格式化成字符型表示%e格式化成指数形式表示%b格式化成逻辑型表示%g格式化成通用浮点数型数表示(f和e类型中较短的)%d格式化成十进制整型数表示%h格式化成散列码形式表示%x格式化成十六进制整型数表示%格式化成百分比形式表示%o格式化成八进制整型数表示%n换行符%f格式化成十进制浮点数型数表示%tx格式化成日期和时间形式表示(其中x代表不同的日期与时间转换符)Java语言最新实用教程(第2课)格式化字符串下面是三个获取格式化字符串的例子,分别为获得字符A的散列码、将68格式化为百分比形
28、式和将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”Java语言最新实用教程(第2课)StringBuffer类类nString类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,那么实体是不可以再发生变化的.nStringBuffer类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列。Java语言最新实用教程(第2课)Date类类 nDate类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如:Sat Apr 28 21:59:38 CST 2001 。 Java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一汽丰田服务顾问培训
- 消防工程作业人员培训
- 精英教育体系架构与实施路径
- 【课件】运动的描述+课件-2024-2025学年人教版物理八年级上册
- 症瘕护理查房
- 注册安全工程师培训方案
- 产科护理个案模板
- 护理内科学重点
- 装修验房培训
- 创意美术茶饮课件
- 课程替代申请表(模板)
- 设计管理资料课件
- 粮食行业技能竞赛粮油保管员考试试题及答案
- 剑桥商务英语BEC(初级)全套课件
- 浪琴环球马术冠军赛上海站官方赞助商合作方案课件
- 医疗器械临床评价课件
- 现场工程量确认单
- 2022年广东省佛山市顺德区承德小学小升初数学试卷
- 黄亮和李燕的创业故事(凤山书屋)
- DB61∕T 5006-2021 人民防空工程标识标准
- 洁净室尘埃粒子检测规范
评论
0/150
提交评论