版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
六Java预定义类和包第章目标了解Java类库的作用理解Java类的组织形式:包掌握使用类库中预定义的类,以及应用对象的属性、方法等掌握使用包来组织Java类概述Java中有两种模块:类和方法JavaAPI(Java类库)提供了大量的类,其中包含了许多有用的方法。这些类使Java编程变得更容易本章主要讲解Java类库中常用的预定义类的使用。并以此进一步加深对类和对象的理解java.lang包Java.lang包是Java类库中最基本的包,包中提供了Java编程的一些基础类Java.lang包中的类不需要导入就可以在任何一个Java程序中使用Java.lang包主要有:
Object、System、Math、String、StringBuffer、封装类如Integer等Math类Math类提供了大量数学计算方法Math类是一个静态类,其方法调用格式: 类名.方法名(参数);例如:求900.0的平方根
Math.sqrt(900.0);方法的参数可以是常量、变量或表达式Math类示例:
a=16.0,
b=4.0,
c=5.0,计算并输出这三个数之和的平方根classMathTest{publicstaticvoidmain(String[]args){doublea=1.6;doubleb=4.0;doublec=5.0;System.out.println(Math.sqrt(a+b+c));}}Math类Math类定义了两个常量:Math.PI、Math.EMath类的方法有:方法描述abs(x)x的绝对值ceil(x)比x大的最小整数floor(x)比x小的最大整数max(x,y)x和y中的最大值min(x,y)x和y中的最小值pow(x,y)x的y次幂sqrt(x)x的平方根round(x)x四舍五入到整数sin(x)x的正弦值(单位:弧度)…………String类Java中的字符串处理主要通过String类实现String类的声明方式:字符串连接Stringcity="Washington";Stringcity2="Washington";Stringcountry="USA";//或Stringcity=newString("Washington");Stringcity2=newString("Washington");Stringcountry=newString(“USA”);Stringclaim=city+"isthecapitalof"+country;String类字符串常量池Stringcity="NewYork";Stringdestination="NewYork";citydestination123NWashingtonUSANewYork字符串常量池的概念String类String类的构造方法String()Stringstr=newString();Stringstr=newString("Hello");String(char[])char[]charArr={‘e',‘l',‘i',‘t‘,’e’};Stringstr=newString(charArr);String(String)String类String类的方法Stringstr="HelloWorld";intlen=str1.length();
charcharAt(intindex)Stringstr=newString("HelloWorld");charch=str.charAt(6);intlength()
String类intindexOf(charc)和intindexOf(Strings)Stringstr="HelloWorld";intpos1=str.indexOf('s');intpos2=str.indexOf("Hello");Stringsubstring(intstart,intend)Stringsubstring(intstart)Stringstr="HelloWorld";Strintsub1=str.substring(0,5);Stringsub2=str.substring(6);String类字符串比较(使用"==")Strings1=newString("hello");Strings2=newString("hello");if(s1==s2){ ……}"=="比较两个对象的引用是否相等。比较对象是否具有相同的内容时,应使用equals方法。
s1.equals(s2)String类字符串比较(使用equals方法)publicclassStringCompare{publicstaticvoidmain(String[]args){Strings1=newString("morning");Strings2=newString(s1);if(s1.equals(s2)){System.out.println("Good"+s1); } else{ System.out.println("Bye-bye"); }}}StringBuffer类String类一旦创建对象,其内容不可改变StringBuffer类提供了动态操作字符串的特性,即可修改的字符串每个StringBuffer对象都能够存储由其容量指定的字符StringBuffer类StringBuffer类的构造方法StringBuffer()0个字符,容量为16StringBufferstr=newStringBuffer();StringBuffer(intn)0个字符,容量为nStringBufferstr=newStringBuffer(10);StringBuffer(Strings)包含字符串s,容量为s.length()+16StringBufferstr=newStringBuffer("Hello");StringBuffer类StringBuffer类的方法方法名描述length()返回StringBuffer对象的当前字符数目capacity()返回StringBuffer对象可以存储的字符数目setCharAt(int,char)将指定位置的字符替换为参数中指定的字符reverse()颠倒StringBuffer对象中的内容append(String)append(char)……将参数转换为一个字符串,然后把它添加到StringBuffer对象的末尾。该参数可以是各种基本类型、字符数组、String对象等insert(int,String)insert(int,char)……在StringBuffer对象的指定位置插入各种类型的值。delete(intfrom,intto)deleteCharAt(int)在StringBuffer对象的指定位置删除1个或多个字符。StringBuffer类StringBuffer类的方法示例publicclassTestStringBuffer{publicstaticvoidmain(String[]args){StringBufferbuffer=newStringBuffer(“world");System.out.println(buffer.toString());System.out.println("长度为:"+buffer.length());System.out.println("容量为:"+buffer.capacity()); ……}}Random类Random类可以生成随机数随机算法通常需要一个初始值(种子),若这个初始值相同,则会得到相同的一系列伪随机数Random类Random类的构造方法Random()使用机器的当前时间作为种子Random(long)使用指定的种子,最好是一个质数Random类Random类方法方法名描述int
nextInt(intn)返回0~n-1之间的随机整数intnextInt()longnextLong()floatnextFloat()doublenextDouble()返回在该数据类型的取值范围(包括正数和负数)内均匀分布的数字Random类Random类方法示例//Random在java.util包中定义,必须通过“import”语句导入importjava.util.Random;classTestRandom{publicstaticvoidmain(String[]args){intlimit=100;//希望产生[0..99]之间的随机数
intseed=17;//使用质数作为随机种子
RandomrandomGen=newRandom(seed);intnumber1=randomGen.nextInt(limit);intnumber2=randomGen.nextInt(limit);……}}包
包(package)是Java划分类名空间的机制Java将相关联的类以包的形式组织在一起JavautilRandomlangSystemStringUML示意图包
在程序中导入需要使用的类importjava.util.Random;……Randomrand=newRandom();……导入包中所有的类importjava.util.*;……包
如果不使用import语句,可以使用类的全名……java.util.Randomrand=newjava.util.Random();……自定义包创建一个包使用package语句packageelite;……package语句必须放在Java源文件的第一句一个JJava源文件最多只能有一条package语句自定义包例:在elite包下创建名为Arithmetic的类packageelite;publicclassArithmetic{publicdoubleroundArea(doubler){returnMath.PI*r*r;}publicdoublesum(doublex,doubley){returnx+y;}}自定义包导入自定义包importelite.Arithmetic;publicclassStudent{publicstaticvoidmain(String[]args){Arithmeticar=newArithmetic();doublesum=ar.sum(12.5,3.3);doublearea=ar.roundArea(2.0);System.out.println("两数相加得:"+sum)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学信息科技人教版(新教材)六年级全一册每课教学反思
- 2026江苏南京大学现代工程与应用科学学院博士后招聘1人备考题库附答案详解(轻巧夺冠)
- 2026四川遂宁市中心医院招聘高层次卫生专业技术人才31人备考题库及答案详解(新)
- 2026“才聚齐鲁 成就未来”山东土地乡村振兴集团有限公司招聘10人备考题库附答案详解(满分必刷)
- 2026贵州铜仁江口县中医医院青年就业见习人员岗位招聘3人备考题库及答案详解(真题汇编)
- 2026中交天和机械设备制造有限公司常熟制造中心招聘4人备考题库附答案详解(模拟题)
- 2026“才聚齐鲁 成就未来”山东黄河生态发展集团有限公司招聘10人备考题库及答案详解一套
- 2026安徽蚌埠市城市投资控股集团有限公司所属公司校园招聘4人备考题库及一套参考答案详解
- 2026陕西榆林人力资源服务有限公司招聘工作人员12人备考题库及完整答案详解1套
- 2026山东威海市市直卫生健康系统事业单位招聘152人备考题库附答案详解(满分必刷)
- 2026中国REITS指数之不动产资本化率调研报告(第六期)
- 护理不良事件RCA工具的规范化应用
- 肾衰竭中医辨证施治方案
- 攀登计划课件
- 2025年安阳职业技术学院单招职业技能考试模拟测试卷附答案解析
- 四川综合评标专家库试题及答案
- 古法造纸课件
- 康复新进展课件
- 2026年高考物理一轮复习:人教版必修第1~3共3册知识点考点提纲汇编
- 服务类型意向协议合同
- 2025年郑州旅游职业学院单招职业技能考试题库附参考答案详解(巩固)
评论
0/150
提交评论