Java基础(学习笔记)之常用类

本文深入讲解了Java中常用的类,包括Scanner、System、Runtime、Math、Random、BigDecimal、BigInteger、Date和Calendar等类的使用方法及示例。通过具体代码演示了如何进行键盘输入、时间操作、数学计算、随机数生成、大数运算等核心功能。
摘要由CSDN通过智能技术生成

常用类
这些是这种类常见的用法,具体的更多方法请参开API文档。
1.Scanner
使用Scanner类可以方便的获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器。
读取键盘输入内容:
`public static void main(String[] args) {
// System.in代表标准输入,就是键盘输入
Scanner scanner = new Scanner(System.in);

	// 判断是否还有下一个数据
	while (scanner.hasNext()) {
		String str = scanner.next();

		if ("exit".equals(str)) {
			System.exit(0);// 退出当前程序 结束整个程序
		}

		System.out.println("键盘输入的内容是:" + str);
	}

}`

2.System类

public static void main(String[] args) {
//		System.out.println("hello Jack");
//		System.err.println("hello java");
		
		//得到当前系统的时间  以毫秒数表示
//		System.out.println(System.currentTimeMillis());
		
		String str1 =new String("hello");
		String str2 =new String("hello");
		System.out.println(str1==str2);
		//因为String重写了hashCode  只要两个字符串的 字符序列相同 那么hashCode值就相同
		System.out.println(str1.hashCode()+"-----"+str2.hashCode());
		//唯一标识两个类hashCode不是的 identityHashCode
		System.out.println(System.identityHashCode(str1));
		System.out.println(System.identityHashCode(str2));
		
		String str3="Java";
		String str4="Java";
		System.out.println(str3==str4);
		System.out.println(System.identityHashCode(str3));
		System.out.println(System.identityHashCode(str4));
		
	}

3.Runtime类
Runtime类代表的java程序的运行环境,每个java程序都有与之对应的Runtime实例,应用程序与对象的运行环境进行关联。

public static void main(String[] args) throws Exception {
		Runtime rt =Runtime.getRuntime();
		
		System.out.println("处理器数量:"+rt.availableProcessors());
		System.out.println("虚拟机中空闲的内存数:"+rt.freeMemory());
		System.out.println("Java 虚拟机试图使用的最大内存量:"+rt.maxMemory());
		System.out.println("总内存数:"+rt.totalMemory());
	}

4.Math类

public static void main(String[] args) {
		int a = -10, b = 30;
		double c = 3.14, d = 3.93;
		System.out.println(Math.abs(a));
		// floor 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
		System.out.println(Math.floor(c));// 3.0
		System.out.println(Math.floor(d));// 4.0
		// 返回最接近参数的 int。
		System.out.println(Math.round(c));// 3
		System.out.println(Math.round(d));// 4

		double max = Math.max(c, d);

		int min = Math.min(a, b);
		System.out.println(max);
		System.out.println(min);
		
		System.out.println(Math.sin(Math.toRadians(30)));
		
		//求 1-100之间的随机整数
		System.out.println((int)(Math.random()*100));
		

	}

5.Random类
Random rand = new Random();
生成随机整数:rand.nextInt()
设置随机种子数:random.setSeed(1234)

public static void main(String[] args) {
		Random r =new Random();
		System.out.println("取出下一个Boolean:"+r.nextBoolean());
		//1-100之间的整数
		System.out.println("取出下一个Int:"+r.nextInt(100));
		System.out.println("-----------------------------");
		
		Random r1 =new Random(50);
		Random r1 =new Random(System.currentTimeMillis());
		System.out.println(r1.nextBoolean());
		System.out.println(r1.nextDouble());
		System.out.println(r1.nextInt());
		
		System.out.println("-----------------------------");
		Random r2 =new Random(50);
		Random r2 =new Random(System.currentTimeMillis());
		System.out.println(r2.nextBoolean());
		System.out.println(r2.nextDouble());
		System.out.println(r2.nextInt());

	}

6.BigDecimal和BigInteger
如果是对double进行运算 需要转换为BigDecimal进行精准运算
大数运算

public static void main(String[] args) {
		String str1 = "2349205723005723057230672043479023472047023470144263545364544234423654264465464547664441464664642645634456643645423643664346432343248";
		String str2 = "44565664546346466344663406720434790234720470234701442635453645442344236542644654645476644414646646426456344566436454236436643346346346546464348";
		// 可以把大数的运算转换为BigDecimal进行运算
		BigDecimal b1 = new BigDecimal(str1);
		BigDecimal b2 = new BigDecimal(str2);

		BigDecimal result = b1.multiply(b2);

		System.out.println(result);
		
		BigInteger bb1=new BigInteger(str1);
		BigInteger bb2=new BigInteger(str2);
		BigInteger re2=bb1.multiply(bb2);
		System.out.println(re2);
		

	}

简易计算器

public class Arithmetic {
	// 除法默认运算精度
//	private final static int DEF_DIV_SCSLE = 10;
	private static final int DEF_DIV_SCSLE = 10;
	
	public static double add(double v1 ,double v2) {
		BigDecimal b1 =BigDecimal.valueOf(v1);
		BigDecimal b2 =BigDecimal.valueOf(v2);
		return b1.add(b2).doubleValue();
	}
	
	public static double sub(double v1 ,double v2) {
		BigDecimal b1 =BigDecimal.valueOf(v1);
		BigDecimal b2 =BigDecimal.valueOf(v2);
		return b1.subtract(b2).doubleValue();
	}
	
	public static double mul(double v1 ,double v2) {
		BigDecimal b1 =BigDecimal.valueOf(v1);
		BigDecimal b2 =BigDecimal.valueOf(v2);
		return b1.multiply(b2).doubleValue();
	}
	
	public static double div(double v1 ,double v2) {
		BigDecimal b1 =BigDecimal.valueOf(v1);
		BigDecimal b2 =BigDecimal.valueOf(v2);
		return b1.divide(b2,DEF_DIV_SCSLE,BigDecimal.ROUND_HALF_UP).doubleValue();
	}
	
	public static void main(String[] args) {
		System.out.println("0.05+0.01="+Arithmetic.add(0.05, 0.01));
	}
}

7.Date类和Calendar类
时间日期:
Date:可以被实例化
Date date = new Date();
-》getTime() 获取当前时间的时间戳
-》getHours(),getMinutes(),getSeconds()…

	SimpleDateFormat
		Date date = new Date();
		SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
		format.format(date);

Calendar:不能被实例化
-》使用:
Calendar c = Calendar.getInstance();
-》Calendar.get(int field)
根据给定字段名称,获取相应时间日期信息
get(Calendar.YEAR) 获取年份
get(Calendar.MONTH) 获取月份
-》Calendar格式化输出
Calendar c = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat(“yyyy/MM/dd”);
format.format(c.getTimeInMillis())
计算自己活了多少天?

public static void main(String[] args) {
		Calendar cal =Calendar.getInstance();
		//1997-8-23
		cal.set(1997, 7, 23);
		System.out.println("到今天为止这个同学经历了"+((System.currentTimeMillis()-cal.getTimeInMillis())/1000/3600/24)+"天");
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值