package work03;
public class TestMath {
public static void main(String args[]) {
int i1 = (int) (Math.random() * 100); // 产生大于等于 0 小于 100 的随机数
double i2 = Math.random() * 100; // 产生大于等于 0.0 小于 1.0 的随机数
double d1 = Math.sin(Math.toRadians(60.0));// 弧度值
double d2 = Math.log(Math.E);// E 的对数值
double d3 = Math.pow(2.0, 4.0);
int r = Math.round(43.6F);
System.out.println("i1 的随机数为 " + i1);
System.out.println("d1 的随机数为 " + i2);
System.out.println("60 弧度的正弦值:Math.sin(Math.toRadians(60.0))= " + d1);// 0.8660254037844386
System.out.println("E 的对数值:Math.log(Math.E)= " + d2);// 1.0
System.out.println("2 的 4 次方:Math.pow(2.0, 4.0)= " + d3);// 16.0
System.out.println("43.6F 四舍五入:Math.round(43.6F)= " + r);// 44
}
}
2. 使用Random类产生随机数的Math 类。
package work03;
import java.util.Random;
public class TestMath {
public static void main(String args[]) {
Random r1 = new Random(1234567890L);
Random r2 = new Random(1234567890L);
boolean b = r1.nextBoolean(); // 随机数不为 0 时取真值
int i1 = r1.nextInt(100); // 产生大于等于 0 小于 100 的随机数
double i2 = r1.nextDouble(); // 产生大于等于 0.0 小于 1.0 的随机数
double d1 = Math.sin(Math.toRadians(60.0));
double d2 = Math.log(Math.E);
double d3 = Math.pow(2.0, 4.0);
int r = Math.round(43.6F);
System.out.println("b 的随机数不为 0 时 " + b);
System.out.println("i1 的随机数为 " + i1);
System.out.println("d1 的随机数为 " + i2);
System.out.println("60 弧度的正弦值:Math.sin(Math.toRadians(60.0))= " + d1);
System.out.println("E 的对数值:Math.log(Math.E)= " + d2);
System.out.println("2 的 4 次方:Math.pow(2.0, 4.0)= " + d3);
System.out.println("43.6F 四舍五入:Math.round(43.6F)= " + r);
}
}
package work03;
import java.applet.Applet;
import java.awt.Graphics;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class TestDateCalendar extends Applet {
private static final long serialVersionUID = 1L;
public void paint(Graphics g) {
Date today;
Calendar now;
DateFormat f1, f2;
String s1, s2;
today = new Date(); // 获取系统当前日期
g.drawString("字符串格式:" + today.toString(), 20, 20);
f1 = DateFormat.getInstance(); // 以默认格式生成格式化器
s1 = f1.format(today); // 将日期转换为字符串
g.drawString("系统格式:" + s1, 20, 40);
// 生成长格式的中国日期格式化器
f1 = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA);
// 生成长格式的中国时间格式化器
f2 = DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA);
s1 = f1.format(today); // 将日期转换为日期字符串
s2 = f2.format(today); // 将日期转换为时间字符串
g.drawString("中国格式:" + s1 + " " + s2, 20, 60);
now = Calendar.getInstance(); // 获取系统时间
s1 = now.get(now.HOUR) + "时" + now.get(now.MINUTE) + "分"
+ now.get(now.SECOND) + "秒";
g.drawString("调整前时间:" + s1, 20, 80);
now.set(2004, 8, 15, 9, 9, 9);
today = now.getTime();
g.drawString("调整后时间:" + today.toString(), 20, 100);
}
}
2. 在独立运行的应用程序中使用日期函数。
package work03;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDateCalendar {
public static void main(String args[]) {
Date today = new Date(); // 当前日期和时间
SimpleDateFormat sdf;
sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 hh 时 mm 分 ss 秒 a EEEEE");
System.out.println("当前日期和时间: " + sdf.format(today));
long hms = System.currentTimeMillis();// 当前时间的毫秒数
System.out.println("当前时间的毫秒数=" + hms);
Date tomorrow = new Date(hms + 24 * 60 * 60 * 1000);
System.out.println("明天是" + sdf.format(tomorrow));
Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);// 年份
int month = now.get(Calendar.MONTH) + 1;// 月份
int day = now.get(Calendar.DATE);// 日期
System.out.print("今天是" + year + "年" + month + "月" + day + "日");
int week = now.get(Calendar.DAY_OF_WEEK); // 星期
switch (week) {
case 1:
System.out.println(" 星期日");
break;
case 2:
System.out.println(" 星期一");
break;
case 3:
System.out.println(" 星期二");
break;
case 4:
System.out.println(" 星期三");
break;
case 5:
System.out.println(" 星期四");
break;
case 6:
System.out.println(" 星期五");
break;
case 7:
System.out.println(" 星期六");
break;
}
}
}
/*
当前日期和时间: 2017 年 11 月 29 日 08 时 30 分 10 秒 下午 星期三
当前时间的毫秒数=1511958610903
明天是2017 年 11 月 30 日 08 时 30 分 10 秒 下午 星期四
今天是2017年11月29日 星期三
*/
3.编写程序,首先声明使用的包名jacky,然后创建 YMD 类,该类具有两个成员方法,功能分别为计算今年的年份以及输出一个带有年月日的字符串。
package work03;
import java.util.Calendar;
public class YMD {
private int year, month, day;
public YMD(int year, int month, int day) {
super();
this.year = year;
this.month = month;
this.day = day;
}
public static int thisyear() {
return Calendar.getInstance().get(Calendar.YEAR);
}
public String toString() {
return year + "-" + month + "-" + day;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
YMD yy = new YMD(2017, 1, 1);
System.out.println(thisyear());
System.out.println(yy);
}
}
/*
2017
2017-1-1
*/
4.编写使用包jacky中YMD 类的程序,LX.java 程序功能:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用 YMD 的计算年份的方法来计算年龄。
package work03;
import java.util.Calendar;
public class YMD {
private int year, month, day;
public YMD(int year, int month, int day) {
super();
this.year = year;
this.month = month;
this.day = day;
}
public int year() {
// TODO Auto-generated method stub
return year;
}
public static int thisyear() {
return Calendar.getInstance().get(Calendar.YEAR);
}
public String toString() {
return year + "-" + month + "-" + day;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
YMD yy = new YMD(2019, 1, 1);
System.out.println(thisyear());
System.out.println(yy);
}
}
package work03;
public class LX {
private String name;
private YMD birth;
public LX(String name, YMD birth) {
super();
this.name = name;
this.birth = birth;
}
public LX(String name,int year,int month,int day){
this(name,new YMD(year,month,day));
}
public int age(){
return YMD.thisyear()-birth.year();
}
public String toString(){
return name+" "+birth+" "+age();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
LX aa=new LX("小怡",1998,7,20);
System.out.println(aa);
}
}
/*小怡 1998-7-20 19*/
1.掌握包装类的使用方法
package work03;
public class Demo02 {
public static void main(String[] args) {
//int n = 10;
Integer in = new Integer(100);
//Integer in1 = new Integer(n);
int m = in.intValue();
System.out.println(in.toString());//100
System.out.println("m=" + m);//100
Integer in2 = Integer.valueOf(20);
System.out.println(in2.toString());//20
String s = "123";
int k = Integer.parseInt(s);
System.out.println("k=" + k);//123
// 测试其它数值类型.......
char c = 'x';
Character ch = new Character(c);
System.out.println(ch.toString());//x
char c1 = ch.charValue();
System.out.println(c1);//x
System.out.println(Character.isDigit('6'));//true
System.out.println(Character.isLetter('a'));//true
System.out.println(Character.isLetterOrDigit('6'));//true
System.out.println(Character.isLowerCase('a'));//true
System.out.println(Character.isUpperCase('A'));//true
System.out.println(Character.toUpperCase('a'));//A
System.out.println(Character.toLowerCase('A'));//a
boolean b = true;
Boolean bo = new Boolean(b);
System.out.println(bo.toString());//true
boolean b1 = bo.booleanValue();
System.out.println(b1);//true
}
}
①键盘输入字符串并取得整形数的操作如下:
BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in));
int k;
String str;
str = keyin.readLine();//取得一行从键盘输入的字符串。
k= Integer.parseInt(str);//转化为整形
②键盘输入取得整形数也可以采用如下操作:
import java.util.Scanner;
Scanner input=new Scnner(System.in);
int x;
x=input.nextInt();//取得从键盘输入的整形数。
package work03;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in );
int x;
int sum=0;
for(int i=0;i<10;i++){
x=sc.nextInt();
sum+=x;
}
System.out.println((double)(sum/10));
}
}