java入门-----系统自带的类

关于时间的类

1.Date 日期类

2.SimpleDateFormat 格式化日期类

3.Calender 日历类

Date date = new Date();

System.out.println(date);
//Thu Aug  05  11:23:00 CST 2021
//星期 月份 日期 时:分:秒  时区 年份


//
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

//将Date 转 字符串
String format = sdf.format(new Date());
System.out.println(format);

///将字符串 转 Date
Date date = sdf.parse("2021年08月05日 11:28:61");
System.out.println(date);



//
//获取日历类的对象
Calendar c = Calendar.getInstance();

//获取单个的日历信息
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//月份0~11
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);

System.out.println(year);
System.out.println(month);
System.out.println(day);
System.out.println(hour);
System.out.println(minute);
System.out.println(second);

Math类

Math类提供了一系列基本数学运算和几何函数的方法

Math类是final类,并且它的所有成员变量和成员方法都是静态的

System.out.println("求平方:" + Math.pow(3, 2));                //9.0
System.out.println("求平方根:" + Math.sqrt(9));                //3.0
System.out.println("求绝对值:" + Math.abs(-100));              //100
System.out.println("向上取整(天花板):" + Math.ceil(1.001));   //2.0
System.out.println("向下取整(地板):" + Math.floor(1.99));    //1.0
System.out.println("求最大值:" + Math.max(10, 20));           //20
System.out.println("求最小值:" + Math.min(10, 20));           //10
System.out.println("四舍五入:" + Math.round(1.4));            //1
System.out.println("获取随机值(0包含~1不包含):" + Math.random());
静态导入:

将Math类中所有的静态属性和静态方法都导入Test04这个类中,把导入的静态属性和静态方法都认为是Test04自己的内容

缺点:静态导入缺点:可读性不高。如果本类中有和静态导入类相同的方法,会就近调用本类中的方法

package com.dream.math_class;
//静态导入:将Math类中所有的静态属性和静态方法都导入Test04这个类中,把导入的静态属性和静态方法都认为是Test04自己的内容
import static java.lang.Math.*;//静态导入

public class Test04 {
	
	public static void main(String[] args) {
		System.out.println("求平方:" + pow(3, 2));//9.0
		System.out.println("求平方根:" + sqrt(9));//3.0
		System.out.println("求绝对值:" + abs(-100));//100
		System.out.println("向上取整(天花板):" + ceil(1.001));//2.0
		System.out.println("向下取整(地板):" + floor(1.99));//1.0
		System.out.println("求最大值:" + max(10, 20));//20
		System.out.println("求最小值:" + min(10, 20));//10
		System.out.println("四舍五入:" + round(1.4));//1
		//静态导入缺点:可读性不高
		//如果本类中有和静态导入类相同的方法,会就近调用本类中的方法
		System.out.println("获取随机值(0包含~1不包含):" + random());
	}
	//private static int random() {
	//	return 123456789;
	//}
}

Random随机类

Random是一个用于生成随机数的类(伪随机数),该随机数是由随机种子再经过算法算出来的,所以不是严格意义上的随机数,一般称为伪随机数。

随机种子:系统截取当前时间作为随机种子

把随机种子加入算法返回随机数。

随机类的使用:

Random random = new Random();

int  nextInt1 = random.nextInt();
System.out.println("随机出int取值范围内的数字:"+nextInt1);

int  nextInt2 = random.nextInt(10);
System.out.println("随机出0~9的数字:"+nextInt2);

boolean nextBoolean = random.nextBoolean();
System.out.println("随机boolean值:"+nextBoolean);

深入Random

写一个自己的Random类,展示大致原理。

package com.Xu.work4;

import java.text.SimpleDateFormat;
import java.util.Date;

public class MyRandom {
	public int random() {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("SS");//获取时间大写S表毫秒
		String str = simpleDateFormat.format(new Date());//转化为字符串储存
		int num=0;
		String strYear=str.substring(0,2);
		num = Integer.parseInt(strYear);//转为int型
		return num;
	}
}

真正底层会比这个复杂,但大致原理是相同的:

1.获取种子数

2.算法实现

3.返回随机数

Runtime 运行环境类

package com.dream.runtime_class;
public class Test01 {
	
	public static void main(String[] args) {
		//获取运行环境对象
		Runtime run = Runtime.getRuntime();
		
		System.out.println("获取最大内存数(字节):" + run.maxMemory());
		System.out.println("获取闲置内存数(字节):" + run.freeMemory());
		System.out.println("获取处理数:" + run.availableProcessors());
	}
}
获取最大内存数(字节):4273995776
获取闲置内存数(字节):267176472
获取处理数:4

System(系统类)的属性

系统标准的输入流(方向:控制台 -> 程序)

InputStrram in = System.in;

Scanner scan = new System(in);
String next = Scan.next();
//即:String next = scan.next();

系统标准的输出流(方向:程序 -> 控制台)

PrintStream out = System.out;
out.println(next);
//即:System.out.println(next);

关闭资源

scan.close();

System的out与err

理解:out和err是两个线程,谁抢到CPU资源谁先运行

说明:多线程的随机性很强

System.out.println("小明");
System.err.println("小红");
System.out.println("小强");

输出顺序不确定

System的方法

获取系统参数的对象

Properties properties = System.getProperties();
System.out.println(properties);

通过键获取值

String value = System.getProperty("os.name");
System.out.println(value);		

退出当前虚拟机

System.exit(0);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值