实验8Java基本类库Word格式文档下载.doc
《实验8Java基本类库Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《实验8Java基本类库Word格式文档下载.doc(8页珍藏版)》请在冰点文库上搜索。
+i2);
d1的随机数为"
+i3);
d2的随机数为"
+i4);
60弧度的正弦值:
Math.sin(Math.toRadians(60.0))="
+d1);
E的对数值:
Math.log(Math.E)="
+d2);
2的4次方:
Math.pow(2.0,4.0)="
+d3);
43.6F四舍五入:
Math.round(43.6F)="
+r);
}
}
2.使用Random类产生随机数的Math类应用程序mathTest2.java,源程序如下。
publicclassmathTest2{
Randomr1=newRandom(1234567890L);
Randomr2=newRandom(1234567890L);
booleanb=r1.nextBoolean();
//随机数不为0时取真值
inti1=r1.nextInt(100);
inti2=r2.nextInt(100);
doublei3=r1.nextDouble();
doublei4=r2.nextDouble();
b的随机数不为0时"
+b);
(二)使用日期类
Java提供了3个日期类:
Date、Calendar和DateFormat。
其中,Date类主要用于创建日期对象并获取日期,Calendar类可获取和设置日期,DateFormat类用来设置日期的格式。
Java语言规定的基准日期为1970.1.100:
00:
00格林威治(GMT)标准时间,当前日期是由基准日期开始所经历的毫秒数转换出来的。
1.使用日期类的Applet应用程序
(1)程序功能:
说明3个日期类Date、Calendar和DateFormat的使用方式及显示的样式。
(2)编写TestDateCalendar1.java程序文件,源代码如下。
importjava.text.*;
importjava.awt.*;
importjava.applet.*;
publicclassTestDateCalendar1extendsApplet{
publicvoidpaint(Graphicsg){
Datetoday;
Calendarnow;
DateFormatf1,f2;
Strings1,s2;
today=newDate();
//获取系统当前日期
g.drawString("
字符串格式:
"
+today.toString(),20,20);
f1=DateFormat.getInstance();
//以默认格式生成格式化器
s1=f1.format(today);
//将日期转换为字符串
系统格式:
+s1,20,40);
//生成长格式的中国日期格式化器
f1=DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA);
//生成长格式的中国时间格式化器
f2=DateFormat.getTimeInstance(DateFormat.LONG,Locale.CHINA);
//将日期转换为日期字符串
s2=f2.format(today);
//将日期转换为时间字符串
中国格式:
+s1+"
"
+s2,20,60);
now=Calendar.getInstance();
//获取系统时间
s1=now.get(now.HOUR)+"
时"
+now.get(now.MINUTE)+"
分"
+now.get(now.SECOND)+"
秒"
;
调整前时间:
+s1,20,80);
now.set(2004,8,15,9,9,9);
today=now.getTime();
调整后时间:
+today.toString(),20,100);
(3)编译程序文件。
(4)在Eclipse中运行Applet,显示结果如图10.2所示。
图10.2
2.在独立运行的应用程序中使用日期函数。
补充说明3个日期类Date、Calendar和DateFormat的使用方式及显示的样式。
(2)编写TestDateCalendar2.java程序文件,源代码如下。
publicclassTestDateCalendar2{
Datetoday=newDate();
//当前日期和时间
SimpleDateFormatsdf;
sdf=newSimpleDateFormat("
yyyy年MM月dd日hh时mm分ss秒aEEEEE"
);
当前日期和时间:
+sdf.format(today));
longhms=System.currentTimeMillis();
//当前时间的毫秒数
当前时间的毫秒数="
+hms);
Datetomorrow=newDate(hms+24*60*60*1000);
明天是"
+sdf.format(tomorrow));
Calendarnow=Calendar.getInstance();
intyear=now.get(Calendar.YEAR);
//年份
intmonth=now.get(Calendar.MONTH)+1;
//月份
intday=now.get(Calendar.DATE);
//日期
System.out.print("
今天是"
+year+"
年"
+month+"
月"
+day+"
日"
intweek=now.get(Calendar.DAY_OF_WEEK);
//星期
switch(week){
case1:
System.out.println("
星期日"
break;
case2:
星期一"
case3:
星期二"
case4:
星期三"
case5:
星期四"
case6:
星期五"
case7:
星期六"
}
(3)编译并运行程序,结果如图所示。
3.编写程序,首先声明使用的包名jacky,然后创建YMD类,该类具有两个成员方法,功能分别为计算今年的年份以及输出一个带有年月日的字符串。
4.编写使用包jacky中YMD类的程序,LX.java程序功能:
给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。
程序使用YMD的计算年份的方法来计算年龄。
(三)使用向量类Vector
大多数编程语言中的数组是固定长度的,即数组一经建立就不能在使用过程中改变其长度。
Java引入Vector类来创建可以改变长度的变量。
Vector被设计成一个能不断增长的序列,它类似于可变长数组,但功能更加强大,因为任何类型的对象都可以放入Vector类的对象中。
通过调用Vector封装的方法,可以随时添加或删除向量元素,以及增加或缩短向量序列的长度。
1.创建使用Vector向量类的应用程序
创建一个Vector对象v,先通过键盘为args[]输入两个分量,然后赋值给对象v,并通过直接方式为其分量赋值。
(2)编写LX8_4.java程序文件,源代码如下。
importjava.util.*;
publicclassLX8_4{
publicstaticvoidmain(Stringargs[]){
Vectorv=newVector(1,1);
v.addElement(args[0]);
//在向量尾部添加元素
v.addElement(args[1]);
v.addElement("
3"
//在向量尾部添加元素
v.insertElementAt("
0"
0);
//在指定位置插入元素
aaa字符串元素"
3);
v.setElementAt("
4"
4);
//替换指定位置的元素
5"
第4号元素为:
+v.elementAt(4));
Enumerationenum=v.elements();
//枚举化对象,以便逐个取出元素
StringBufferbuffer=newStringBuffer();
//字符串缓冲区 while(enum.hasMoreElements())
buffer.append(enum.nextElement()).append("
"
buffer.deleteCharAt(buffer.length()-1);
向量v的所有元素:
+buffer.toString()+"
\n"
System.out.println("
向量v的元素个数="
+v.size()+"
v的长度为:
+v.capacity()+"
v.removeAllElements();
System.out.println("
删除后元素个数:
向量v长度:
2.编译并运行程序,结果如图10.4所示。
图10.4
(四)使用基本类型包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(WrapperClass)。
包装类对应表
基本数据类型
包装类
byte
Byte
boolean
Boolean
short
Short
char
Character
int
Integer
long
Long
float
Float
double
Double
1.测试下面程序,掌握包装类的使用方法
publicclassTest1{
publicstaticvoidmain(String[]args){
intn=10;
Integerin=newInteger(100);
Integerin1=newInteger(n);
intm=in.intValue();
System.out.println(in.toString());
m="
+m);
Integerin2=Integer.valueOf(20);
System.out.println(in2.toString());
Strings="
123"
intk=Integer.parseInt(s);
k="
+k);
//测试其它数值类型.......
charc='
x'
Characterch=newCharacter(c);
System.out.println(ch.toString());
charc1=ch.charValue();
System.out.println(c1);
System.out.println(Character.isDigit('
6'
));
System.out.println(Character.isLetter('
a'
System.out.println(Character.isLetterOrDigit('
System.out.println(Character.isLowerCase('
System.out.println(Character.isUpperCase('
A'
System.out.println(Character.toUpperCase('
System.out.println(Character.toLowerCase('
booleanb=true;
Booleanbo=newBoolean(b);
System.out.println(bo.toString());
booleanb1=bo.booleanValue();
System.out.println(b1);
/*
其实,JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。
使用示例代码如下:
int类型会自动转换为Integer类型intm=12;
Integerin=m;
Integer类型会自动转换为int类型intn=in;
*/
2.编程完成从键盘输入10个整形数,计算出平均值
提示:
①键盘输入字符串并取得整形数的操作如下:
BufferedReaderkeyin=newBufferedReader(newInputStreamReader(System.in));
intk;
Stringstr;
str=keyin.readLine();
//取得一行从键盘输入的字符串。
k=Integer.parseInt(str);
//转化为整形
②键盘输入取得整形数也可以采用如下操作:
importjava.util.Scanner;
Scannerinput=newScnner(System.in);
intx;
x=input.nextInt();
//取得从键盘输入的整形数。