黑马程序员-java基础-常用的类以及它的方法

---Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ---

以下都老师讲的常用的类:


<< java.math.BigInteger 类 >>



实现了大数据的四则运算,必须是整数;

add(BigInteger b)   加法运算;

subtract(BigInteger b)减法运算

multiply(BigInteger b) 乘法运算;

divide(BigInteger b)除法运算;

package cn.itcast.bigdata;
import java.math.*;
/*
 * java.Math包
 * BigInteger 类实现 JAVA中超级大数据运算,要求整数
 * 一个超过long型取值访问的数,不能算作整数
 * BigInteger 将超级大数封装成BigInteger类的对象
 */
public class BigIntegerDemo {
public static void main(String[] args) {
method_1();
}
/*
* 计算大数据的四则运算
* add,subtract multiply divide
* 参于运算的都是BigInteger类的对象,运算结果都是BigInteger对象
*/
public static void method_1(){
BigInteger b1 = new BigInteger("2134564324562347654324567876542345632454");
BigInteger b2 = new BigInteger("134564324567654324567875632454");

//+ 运算 方法add
BigInteger bigadd = b1.add(b2);
System.out.println("b1+b2::"+bigadd);

//- 运算 方法subtract
BigInteger bigsub = b1.subtract(b2);
System.out.println("b1-b2::"+bigsub);

//* 运算 方法 multiply
BigInteger bigmul = b1.multiply(b2);
System.out.println("b1*b2::"+bigmul);

// / 运算 方法 divide
BigInteger bigdiv = b1.divide(b2);
System.out.println("b1/b2::"+bigdiv);
}


/*
* BigInteger类的构造器
* 传递数字格式字符串
*/
public static void method(){
BigInteger big = new 
BigInteger("234678654321234561234564321234567543213456754321345643234564321345321345321234");
System.out.println(big);
}
}



<< java.math.BigDecimal 类>>


实现了小数的精确运算;


add(BigDecimal b)加法运算;


subtract(BigDecimal b)减法运算


multiply(BigDecimal b) 乘法运算;

divide(BigDecimal b,int scale, int roundingMode)   除法运算;

//int scale    保留几位;

//int roundingMode取舍模式; 调用自身的成员变量;



package cn.itcast.bigdata;
import java.math.*;
/*
 * BigDecimal 实现精确的浮点的运算
 */
public class BigDecimalDemo {
public static void main(String[] args) {
method_3();
}
/*
* 实现大数据浮点的除法运算
* divide(BigDecimal divisor, int scale, int roundingMode) 
* 第一个参数,被除数是一个BigInteger对象
* 第二个参数,保留位数
* 第三个参数,舍入模式
* 舍入模式  BigDeimal.ROUND_UP  向上加1
* 舍入模式  BigDeimal.ROUND_DOWN  直接舍去
* 舍入模式  BigDeimal.ROUND_HALF_UP  四舍五入
*/
public static void method_3(){
BigDecimal b1 = new BigDecimal("123.54");  
BigDecimal b2 = new BigDecimal("10");

BigDecimal b3 = b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);
System.out.println(b3);
}

/*
* BigDecimal类实现 + - *
* add,subtract multiply
*/
public static void method_2(){
BigDecimal b1 = new BigDecimal("0.09");
BigDecimal b2 = new BigDecimal("0.01");

//实现b1+b2的浮点运算
BigDecimal b3 = b1.add(b2);
System.out.println("b1+b2::"+b3);

BigDecimal b4 = new BigDecimal("1.0");
BigDecimal b5 = new BigDecimal("0.32");

//实现b4-b5的浮点运算
BigDecimal b6 = b4.subtract(b5);
System.out.println("b4-b5::"+b6);

BigDecimal b7 = new BigDecimal("1.015");
BigDecimal b8 = new BigDecimal("100");

//实现b7*b8的浮点运算
BigDecimal b9 = b7.multiply(b8);
System.out.println("b7*b8::"+b9);

}


