




免费预览已结束,剩余31页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 static 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 static 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.tostring(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,在本节将学习该类的使用方法。,创建字符串对象,声明并初始化字符串的常用语法如下:,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 string(achr,1,3); /提取achr中从第一个位置开始,三个字符,组成新的字符串,连接字符串,连接字符串可以通过运算符“+”实现,将多个字符串合并到一起生成一个新的字符串。 对于“+”运算符,如果有一个操作元为string类型,则为字符串连接运算符,将生成新的字符串。 【例2-5】 通过运算符“+”连接字符串。,string love = “耐心”+“真心”;,string astr = “单价:”+5元; / “单价:5元” string bstr = “15”+15; / “1515”,字符串操作,在使用字符串时,经常需要对字符串进行处理,以满足一定的要求。常用的字符串操作包括: 比较字符串 获取字符串的长度 字符串的大小写转换 查找字符串 截取子字符串 去掉字符串的首尾空格 替换字符串中的字符或子串 分割字符串,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) lastindexof (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( “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 boolean 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); system.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为false 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 ustr = str.touppercase(); / 结果为“abcdefgh”,查找字符串,indexof():搜索字符或字符串首次出现的位置。 lastindexof():搜索字符或字符串最后一次出现位置 如果未搜索到字符串则返回-1。,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(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最后一次出现在索引:“ + 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()方法,可以从现有字符串中截取子字符串,有两个重载方法,具体定义如下: 方法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.out.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()方法,可以通过去掉字符串的首尾空格得到一个新的字符串,该方法的具体定义如下:,public string trim(),string str = “ abc “; / 定义一个字符串,首尾均有空格 system.out.println(str.length(); / 输出字符串的长度为5 string str2 = str.trim(); / 去掉字符串的首尾空格 system.out.println(str2.length(); / 输出字符串的长度为3,替换字符串中的字符或子串,通过string类的replace()方法,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法的具体定义如下: 例如将字符串“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”中的子串“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”中的第一个子串“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型数组的方式返回,分割得到的子串在数组中的顺序按照它们在字符串中的顺序排列。 方法的具体定义如下:,public string split(string regex, int limit),分割字符串,该方法的第一个参数regex为分割规则,第二个入口参数limit用来设置分割规则的应用次数,所以将影响返回的结果数组的长度。 如果limit大于0,则分割规则最多将被应用(limit-1)次,数组的长度也不会大于limit,并且数组的最后一项将包含超出最后匹配的所有字符。 如果limit为负数,则分割规则将被应用尽可能多的次数,并且数组可以是任意长度;需要注意的是,如果limit为0,数组中位于最后的所有空字符串元素将被丢弃。,分割字符串,下面将字符串“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个数组的相关信息如下表所示。,格式化字符串,通过string类的format()方法,可以得到经过格式化的字符串对象,最常用的是对日期和时间的格式化。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),格式化字符串,格式化字符串,下面是三个获取格式化字符串的例子,分别为获得字符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类创建的字符串对象是不可修改的,也就是说,string字符串不能修改、删除或替换字符串中的某个字符,即string对象一旦创建,那么实体是不可以再发生变化的. stringbuffer类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列。,date类,date类在java.util包中。使用date类的无参数构造方法创建的对象可以获取本地当前时间。date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如: sat apr 28 21:59:38 cst 2001 。,可以使用dataformat的子类simpledateformat来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 11803-2025船用交流低压配电板
- 审计运营考试题库及答案
- 森林火知识培训课件
- 森林消防危险地形课件
- 梯形面积课件
- 2025年财务分析师招聘面试实战模拟题及案例解读
- 2025年残联就业指导员面试技巧及常见问题解答
- 2025年注册验船师考试(C级船舶检验法律法规)冲刺试题及答案二
- 2025年风电场安全管理高级运维工程师考试重点解析
- 桥梁施工员培训课件
- 2025年吉林省中考语文真题(含答案)
- 2025高级会计师考试试题及答案
- 工地建筑钢板租赁合同范本
- 光传输业务配置课件
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库带答案详解
- 2025年青海辅警招聘考试题及答案
- 2025新外研版初中英语八年级上全册课文原文翻译
- 钢结构安装安全操作规程
- 流程优化活动方案
- 消防装备认识课件
- 实验室病原微生物危害 评估报告
评论
0/150
提交评论