丁保国的博客

收集整理工作生活,点点滴滴

  :: :: 博问 :: 闪存 :: :: :: :: 管理 ::

第十讲 Java资源结构

主要内容

Java资源库概述

java.lang包中常用的基础类

java.util包中常用的工具类

查阅文档理解Java资源的方法

 

Java资源库概述

Java提供了功能强大的资源库。

Java将功能相关的类放在同一个包中,所有的包集合构成java资源库。

面向对象的技术允许我们的程序通过继承的方式重用库中的类。

 

标准Java包是分层次的。所有的Java包都在JavaJavax包层次内。

import java.awt.*;

import java.awt.event.*;

 

 

基础包(核心包)

java.lang

language,基本语言包。自动加载。

²       包含了Java程序必不可少的System类;

²       Java语言的基本数据类型、字符串类、数组提供了基本的类描述;

²       包含了线程和异常处理类

 

java.util

utility,实用工具包。

包含了Java语言中可实现特定功能的类:日期、向量、随机数和堆栈等。

 

java.io

input|output,输入输出包:包含了标准输入输出和文件处理的类。可使java程序实现与操作系统相关的较底层的输入输出处理。

 

应用包

java.awt

窗口工具包。包含了可用来构建图形用户界面的类。

²       Graphics类,相关的低级绘图操作;

²       图形界面的组件和布局:如LabelTextFieldCheckBoxLayoutManager接口等;

²       用户交互控制和事件呼应

 

javax.swing

另一个窗口工具包。早期版本是java.awt.swing,后集成到了javax.swing中。

 

java.applet

小程序应用类包:包中除了有一个Applet类之外,还有三个接口:AppletContextAppletStubAudioClip

java.applet包提供了与支持Java的浏览器进行交互的方式的Applet类,可以在HTML网页中嵌入图像和声音等元素。

 

java.net

网络应用包:提供了通过telnetftpwww之类的协议访问网络的类。可用于快速地开发网络应用程序。

通过丰富java.net包,java的网络功能随着版本更新而有扩充。

 

java.lang包中常用的基础类

java.lang包:不需要import,系统自动包含。

Object

class TestOb{

  public static void main(String[] aa){

     Object o="Hello";

     String s=s.getClass().toString();

     System.out.println(ss);

  }

}

Object类的常用方法

public boolean equals(Object obj)

public final Class<? extends Object> getClass()

public String toString()

 

数据类型类

每种基本的数据类型都有一个包装该类型数据的类。

主要用于数据转换,如:Integer.parseInt(s)

基本数据类型

对应的对象数据类型

boolean

Boolean

char

Character

double

Double

float

Float

int

Integer

long

Long

 

class TestEqual{

  public static void main(String[] aa){

    Integer i=new Integer(5);

    Double d=new Double(5);

     System.out.println(i.equals(5));

     System.out.println(i.equals(d));

  }

}

 

System

public final class System extends Object

作用标准输入/输出。

标准输入——从标准输入设备输入数据。(如:键盘)

标准输出——向标准输出设备输出数据。(如:显示器)

 

System类中的成员变量

err——标准错误输出流

public static final PrintStream err

in——标准输入流

public static final InputStream in

out——标准输出流

public static final PrintStream out

 

System类的常用方法

public static void arraycopy(源数组名,源数组始位置,

目标数组名,目标数组始位置,长度)

将一个数组拷贝到另一个数组(也可以本数组)

class TestSystem{

  public static void main(String[] aa){

     int[] a={1,2,3,4,5};

     int[] b=new int[4];

     System.arraycopy(a,2,b,1,3);

     for(int i=0;i<b.length;i++)

        System.out.print(b[i]+"\t");

  }

}

public static String getProperty(String key)

获取系统属性

class SystemInfo{

  public static void main(String args[]) {

     System.out.println("java目录:"

       +System.getProperty("java.home"));

     System.out.println("java版本:"

       +System.getProperty("java.version"));

     System.out.println("操作系统名:"

       +System.getProperty("os.name"));

  }

}

 

