Java学习(自用,不定期更新)(四)

API

API:application programming interface。应用程序接口。我们这里通常把api简称为帮助文档。

概述

在java设计时,已经提供了很多解决问题的封装类。这些解决问题的封装类,我们统称为:API,在开发中,只要去相应的包(文件夹)中去找对应的封装类就可以解决问题。

Object

O别处他是所有类型的父类,共有11个方法,子类继承了Object都可以使用这些方法。

Object中的toString

打印对象时,默认调用的方法就是toString方法,在Object中,默认打印的就是类型+@ +地址。
默认打印的内容是无法满足日常使用中的需求的,所以需要对toString进行重写。

如果一个对象打印不是地址内容,100%是重写了toString方法。
重写toString的意义就是让打印的对象直接把属性值显示值

Object中的equalse

在Object中equals默认比较的是两个对象的地址是否相同。而当父类的equals方法无法满足自雷的需要时【如果两个相同类型的对象,如果属性值相同,内容就相同】,就需要子类重写方法。

equals方法的作用,比较两个对象是否相等。Object中默认的逻辑是比较地址是否相同,我们希望相同类型的对象,如果属性值相同,我们认为相等,此时就需要重写equals方法

Scanner

Scanner类可以获取用户键盘录入的数据,提高程序的灵活性。

使用步骤

导包

使用import关键字导包,在类的所有代码之前导包,位置放到class定义的上面和package的下面。引入要使用的类型,java.lang包下的所有类无需导入。

import.包名.类名;
import.util.Scanner;
创建对象

使用该类的构造方法,创建一个该类的对象。

数据类型  变量名  =  new  数据类型(参数列表);
Scanner sc = new Scanner(System.in);
调用方法

调用该类的成员方法,完成指定功能

变量名.方法名();
int i = sc.nextInt();//接受录入的整数

例:

import java.util.Scanner;
public class Demo_Scanner{
	public static void main(String [] args)
	{
		//创建对象
		Scanner sc = new Scanner(System.in);
		//控制台输出
		System.out.printn("录入一个整数");
		//调用方法
		int i = sc.nextInt();
		输出数据
		System.out.println("i:"+i);
	}
}

Random类

此类的实例用于生成随机数。

使用步骤

导包

使用import关键字导包,在类的所有代码之前导包,位置放到class定义的上面和package的下面。引入要使用的类型,java.lang包下的所有类无需导入。

import.包名.类名;
import.util.Random;
创建对象

使用该类的构造方法,创建一个该类的对象。

数据类型  变量名  =  new  数据类型(参数列表);
Scanner rand = new Random();
调用方法

调用该类的成员方法,完成指定功能

变量名.方法名();
int i = rand.nextInt();//接受录入的整数

例:

import java.util.Random;
public class Demo_Random{
	public static void main(String [] args)
	{
		//创建对象
		Random rand = new Random();
		//控制台输出
		System.out.printn("随机生成三个10以内随机数");
		//循环三次
		for(int i = 0; i < 3;i++){
			//调用方法
			//循环每次调用nextInt(n),都会生成一个随机数
			int i = rand.nextInt(10);
			//输出数据
			System.out.println("i:"+i);
	}
		
	}
}

案例

产生一个1-100之间的随机数,请猜出这个数据是多少。

//生成Random和Scanner对象
Random rand = new Random();
Scanner sc = new Scanner(System.in);
//生成随机数,nextInt(100)生成0-99,所以需要+1
int n = rand.nextInt(100)+1;
//循环判断
while(true){
	//键盘录入需要猜的数据
	int s = sc.nextInt();
	//比较数据
	if(s > n) {
	System.out.println("猜大了");
	}else if (s < n) {
	System.out.println("猜小了");
	}else {
	System.out.println("猜对了");
	//正确则退出循环
	break;
	}
}

String类

代表字符串。Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例。
String描述的字符串,所有在Java程序中使用双引号引用起来的数据都是一个对象。

特点

  • 字符串常量属于对象,但不存储在堆空间,存储于方法区中的字符串常量池 (保存的就是所有的字符串数据。只要我们书写了双引号,不管双引号中间是什么数据,这些数据都会立刻在字符串常量池中保存。并且一直存在,不会被改变。)
  • 字符串不变,字符串的值在创建之后就不能被更改。
  • 可共享:因为对象不可变,所以可以被共享
