Java基础---面向对象(Character类、正则表达式、Date)

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------


一、Character类

1、Character类概述

Character 类在对象中包装一个基本类型 char 的值此外,该类提供了几种方法,

以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反

之亦然。

2、构造方法

public Character(char value)

3、Character类成员方法

public static boolean isUpperCase(char ch)字符是不是大写

public static boolean isLowerCase(char ch)字符是不是小写

public static boolean isDigit(char ch)字符是不是数字

public static char toUpperCase(char ch)字符转成大写

public static char toLowerCase(char ch)字符转成小写

4、例子

键盘输入字符串,判断该字符串中,有多少个大写小写字母,数字的个数

public class CharacterDemo {

public static void main(String[] args) {

//1: 键盘输入字符串

Scanner sc = new Scanner(System.in);

String str = sc.nextLine();

//2: 定义每种类型的初始值

int bigCount = 0;

int smallCount =0;

int numberCount = 0;

//3: 获取字符串中每一个字符

for (int i=0; i<str.length(); i++) {

char ch = str.charAt(i);

//Character ch = str.charAt(i);

//4: 判断当前的字符 是否那种?

if (Character.isDigit(ch)) {

//数字

numberCount++;

} else if (Character.isLowerCase(ch)) {

//小写字母

smallCount++;

} else if (Character.isUpperCase(ch)) {

//大写字母

bigCount++;

}

}

//5: 打印出每种类型的个数

System.out.println("大写:" + bigCount);

System.out.println("小写:" + smallCount);

System.out.println("数字:" + numberCount);

}

}


二、正则表达式概述及基本使用

1、正则表达式:是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

其实就是一种规则。有自己特殊的应用。

2、常见组成规则

规则字符在java.util.regex.Pattern类中

字符

字符类

预定义字符类

边界匹配器

数量词

3、正则表达式的应用

(1)判断功能

public boolean matches(String regex)

(2)分割功能

public String[] split(String regex)

(3)替换功能

public String replaceAll(String regex,String replacement)

(4)获取功能

Pattern和Matcher类的使用

4、使用规则

(1)字符

规则 匹配 例子

x 字符 x a,代表就是字符a , b,代表就是字符b

\\ 反斜线字符 d:\\123, \\代表一个 \ 斜线

\t 制表符 Tab键

\n 新行(换行)符

\r 回车符

(2)字符类

[abc] a、b 或 c(简单类) 代表当前这个位置出现的数据是a,b,c中的某一个

[^abc] 除了 a、b 或 c,任何字符 代表当前这个位置除了a,b,c以外,都可以