Key

说明

java.version

Java 版本号

java.home

Java目录

java.vm.version

Java VM版本号

os.name

操作系统名

os.arch

操作系统体系结构

os.version

操作系统版本号

user.name

用户名

user.home

用户主目录

user.dir

用户当前工作目录

 

public static void exit(int status)

Java虚拟机退出运行状态(参数非零值表示一种反常的结束)

 

public static void gc()

垃圾收集清理。从所有丢弃的对象收回空间,以利于内存的重用。

 

Math类概述

public final class Math extends Object

²       Math类中封装了常用的数学函数和常量。

²       其中的所有方法和变量都是公共静态的,可由类名直接访问。

 

Math中的常数

final double E自然对数基数e2.71828...

final double PI圆周率(3.1415926...

 

Math中最常用数学方法

public static long round(double a)

有参数是float,返回类型int的重载版本

public static int abs(int a)

public static int max(int a,int b)

public static int min(int a,int b)

有参数和返回类型为longfloatdouble的重载版本

public static double sqrt(double x)

public static double random()

三角、反三角函数

public static double sin(double a)

public static double cos(double a)

public static double tan(double a)

public static double asin(double r)

public static double acos(double r)

public static double atan(double r)

public static double toRadians(double angdeg)

public static double toDegrees(double angrad)

指数和对数

public static double pow(double y,double x)

public static double exp(double x)

public static double log(double x)

public static double log10(double x)

练习:利用数组保存6Circle对象,创建Circle对象时可传递半径,半径值由Math类的Random()方法产生(10以内,保持一位小数),分别求其面积(四舍五入,保持两位小数)

 

java.util包中常用的工具类

Date

public class Date extends Object

常用构造方法

Date()

import java.text.SimpleDateFormat;

import java.util.*;

public class Today{

  public static void main(String[] aa){

     SimpleDateFormat sd=new SimpleDateFormat("yyyy/MM/dd-EEEE");

     System.out.println(sd.format(new Date()));

  }

}

练习:为mylib.tools包修改设计Today类,通过getDate()方法可返回当前的日期和星期。

 

Canlendar

public abstract class Calendar extends Object

获取实例

Calendar now = Calendar.getInstance();

 

获取时间信息的方法

int get(int field):可具体取得年、月、日、小时、分种、秒数等

 

常用的静态变量(field)

public static final int

field

意义

YEAR

年份

MONTH_OF_YEAR

011,月份序数

DAY_OF_MONTH

日期

DATE

 

HOUR_OF_DAY

小时(24小时制)

MINUTE

分种

SECOND

秒数

DAY_OF_WEEK

周日为第1天,以此类推

 

例:now.get(Calendar.YEAR)--获取日期对应的年份

now.get(Calendar.MONTH)+1--获取日期对应的月份

 

Random

作用:产生随机数。

构造方法

public Random()

常用方法

public int nextInt()

public long nextLong()

public int nextInt(int n)

获取随机整数范围0——n

public float nextFloat()

获取随机单精度数0.0---1.0

public double nextDouble()

获取随机双精度数0.0---1.0

 

练习:

设计一个Add类,含有两个加数(产生对象时随机生成),含有返回加法算式的方法,判断结果正确与否的方法。

利用Add类,给出十个加法练习题,即时判对错。

import java.util.*;

import javax.swing.*;

class Add{

  int a,b;

  Add(){

    

  }

  String getAdd(){//返回算式

                         ;

  }

  void showAdd(){//显示算式

                          ;

  } 

  void answerYesOrNo(){//回答与判断

     String s=JOptionPane.showInputDialog(getAdd());

     int c=Integer.parseInt(s);

     System.out.print(c+"\t\t");

 

 

  }

}

class Test{

  public static void main(String[] aa){

 

     }

  }

}

查阅文档理解Java资源的方法

posted on 2007-07-21 10:40  丁保国  阅读(199)  评论(0编辑  收藏  举报