实验9 常用系统类
实验9 常用系统类实验9 常用系统类
9.1实验目的
(1)掌握字符串处理方法;
(2)了解Math类的数学方法的使用; (3)熟悉各种数据类型包装类的使用; (4)了解Vector类的使用。
9.2 知识要点
9.2.1 Object类
(1) Object类处于Java继承层次中最顶端的类,它封装了所有类的公共行为。 (2)
Object类的equals()方法采用的是==运算比较,也就是只有两个引用变量指向同一对象时才相等。而实际上我们期望该方法进行对象的内容比较,因此子类中通常将equals()方法改写。 (3)
Object类的toString()方法是返回对象的描述信息,在Object类中该方法返回对象的类名及对象引用地址。子类中通常要提供自己的toString()方法,以便更好描述对象。 9.2.2 Math类
(1)Math类中的方法和属性均为静态的,Math类不能创建对象。 (2)表9-1列出的Math类的方法不少提供了参数多态。
(3)方法random()产生的随机数的范围是0~1之间的不包括0和1的一个小数形式的数。 表9-1 Math类的常用方法 方法 功能
int abs(int i) 求整数的绝对值 ;另有针对long,float,double的多态方法 double ceil(double d) 不小于d的最小整数(返回值为double型) double floor(double d) 不大于d的最大整数(返回值为double型)
Int max(int i1,int i2) 求两个整数中最大数;另有针对long,float,double的多态方法 Int min(int i1,int i2) 求两个整数中最小数 ;另有针对long,float,double的多态方法 double random() 0~1之间的随机数 Int round(float f) 求最靠近f的整数
long round(double d) 求最靠近d的长整数 double sqrt(double a) 求平方根
double cos(double d) 求d的cos函数 注:其它求三角函数的方法有sin,tan double log(double d) 求自然对数
double exp(double x) 求e的x次幂(ex) double pow(double a, double b) 求a的b次幂
2.3 数据类型包装类
(1)每种基本数据类型均有对应的包装类,除char和int的包装类为Character和Integer外,其他类型的包装类的名字均为相应类型的关键字将首字符换大写(例如:long的包装类为Long).
(2) 包装类用来实现该类型数据的一些处理操作,尤其是其中的静态方法,见表9-2。 表9-2 数据包装类的常用方法 方法功能
int Integer.parseInt(String s) 将数字串转化为整数
long Long.parseLong(String s) 将数字串转化为长整数
double Double.parseDouble(String s)将数字串转化为双精度数 boolean Character.isDigit(char c)判断某字符是否为数字 boolean Character.isLetter(char c)判断某字符是否为字母 String Integer.toString(int k)将一个整数转换为字符串
String Integer.toBinaryString(int k)将一个整数转换为二进制字符串
9.2.4 String类--字符串常量
(1)String类创建的字符串对象的内容不能改变;
(2)理解字符串的拼接运算的含义,可以将任何数据类型的数据与字符串进行拼接,包括对象类型的数据,它将调用对象的toString()的结果与串拼接。拼接的结果为一个新的串对象,不会改变源字符串对象的内容。例如: String x=\
String x1=x; //x1和x指向同一串对象 String y=\
x=x+y+2; //修改x的值,让其指向新生成的串。 System.out.println(x); System.out.println(x1); 输出结果为: hellogood2 hello
(3)String类提供了丰富的实例方法,见表9-3。 表9-3 String类的实例方法 方法 功能
boolean equals(Object obj) 当前串与参数串比较是否相等
boolean equalsIgnoreCase(String s2)比较两个字符串,不计较字母的大小写 int length()求字符串长度
String trim()去除前导空格和尾部空格
int indexOf(int ch, int fromIndex))从formIndex位置开始往后查找字符串中的字符ch的首次出现位置。
int indexOf(String s, int fromIndex))从formIndex位置开始往后查找字符串中的子串的首次出现位置。
char charAt(int index) 从串中获取指定位置的字符
String substring(int begin, int end)根据始末位置从串中获取子串 String[] split(String regex) 按照分隔符将串分成若干子串
String replace(char ch1,char ch2) 将字符串中所有ch1字符换为ch2
9.2.5 StringBuffer类—可变字符串
(1)StringBuffer类创建的串可以修改,可以对串的内容进行增、删、改操作。 (2)StringBuffer的常用方法,见表9-4。
表9-4 StringBuffer类的常用方法 方法 功能
StringBuffer append(Object obj) 某个对象的串描述添加到 StringBuffer尾部
StringBuffer insert(int pos, Object obj)将某个对象的串描述插入到StringBuffer中的某个位置
StringBuffer setCharAt(int pos, char ch)用新字符替换指定位置字符 StringBuffer deleteCharAt(int pos)删除指定位置的字符
StringBuffer replace(int start, int end, String str)将参数指定范围的一个子串用新串替换 String substring(int start, int end)获取所指定范围的子串
9.2.6 Vector类
(1)类Vector实现了可扩展的对象数组,使用向量没有数组的范围限制,可以不断添加元素。但向量中不能存放基本数据类型的数据,加入的数据均为对象。 (2)向量的常用访问方法见表9-5。 表9-5 Vector类常用方法 方法 功能
void add(int index, Object element) 将某个对象插入向量的指定位置 boolean add(Object o) 将某个对象添加到向量中 void addElement(Object obj) 将某个对象添加到向量中 int size()向量中已存放元素个数 void clear()删去所有元素
boolean contains(Object elem)检测向量中是否包含指定对象 Object get(int index)根据位置获取向量元素 int indexOf(Object obj, int start)
从指定位置起向后搜索对象obj,返回首次匹配位置 boolean remove(Object o) 删去指定对象
void removeElementAt(int index) 删去指定位置的元素
(3)对向量的遍历访问方法(设v为一向量) 方法1:通过位置访问 for (int k=0;k 方法2:通过使用迭代子进行遍历 Iterator p=v.iterator(); while (p.hasNext()) 输出 p.next()); 9.3 样例程序 样例1:编写一个方法统计一个字符在某字符串中的出现次数;从命令行参数获取一个算术表达式,利用前面方法判断该表达式的左右括号数量是否一致,如果一致,输出“YES”,否则输出“NO”。 【参考程序】 public class Count { public static void main(String args[]) { String s = args[0]; if ( count(s,’(‘ ) == count(s,’)’)) //看左括号与右括号的出现次数是否一样多
…… 此处隐藏:3619字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