[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

[0-9] 0 到 9, 两头的数字包括在内(范围)

[a-zA-Z_0-9] 代表当前位置 出现的数据可以使数字或字母或下划线

(3)预定义字符类

. 任何字符

\d 数字:[0-9]

\w 单词字符:[a-zA-Z_0-9]

(4)边界匹配器

^ 行的开头 ^规则$

$ 行的结尾

\b 单词边界 除了单词字符以外的数据就是单词边界,如 , . ! % 空格

(5)Greedy 数量词

X? X,一次或一次也没有 X代表的是某一个表达式对应的匹配数据出现1次或者1次也没有

X* X,零次或多次 X代表的是某一个表达式对应的匹配数据出现0次或者多次

X+ X,一次或多次 X代表的是某一个表达式对应的匹配数据出现一次或多次

X{n} X,恰好 n 次 X代表的是某一个表达式对应的匹配数据出现恰好 n 次

X{n,} X,至少 n 次 X代表的是某一个表达式对应的匹配数据出现至少 n 次

X{n,m} X,至少 n 次,但是不超过 m 次 X代表的是某一个表达式对应的匹配数据出现至少 n 次,但是不超过 m 次

正则表达式中的组: 就是使用小括号把正则表达式括起来

在表达式的里面,通过组号,来获取当前组中所代表的数据 用法\\组号


例如: \\1

在表达式的外面,想获取组中的数据, 可以使用$组号

例如 $1

获取功能: Pattern和Matcher类的使用(模式类和匹配器类)

Pattern: 把字符串正则表达式 编译成 正则表达式对象

String--> 对象

方法:

publicstatic Pattern compile(String regex) 将给定的正则表达式编译到模式中。

publicMatcher matcher(CharSequence input)创建匹配给定输入与此模式的匹配器。

Matcher: 代表的是 正则表达式匹配后的 结果对象

可以使用它执行三种不同的匹配操作:

matches方法尝试将整个输入序列与该模式匹配。

lookingAt尝试将输入序列从头开始与该模式匹配。

find方法扫描输入序列以查找与该模式匹配的下一个子序列。

publicboolean find() 尝试查找与该模式匹配的输入序列的下一个子序列。

publicString group()返回由以前匹配操作所匹配的输入子序列

5、电子邮件验证案例



三、Math类概述及其成员方法

1、Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

2、成员方法

public static int abs(int a)

public static double ceil(double a)

public static double floor(double a)

public static int max(int a,int b) min自学

public static double pow(double a,double b)

public static double random()

public static int round(float a) 参数为double的自学

public static double sqrt(double a)

四、Random类概述及其构造方法

1、此类用于产生随机数

如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,

它们将生成并返回相同的数字序列。

2、构造方法

public Random()

public Random(long seed)

3、Random类成员方法

public int nextInt()

public int nextInt(int n)

五、System: 系统类

System类包含一些有用的类字段和方法。它不能被实例化

1、字段:

publicstatic final InputStream in “标准”输入流, 键盘输入

Scannersc = new Scanner(System.in);

publicstatic final PrintStream out “标准”输出流, 显示器的控制台

System.out.println("Java");

public static final PrintStream err “标准”错误输出流

System.err.println("Java");

2、方法:

publicstatic void gc()运行垃圾回收器。

调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存

protectedvoid finalize()

throws Throwable当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法

publicstatic void exit(int status)终止当前正在运行的 Java 虚拟机。

publicstatic long currentTimeMillis() 返回以毫秒为单位的当前时间

3、BigInteger

当数据的范围超过了Integer表示的范围的时候,可以使用该类

(1)BigInteger类成员方法

publicBigInteger add(BigInteger val) 加法

publicBigInteger subtract(BigInteger val) 减法

publicBigInteger multiply(BigInteger val) 乘法

publicBigInteger divide(BigInteger val) 除法

publicBigInteger[] divideAndRemainder(BigInteger val) 除法操作,返回的结果是商和余数

4、BigDecimal

解决float和double数据的精度问题

(1)BigDecimal类成员方法

publicBigDecimal add(BigDecimal augend) 加法

publicBigDecimal subtract(BigDecimal subtrahend) 减法

publicBigDecimal multiply(BigDecimal multiplicand) 乘法

publicBigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode) 除法

(2) 参数:

divisor- 此 BigDecimal 要除以的值。

scale- 要返回的 BigDecimal 商的标度。 保留小数点几位

roundingMode- 要应用的舍入模式。

六、Date: 日期类

类 Date 表示特定的瞬间,精确到毫秒。

1、构造方法:

public Date()

分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

public Date(long date)

分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

2、方法:

public long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

将制定的时间毫秒值 赋值给 Date对象

long ----> Date 构造方法: Date(long time)

publicvoid setTime(long time)设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。

3、DateFormat:

(1)日期格式化类, 作用用来将日期进行指定格式的转换显示,抽象类

(2)例子:计算出生到现在活了多少天。


4、SimpleDateFormat:

简单的日期格式化类

(1)构造方法:

public SimpleDateFormat()用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat

public SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat

(2)方法:

public final String format(Date date)将一个 Date 格式化为日期/时间字符串

public Date parse(String source)从给定字符串的开始解析文本,以生成一个日期

5、日期对象与String的转换

(1) Date--> String

public final String format(Date date)将一个 Date 格式化为日期/时间字符串

(2)String--> Date

public Date parse(String source) 从给定字符串的开始解析文本,以生成一个日期

6、Calendar日历类, 用来替换Date类

方法:

public static Calendar getInstance()使用默认时区和语言环境获得一个日历

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

public abstract void add(int field, int amount)

根据日历的规则,为给定的日历字段添加或减去指定的时间量。

参数: field- 日历字段。

amount - 为字段添加的日期或时间量。

publi cvoid set(int field, int value)

将给定的日历字段设置为给定值。

参数: field- 给定的日历字段。

value - 给定日历字段所要设置的值


7、例子;计算保质期




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值