/*
* BigDecimal构造器
* 传递字符串,精确的计算
*/
public static void method_1(){
BigDecimal big = new BigDecimal("34567543234567543245675432456.3456754324567865432");
System.out.println(big);
}
/*
* 计算程序中出现的小数运算导致的不确定因素
*/
public static void method(){
System.out.println(0.09 + 0.01);
System.out.println(1.0 - 0.32);
System.out.println(1.015 * 100);
System.out.println(1.301 / 100);


}
}

-----------------------------------------------------------------------------------------------------------------------

  << java.lang.Character 类- Final >>


 常见的一些静态方法:

isUpperCase(char ch)  // 判断字符是不是大写;

isLowerCasw(char ch)//判断字符是不是小写;

isDigit(char ch)//判断字符是不是数字;

toUpperCase(char ch)//字符转成大写;

toLowerCase(char ch)//字符转成小写; 


package cn.itcast.integer;
/*
 * 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
 * abdhEewdgWGhth35Hre2
 * 采用包装类来实现,不要使用 >=97
 */
public class CharacterTest {
public static void main(String[] args) {
//定义三个计数器
int upper=0,lower=0,digit=0;
String s = "abdhEewdgWGhth35Hre2";

char[] ch = s.toCharArray();
for(int x = 0 ; x < ch.length ; x++){
if(Character.isUpperCase(ch[x]))
upper++;
  else if(Character.isLowerCase(ch[x]))
lower++;
  else if (Character.isDigit(ch[x]))
  digit++;
}
System.out.println("大写字母" + upper);
System.out.println("小写字母" + lower);
System.out.println("数字" + digit);
}
}

-------------------------------------------------------------------------------------------------------------------------

<< java.text.DateFormat 抽象类>>

DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

是抽象类,所以使用其子类SimpleDateFormat

SimpleDateFormat构造方法:
public SimpleDateFormat()
public SimpleDateFormat(String pattern)


DateFormat 方法:
public final String format(Date date)
格式化日期,结果是字符串

public Date parse(String source) 
将字符串转成日期对象,返回值结果是一个Date类对象

DateFormat getDateTimeInstance()
静态方法,返回的日期格式器;
 
 自定义格式化日期/时间:

//创建子类对象,在构造方法中,输入自定义格式化日期模式();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//调用父类方法format 格式化日期;
String s = sdf.format(new Date());


import java.text.*;
import java.util.*;
public class SimpleDateFormatDemo {
public static void main(String[] args) {
//创建SimpleDateFormat类对象,传递日期格式
//显示最终效果 2015年06月12日  16点19分20秒 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 ");
//调用父类方法format格式化
String s = sdf.format(new Date());
System.out.println(s);
}
}


风格化日期/时间:

//创建父类对象,使用父类自身的静态方法
DateFormat df= DateFormat.getDateTimeInstance(参数是父类成员变量,,);
//调用父类方法format 格式化日期;
String s = df.format(new Date());

import java.text.DateFormat;
import java.util.Date;
public class DateFormatDemo {
public static void main(String[] args) {
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG ,DateFormat.LONG );
String s = df.format(new Date());
System.out.println(s);

}
}

---------------------------------------------------------------------------------------------------------------------------------------

<< java.text.DateFormat 类 抽象类>>


<< java.text.SimpleDateFormat 类 DateFormat子类>>



DateFormat抽象类里的普通方法:


parse(String s)  
返回值结果是一个 Date类的对象;将字符串转成日期

String format(Date date)
格式化时期; 传个日期进去,结果是字符串; 
;
static DateFormat getDateInstance()  // 只有日期;
 静态方法,类名调用;返回值是本类对象,本类是抽象类,反不回对象,
 但是方法内部返的是抽象类的子类,return new SimpleDateFormat();


static DateFormat getDateTimeInstance()  // 有时间和日期;



格式化日期实现步骤: (自定义)
1.创建SimpleDateFormat(子类)对象,构造方法中,传递格式的日期模式(自定义);


2.调用DateFormat(父类)的父类方法 format格式化日期;


风格化日期:
1.创建DateFormat对象;
// DateFormat df = DateFormat.getDateInstance( ) // ( )可以空参 也可以传递风格;
2.使用自己的方法format格式化日期;

