Java自学笔记⑨

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元*/
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值