Spring常用方法
方法作用
public boolean equals (Object anObject)将此字符串与指定对象进行比较
public boolean equalsIgnoreCase (String anotherString)将此字符串与指定对象进行比较,忽略大小写
public int length ()返回此字符串的长度
public String concat (String str)将指定的字符串连接到该字符串的末尾
public char charAt (int index)返回指定索引处的 char值
public int indexOf (String str)返回指定子字符串第一次出现在该字符串内的索引
public String substring (int beginIndex)返回一个子字符串,从beginIndex开始截取字符串到字符串结尾
public String substring (int beginIndex, int endIndex)返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex
public char[] toCharArray ()将此字符串转换为新的字符数组
public byte[] getBytes ()使用平台的默认字符集将该 String编码转换为新的字节数组
public String replace (CharSequence target, CharSequence replacement)将与target匹配的字符串使用replacement字符串替换
public String[] split(String regex)将此字符串按照给定的regex(规则)拆分为字符串数组

StringBuider

可变字符序列,通常用来解决String字符串拼接时,重复创建对象的浪费情况,它是一个类似于String的字符串缓冲区。

与String的区别在于StringBuilder的内容是可变的。

StringBuilder的构造方法于常用方法

查看StringBuilder的API文档,可以发现,有两个常用的构造方法:

方法作用
public StringBuilder()构造一个空的StringBuilder容器
public StringBuilder(String str)构造一个StringBuilder容器,并将字符串添加进去

三个常用的方法:

方法作用
public StringBuilder append(…)添加任意类型数据的字符串形式,并返回当前对象自身
public StringBuilder reverse()返回反转的字符序列
public String toString()将当前StringBuilder对象转换为String对象

StringBuilder已经覆盖重写了Object当中的toString方法。

StringBuilder与String的相互转换

  • StringBuilder转换为String
    public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
  • String转换为StringBuilder
    public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder

Arraylist类

包含用来操作数组的各种方法,比如排序和搜索等,其所有方法均为静态方法。

操作数组常用方法

方法作用
public static String toString(int[] a)返回指定数组内容的字符串表示形式
public static void sort(int[] a)对指定的 int 型数组按数字升序进行排序

Math类

包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象。

基本方法

方法作用
public static double abs(double a)返回 double 值的绝对值
public static double ceil(double a)返回大于等于参数的最小的整数
public static double floor(double a)返回小于等于参数最大的整数
public static long round(double a)返回最接近参数的 long(相当于四舍五入方法)
public static int max(int a,int b)返回两个int值中的较大值
public static int min(int a,int b)返回两个int值中的较小值
public static int pow(double a,double b)返回a的b次幂值
public static double random()返回值为double的正值,【0.0,1.0】

Date

表示日期的瞬间,可以精确到毫秒

构造方法作用
Date()无参构造方法创建对象,表示当前时间的精确毫秒
Date(long date)有参构造方法创建对象,可以指定毫秒值进行创建

日期格式化类DateForamt【SimpleDateFormat】

DateFormat是抽象类,里面定义了方法能够将日期对象和字符串之间进行转换:

  1. 格式化:Date对象转换为字符串
String format(Date date) 将一个 Date 格式化为日期/时间字符串。 
  1. 解析:字符串的日期转换为Date对象
Date parse(String source) 从给定字符串的开始解析文本,以生成一个日期。

日期格式化类DateFormat是抽象类,要借助其子类 SimpleDateFormat类进行使用
日期格式化或者解析,需要借助SimpleDateFormat。构建对象时需要制定日期模板。

Calender

日历类,封装所有时间日期信息,是Date类的替代品。

Calendar本身是一个抽象类,如果要使用,需要使用其子类

方法调用

public int get(int field):返回给定日历字段的值

Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
System.out.println("year = " + year);

public void set(int field, int value):将给定的日历字段设置为给定值

Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2020); 

public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, 30000);

public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象

Date d = cal.getTime();//日历类方法获取
long time = d.getTime();//日期类方法获取

System

系统类

public static long currentTimeMillis() :获取系统时间的毫秒值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统据信息的管理升级为软件存储,归纳,集中处理据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值