Javase—lang包和一些基本类
来源:互联网 发布:网络兼职教师招聘信息 编辑:程序博客网 时间:2024/05/21 10:39
1.java.lang包:
1.java最基础的包,提供每个程序都需要使用的类:包装类,Object,Math,String等
2.特殊的包,无需手动导入,系统会自动导入
2.System类:
1.代理系统的类,final类
2.提供了很多属性和方法:
System.out.println();//输出并换行
System.err.println();//输出错误信息(高亮显示)
System.in //通往控制台的输入流
System.arraycopy();//复制出一个完全相同的数组
System.exit(0);//退出虚拟机
3.包装类:
1.定义:java中为每个基本数据类型定义了一个与之对应的类,称为包装类
2.自动拆装包:在JDK5.0以后包装类可以直接与基本类型相互转换
3.类型与对应关系:
Byte -> byte
Short -> short
Integer -> int;
Long ->long
Boolean ->boolean
Character -> char
Float ->float
Double ->double
4.存在原因:
1.包装类中提供了很多用于处理当前数据类型的常用方法
2.java是面向对象的,很多类中的参数类型都是对象,而基本数据类型不是对象,所以提供了与之对应的包装类
4.Math类:
1.关于数学操作的类,含有大量的静态常量和静态方法,不允许实例化
2.含有很多数学方法,如三角,指对,常用的数学算法等
3.例如:max;min;ceil;floor;round;random;log;exp;sqrt等
4.常用方法测试源代码:
package com.Oracle._Pratice;/** * 对Math常用类的测试 * @author cyz * */public class TestMath {public static void main(String[] args) {//两者中较大的值System.out.println(Math.max(8, 4));//两者中较小的值System.out.println(Math.min(8, 4));System.out.println();//取一个0-1之间的随机数System.out.println(Math.random());System.out.println();//取整System.out.println(Math.floor(1.23));//向下取整System.out.println(Math.floor(4.87));System.out.println(Math.ceil(1.23));//向上取整System.out.println(Math.ceil(4.87));System.out.println(Math.round(1.23));//四舍五入System.out.println(Math.round(4.87));System.out.println();//绝对值System.out.println(Math.abs(3));System.out.println(Math.abs(-3));System.out.println();//e的3次幂System.out.println(Math.exp(3));System.out.println();//2的5次幂System.out.println(Math.pow(2, 5));System.out.println();//100的根方值System.out.println(Math.sqrt(100));}}运行结果:
5.Object类:
1.定义:所有类的父类,没有自定义父类的类相当于继承了Object
2.定义了所有类都需要使用的方法
3.11个方法(1、2、3可以利用右键—>Source—>Generate自动生成)
1.protected Object clone()
1、创建一个完全相同的对象
2、throws CloneNotSupportedException
2.public boolean equals(Object obj)
1、判断两对象内容是否相等
2、性质:自反性,对称性,传递性,一致性
3、任意非空引用值与null判断结果为false
3.public int hashCode()
1、返回对象的哈希码值
2、用处举例:
4.protected void finalize()
1、当一个对象被标记为垃圾时,JVM可能会调用此方法
2、throws Throwable
5.public String toString();
1、将对象转换为字符串,SYstem中会自动调用此方法
4.常用方法测试源代码:
package com.Oracle._Pratice;public class TestObject_Person {//属性String name;int age;//构造方法public TestObject_Person(String name, int age) {super();this.name = name;this.age = age;}public TestObject_Person() {super();}//getter和setterpublic String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//hashCode和equals:必须同时存equals才能正确使用@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + age;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;TestObject_Person other = (TestObject_Person) obj;if (age != other.age)return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}}package com.Oracle._Pratice;public class TestObject_Student extends TestObject_Person {public TestObject_Student(String name, int age) {super(name, age);}public TestObject_Student() {super();}//仅存在equals,不能正确进行比较@Overridepublic boolean equals(Object obj) {if(obj==this) {return true;}if(obj==null) {return false;}if(obj instanceof TestObject_Student) {TestObject_Student s=(TestObject_Student)obj;if(!s.name.equals(getName())) {return false;}if(s.age!=getAge()) {return true;}return false;}return false;}//将对象输出显示@Overridepublic String toString() {return "TestObject_Student [name=" + name + ", age=" + age + "]";}}package com.Oracle._Pratice;public class TestObject_Pratice1 {public static void main(String[] args) {//能正确进行比较:同时存在hashCode和equalsTestObject_Person p1=new TestObject_Person("wang",18);TestObject_Person p2=new TestObject_Person("wang",18);TestObject_Person p3=new TestObject_Person("zhang",30);//不能正确进行比较:仅存在equalsTestObject_Student s1=new TestObject_Student("yang",20);TestObject_Student s2=new TestObject_Student("yang",20);TestObject_Student s3=new TestObject_Student("zhang",30);System.out.println(p1.equals(p2));System.out.println(p1.equals(p3));System.out.println(s1.equals(s2));System.out.println(s1.equals(s3));System.out.println();//将对象输出显示System.out.println(p1);//存在toString方法System.out.println(s1);//不存在toString方法}}运行结果:
阅读全文
0 0
- Javase—lang包和一些基本类
- JAVASE--JAR包、基本数据类型对象包装类、日期和时间
- JAVASE学习笔记:第六章 常用类Lang包之Object类、String类
- JAVASE学习笔记:第七章 常用类Lang包之包装类
- Java.lang包——数学类和数据类型类
- common-lang包中一些工具类的使用说明
- monkey获取包名和其他一些基本使用方法
- monkey获取包名和其他一些基本使用方法
- 【javaSE】基本类型包装类
- javase--3常用类(java.lang)
- javaSE的一些常用类
- JAVASE之运算符和基本语句
- Java.lang包——Object类
- JavaSe基础XX14——包
- Python包和类的基本用法
- Python包和类的基本用法
- JavaSE OOP 类的基本结构
- Javase—OOP基本说明1
- 亚马逊还有什么不做的,摩根史丹利88页报告给你最全概述丨雷报第48期
- 股价一路下挫的Snap,将调整自身的战略
- 微信正关停网页版登陆?我们试了,一切正常
- 中国移动行业应用使能平台(IAEP)正式发布
- 三星开发出一种新型电池技术,充电速度为现有标准 5 倍
- Javase—lang包和一些基本类
- 研究称近四百万比特币已经永久丢失,最高占比23%
- 25元你买不了吃亏!乐视原厂充电器遭供应商贱卖
- 宝马下月将在成都推出共享汽车服务 车型为i3电动汽车
- 成立了核能公司的比尔·盖茨,今当选中国工程院外籍院士
- 人工智能琴棋诗画样样精通,就问你怕不怕 | 清华大学计算机系智能体晚会
- C++数组
- vue结合Echarts实现点击高亮效果
- SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用