键盘输入进去日期转成Date对象:
1.先格式化日期;
2.调用DateFormat类的方法parse(String s)传递字符串进去,出来的结果是Date对象;

--------------------------------------------------------------------------------------------------------------------------------------------------------

<< java.lang.StringBuffer类 >> 
<< java.lang.StringBuilder类 >>



特点:字符串可变性;


构造器:

StringBuffer()
StringBuffer(String s)


添加方法:

append(任意)

添加任意数据变成字符串形式;


insert(int x,任意)

在指定索引插入任意数据,变成字符串形式;


delete(int start,int end)

删除指定索引的单个字符删除指定范围的字符串


deleteChatAt(int index)
删除指定索引的单个字符;


reverse();
字符串反转;


replace(int start,int end,String s)
替换指定范围内的字符串


String substring(int start,int end )
获取一部分字符串,缓冲区的字符串不变;


toString()
返回该对象的字符串表现形式;

------------------------------------------------------------------------------------------------------------------------

<< java.lang. System类 >>

static Properties getProperties() 

//返回的是当前系统属性;

static long currentTimeMillis();

// 获取当前时间的毫秒值;

public static void exit(int status/0)

// 终止当前正在运行的Java 虚拟机;


package cn.itcast.system;

import java.util.Arrays;

class Person{
//垃圾回收器,收取垃圾的时候,调用对象的finalize方法
//finalize final  finally
public void finalize(){
System.out.println("垃圾被收取了");
}
}
public class SystemDemo {
public static void main(String[] args) {
method_4();

}
/*
* static Properties getProperties()
* get开头方法,获取
* 获取当前操作系统属性
* Properties 是集合类 键值对
*/
public static void method_4(){
System.out.println(System.getProperties());
}

/*
* static void arrayCopy(
* Object src, int srcPos, Object dest, int destPos, int length)
* Object src, 参数,复制的数据源
* int srcPos ,参数,复制源数组的开始索引
* Object dest, 参数 ,复制的目的数组
* int destPos, 参数 ,复制数组的目的的开始索引
* int length,复制多长
*/
public static void method_3(){
int[] src = {11,22,33,44,55};
int[] dest = {66,77,88,99,0};

System.arraycopy(src, 1, dest, 0, 2);

String s = Arrays.toString(dest);
System.out.println(s);
}



/*
* long System.currentTimeMillis()
* current 当前
* 获取一个毫秒值  1000毫秒=1秒
* 毫秒值是,从1970年1月1日午夜零时 到程序运行的那个时刻
* 经过的毫秒值
* java时间的原点  1970.1.1 0:00:00 = 0毫秒值
* 很强的实用价值,无法避免计算时间和日期 不能数学计算,日期变成毫秒
*/
public static void method_2(){
  long time = System.currentTimeMillis();
  System.out.println(time);//1434090984191    1434090999152
}

/*
* System类方法 System.exit()
* 结束JVM
*/
public static void method_1(){
System.exit(0);
while(true){
System.out.println("!!!!!!!!!11");
}
}

/*
* System类的方法
* gc()运行垃圾回收器
* JVM 到堆内存,收取对象垃圾
*/
public static void method(){
new Person();
new Person();
new Person();
new Person();
new Person();
new Person();
new Person();
System.gc();
}
}

--------------------------------------------------------------------------------------------------------------------------------------

<< java.util.regex.Matcher类 >>
<< java.util.regex.Patter 类 >>



获取的一个字符串中所有相同长度的字符串:
4个步骤:


Pattern 类:
1.compile(正则规则) 
静态方法 //将正则规则进行预编译,返回类型是Pattern类;
2.matcher(被查找的字符串) 
将正则规则预编译 与 字符串 进行匹配;返回的是Matcher类的对象;
Matcher 类:
3.find()
使用匹配器对象Matcher类的 方法find 找匹配后的结果
        find方法返回值是布尔值,返回真,匹配有结果,找到了.
4.group()
使用匹配器对象Matcher 类的方法 group 获取匹配的结果
        group 返回值是String
;

你可能感兴趣的:(java常用的类)