Java常用类
Integer类
两种构造方法:
//Integer(int number)
//该方法以一int型变量作为参数来获取Integer对象。
Integer number=new Integer(7);
//Integer(String str)
//该方法以一个String型变量作为参数来获取Integer对象。
Integer number=new Integer("123");
注:如果要使用字符串变量创建Integer对象,字符串变量的值一定要是数值类型的,否则会抛出NumberFormatException异常。
常用方法的使用
public class Demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=Integer.parseInt("456");
Integer iNum=Integer.valueOf("456");
System.out.println("int数据与Integer对象的比较"+iNum.equals(num));
String str1=Integer.toBinaryString(num);
String str2=Integer.toHexString(num);
String str3=Integer.toOctalString(num);
String str4=Integer.toString(num);
System.out.println("二进制:"+str1);
System.out.println("十六进制:"+str2);
System.out.println("八进制:"+str3);
System.out.println("十五进制:"+str4);
String a=iNum.toBinaryString(num);
System.out.println(a);
}
}
//输出结果
//int数据与Integer对象的比较true
//二进制:111001000
//十六进制:1c8
//八进制:710
//十五进制:456
//111001000
Double类
两种构造方法
//Double(double value)
//基于Double参数创建Double类对象
Double number=new Double(11.3);
//Double(String str)
//该方法以一个String型变量作为参数来获取Double对象
Double number=new Double("11.3")
常用方法的使用
//与Integer的方法使用一致
public class userDouble {
public static void main(String[] args) {
// TODO Auto-generated method stub
Double dNum=Double.valueOf("3.14");
System.out.println("3.14是否为非数值:"+Double.isNaN(dNum.doubleValue()));
}
}
//输出:3.14是否为非数字值:false
//isNaN方法:如果此double值是非数字(NaN)值,则返回true;否则返回false
Boolean类
两种构造方法
//Boolean(boolean value);
//该方法创建一个表示value参数的Boolean对象
Boolean b=new Boolean(true);
//Boolean(String str)
//该方法以String变量作为参数创建Boolean对象。如果String参数不为null且在忽略大小写时等于true,
//则分配一个表示true值的Boolean对象,否则分配false
Boolean a=new Boolean("true")
常用方法的使用
public class GetBoolean {
public static void main(String[] args) {
// TODO Auto-generated method stub
Boolean b1=new Boolean(true);
Boolean b2=new Boolean("ok");
System.out.println("b1:"+b1.booleanValue());
System.out.println("b2:"+b2.booleanValue());
}
}
//输出结果
//b1:true
//b2:false
Character类
构造方法
//Character(char value)
//该类的构造方法的参数必须是一个char类型的数据。通过该构造方法将一个char类型数据包装成一个
//Character类对象。一旦Charactet类被创建,它包含的数值就不能改变了
Character myChar=new Character('s');
常用方法使用
public class UpperOrLower {
public static void main(String[] args) {
// TODO Auto-generated method stub
Character mychar1 = new Character('A');
Character mychar2 = new Character('a');
if (Character.isUpperCase(mychar1)) {
System.out.println(mychar1 + "是大写字母");
System.out.println("转换为小写字母的结果是"+Character.toLowerCase(mychar1));
}
if (Character.isLowerCase(mychar2)) {
System.out.println(mychar2 + "是小写字母");
System.out.println("转换为小写字母的结果是" + Character.toUpperCase(mychar2));
}
}
}
//输出结果
//A是大写字母
//转换为小写字母的结果是a
//a是小写字母
//转换为小写字母的结果是A
Number类
该类是一个抽象类,它是所有数值型的包装的父类。
Math类
三角函数方法
public class TrigonometricFunction {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("90度的正弦值:"+Math.sin(Math.PI/2));
System.out.println("0度的余弦值:"+Math.cos(0));
System.out.println("60度的正切值:"+Math.tan(Math.PI/3));
System.out.println("2的平方根与2商的反弦值:"+Math.asin(Math.sqrt(2)/2));
System.out.println("2的平方根与2商的反弦值:"+Math.acos(Math.sqrt(2)/2));
System.out.println("1的反正切值:"+Math.atan(1));
System.out.println("120度的弧度值:"+Math.toRadians(120.0));
System.out.println("∏/2的角度值:"+Math.toDegrees(Math.PI/2));
}
}
//输出结果
//90度的正弦值:1.0
//0度的余弦值:1.0
//60度的正切值:1.7320508075688767
//2的平方根与2商的反弦值:0.7853981633974484
//2的平方根与2商的反弦值:0.7853981633974483
//1的反正切值:0.7853981633974483
//120度的弧度值:2.0943951023931953
//∏/2的角度值:90.0
指数函数方法
public class ExponentFunction {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("e的平方值:"+Math.exp(2));
System.out.println("以e为底2的对数值:"+Math.log(2));
System.out.println("以10为底2的对数值:"+Math.log10(2));
System.out.println("4的平方根值:"+Math.sqrt(4));
System.out.println("8的立方根值:"+Math.cbrt(8));
System.out.println("2的2次方值:"+Math.pow(2,2));
}
}
//输出结果
//e的平方值:7.38905609893065
//以e为底2的对数值:0.6931471805599453
//以10为底2的对数值:0.3010299956639812
//4的平方根值:2.0
//8的立方根值:2.0
//2的2次方值:4.0
取整函数方法
取最大值、最小值、绝对值函数方法
随机数
Math.random()方法
Random类
//Random r=new Random();
//Random r=new Random(seedValue);
//r:Random类对象
//seedValue:随机数生成器的种子
使用Random类模拟微信的抢红包功能
import java.util.Random;
import java.util.Scanner;
public class RedBags {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("——————————模拟微信抢红包——————————\n");
Scanner sc = new Scanner(System.in);
System.out.println("请输入想要装入的红包总金额(元)");
double total = sc.nextDouble();
System.out.println("请输入红包的个数(个)");
int bagsnum = sc.nextInt();
double min = 0.01;
Random random = new Random();
for (int i = 1; i < bagsnum; i++) {
/*
* 通过公式模拟数学中的离散模型计算一个红包可以放的最大金额
* 本次红包可用最大金额=可分配金额-(红包总数-已发出的红包总数)*红包的最小金额
*/
double max = total - (bagsnum - i) * min;
double bound = max - min;
/*
* 根据随机金额的取至范围,自动生成红包金额 由于nextInt(int
* bound)只能用整形做参数,所以先将bound乘100(小数点向右挪两位)
* 获取到一个整数后,将这个整数除100(小数点向左挪两位)并转换成与金额相同的赋点类型
*/
double safe = (double) random.nextInt((int) (bound * 100)) / 100;
double money=safe+min;
total=total-money;
System.out.println("第"+i+"个红包:"+String.format("%.2f", money)+"元");
}
System.out.println("第"+bagsnum+"个红包:"+String.format("%.2f", total)+"元");
sc.close();
}
}
//——————————模拟微信抢红包——————————
/*请输入想要装入的红包总金额(元)
10.00
请输入红包的个数(个)
5
第1个红包:3.13元
第2个红包:1.22元
第3个红包:4.06元
第4个红包:0.69元
第5个红包:0.90元*/