Java笔记丨28 Java语言基础类

JDK API

 

JDK中有大量的API,也就是编程结构

• java.lang Java语言的核心类库,Java是自动导入java.lang.*的

• java.util 实用工具

• java.io 标准输入/输出类库

• java.awt javax.swing 图形用户界面(GUI)的类库

• java.net 网络功能的类库

• java.sql 数据库访问的类库

• 等等

 

阅读JDK API文档

• 在线查阅

http://docs.oracle.com/javase/8/docs/api/index.html

• 文档下载

http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html

• 更多文档

phttp://docs.oracle.com/javase/8/docs/index.html

网上有chm格式的,有中文版

 

阅读JDK源码

• JDK的源代码

安装JDK后即有 src.zip

例如:在 C:\Program Files\Java\jdk\下

 

Object类

Object类是所有类的直接或间接父类,让所有的类有了一致性

(1)equals()

“==”与equals的区别

简单地说,==是引用是否相等,equals是内容(含义)相等

    Integer one = new Integer (1);

    Integer anotherOne = new Integer (1);

    if(one==anotherOne) 。。。 //false

    if (one.equals (anotherOne)) 。。。 //true

如果覆盖equals()方法,一般也要覆盖hashCode()方法

(2) getClass ( )

getClass ( )方法是final方法,它不能被重载

它返回一个对象在运行时所对应的类的表示

void PrintClassName( Object obj ) {

    System.out.println(“ The object’s class is “ + obj.getClass( ).getName( ) );

}

Object creatNewInstanceOf (object obj) {

    return obj.getClass( ).newInstance( );

}

(3) toString( )

toString( )方法用来返回对象的字符串表示

常用于显示

  System.out.println ( person );

另外,用于字符串的加号

  “current person is ” + person

通过重载toString ( )方法,可以适当地显示对象的信息以进行调试。

(4) finalize( )

用于在垃圾收集前清除对象,前面已经讲述。

(5) notify( )、 notifyAll( )、 wait( )

与线程相关,见以后的笔记

 

基本数据类型的包装类

Java的基本数据类型用于定义简单的变量和属性将十分方便,但为了与面向对象的环境一致,Java中提供了基本数据类型的包装类(wrapper),它们是这些基本类型的面向对象的代表。

与8种基本数据类型相对应,基本数据类型的包装类也有8种,分别是:

  Character,Byte,Short,Integer,Long,Float,Double,Boolean。

 

包装类的特点

(1)这些类都提供了一些常数

如Integer.MAX_VALUE(整数最大值),Double.NaN(非数字),Double. POSITIVE_INFINITY(正无穷)等。

(2)提供了valueOf(String),toString()

  用于从字符串转换及或转换成字符串。

(3)通过xxxxValue()方法可以得到所包装的值

 Integer对象的intValue()方法。

(4)对象中所包装的值是不可改变的(immutable)。

  要改变对象中的值只有重新生成新的对象。

(5)toString(), equals()等方法进行了覆盖。

除了以上特点外,有的类还提供了一些实用的方法以方便操作。

  例如,Double类就提供了parseDouble(), max, min方法等。

 

包装与拆包

JDK1.5以上,有包装(boxing)及拆包(unboxing)

• Integer I = 5;

 即 I = Integer.valueOf(5);

• int i = I;

 即 i = I.intValue();

 

Math类

Math类用来完成一些常用的数学运算

• public final static double E;// 数学常量e

• public final static double PI;// 圆周率常量

• public static double abs(double a);// 绝对值

• public static double exp(double a);// 参数次幂

• ublic static double floor(double a);// 不大于参数的最大整数

• public static double IEEE remainder(double f1,double f2);// 求余

• public static double log(double a);// 自然对数

• public static double max(double a,double b);// 最大值

• public static float min(float a,float b);// 最小值

例: TestMath.java

public class TestMath{

  public static void main (String args[]) 

    {   

System.out.println("Math.ceil(3.1415)=" + Math.ceil(3.1415));

System.out.println("Math.floor(3.1415)=" + Math.floor(3.1415));

System.out.println("Math.round(987.654)=" + Math.round(987.654));

System.out.println("Math.max(-987.654,301)=" + Math.max(-987.654,301));

System.out.println("Math.min(-987.654,301)=" + Math.min(-987.654,301));

System.out.println("Math.sqrt(-4.01)="+new Double(Math.sqrt(-4.01)).isNaN());

System.out.println("Math.PI=" + Math.PI);

System.out.println("Math.E=" + Math.E);

    }

}

 

• public static double pow(double a,double b);// 乘方

• public static double random();// 产生0和1(不含1)之间的伪随机数

• public static double rint(double a);// 四舍五入

• public static double sqrt(double a);// 平方根

• public static double sin(double a);// 正弦

• public static double cos(double a);// 余弦

• public static double tan(double a);// 正切

• public static double asin(double a);// 反正弦

• public static double acon(double a);// 反余弦

• public static double atan(double a);// 反正切


System类

在Java中,系统属性可以通过环境变量来获得

 System.getProperty(String name)方法获得特定的系统属性值

 System.getProperties()方法获得一个Properties类的对象,其中包含了所有可用的系统属性信息

在命令行运行Java程序时可使用-D选项添加新的系统属性

 如 java –Dvar=value MyProg

示例:SystemProperties.java

import java.util.*;

class SystemProperties

{

 public static void main(String[] args) 

  {

Properties props = System.getProperties();//得到所有的Properties(名字和值)

Enumeration keys = props.propertyNames();//名字放在枚举器

while(keys.hasMoreElements() ){

String key = (String) keys.nextElement();

System.out.println( key + " = " + props.getProperty(key) );

}

  }

}

猜你喜欢

转载自blog.csdn.net/qq_42968048/article/details/85046245
今日推荐