黑马程序员(四)Java中常用的API

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

API

定义:指的是应用程序编程接口,,Java中的API指的是JDK中提供的各种功能的Java类

String 

   定义:String表示字符串,所谓字符串,就是一连串的字符;

      构造方法:A:String s = new String();
 B:String s = new String(byte[] bys);
 C:String s = new String(byte[] bys,int index,int length);
 D:String s = new String(char[] chs);
 E:String s = new String(char[] chs,int index,int length);
 F:String s = new String(String str);
 G:String s = "hello";

字符串的特点及面试题
A:字符串一旦被赋值,就不能改变。
注意:字符串的值不能改变,没有说引用变量不能改变。
     

B:面试题:
String s = new String("hello")和String s = "hello"的区别

    String s = new String("hello")创建了两个对象,一个在堆

内存,一个在常量池,而String s = "hello"只在常量池中

创建一个对象;

单独使用""引号创建的字符串都是常量,编译期就已经确定存储到常量池中;

使用new String("")创建的对象会存储到堆内存中,是运行期新创建的;

使用只包含常量的字符串连接符如"aa" + "bb"创建的也是常量,编译期就能确定,已经确定存储到常量池中;

使用包含变量的字符串连接符如"aa" + s1创建的对象是运行期才创建的,存储在堆中;

成员方法:

判断功能:
boolean equals(Object obj)  //判断两个字符串是否相同
boolean equalsIgnoreCase(String str) //判断两个字符串自否相同(不区分大小写)

boolean contains(String str)  //判断该字符串是否包含某个字符串
boolean startsWith(String str) //判断该字符串是否是一某字符开头

boolean endsWith(String str) //判断该字符串是否是一某字符结尾
boolean isEmpty() //判断该字符串是否是空;注意:这里是判断对象数据是否为   空,不是判断对象是否null;

获取功能:

int length()//获取该字符串的字符个数

char charAt(int index)//返回字符串给定索引处的字符

int indexOf(int ch)//返回指定字符在字符串中第一次出现的索引

int indexOf(String str)//返回指定字符串在该字符串中第一次出现的索引

int indexOf(int ch,int fromIndex)//返回指定字符在字符串中第一次出现的索引从指定位置开始查找

int indexOf(String str,int fromIndex)//返回指定字符在字符串中第一次出现 的索引从指定位置开始查找

String substring(int start)//截取字符串,返回从指定位置截取后的一个新字符

String substring(int start,int end)//截取字符串,从指定位置开始截取到指定指定位置结束

其他功能

替换功能:

String replace(char oldChar,char newChar)//把指定字符替换成给定的字符

String replace(String oldString,String newString)//把指定的字符串替换成给定的新字符串

切割功能

String[] split(String regex) //根据指定的字符串把字符串切割成字符串数

去除两端空格功能

String trim()

字典顺序比较功能

int compareTo(String str)

int compareToIgnoreCase(String str) 



String小练习

判断字符串中大写小写和数字的个数



计算大字符串包含多少个小字符串


StringBuffer 与 StringBuilder


定义:字符个数可以发生改变的字符串类。字符串缓冲区类。

和String的区别:

String不可变类,一旦String对象被创建,包含在对象中的字符序列是不可变的,直到对象被销毁;

StringBuffer 与 StringBuilder对象则是可变的!

StringBuffer:  是线程安全的;

StringBuilder:是线程不安全的,性能高点,推荐使StringBuilder;(jdk1.5出现)

StringBuffer的字符序列是可变的(通过append等方法操作)

StringBuffer  和  String之间的转换;

String toString() 返回此序列中数据的字符串表示形式。

StringBuffer(String str):以指定的字符串创建StringBuffer对象。


StringBuffer方法

public StringBuilder()构造一个不带任何字符的StringBuilder对象。

StringBuffer(String str) :构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。

StringBuffer append(Object o) :将指定的任意类型对象追加到此StringBuffer 对象。

StringBuffer insert(int offset, Object o) :将任意类型参数的字符串表示形式插入此序列中。

StringBuffer delete(int start, int end) :移除此序列的子字符串中的字符。

StringBuffer deleteCharAt(int index):移除此序列指定位置的 char。 

我的总结:String 一建立就不能发生改变,StringBuffer和StringBuilder建立后可以发生改变,StringBuffer和StringBuilder不用每次创建对象,可以提高效率


常量池:JVM中一块独立的区域存放字符串常量和基本类型常量

基本类型包装类

基本类型的数据我们只能使用值,不能做更多的操作。为了方便我们操作,
  java就把每种基本类型进行了包装
基本类型和包装类的对应关系
byte
short
intInteger
long 
float
double
charCharacter
boolean
Integer构造方法
A:Integer i = new Integer(int num);
B:Integer i = new Integer(String s);
注意:s必须是一个由数字字符组成的字符串。
String和int类型的转换
A:String -- int
Integer:
public static int parseInt(String s)
B:int -- String
Integer:
public static String toString(int i)
String:
public static String valueOf(int i)


自动装箱和自动拆箱
A:自动装箱基本类型--引用类型
B:自动拆箱引用类型--基本类型
举例:
Integer i = 100;
i += 200;

Math

public finalclass Math extends Object

以下X表示double,float,int,long

static double abs(double a):求绝对值

static double max(double a,double b):求两个数中最大值

static double min(double a,double b):求两个数中最小值

static double ceil(double a):返回大于该数的最小整数

static double floor(double a):返回小于该数的最大整数

public staticdouble random():返回带正号的 double值,该值大于等于 0.0 且小于 1.0。

和使用new java.util.Random一样

应用:随机产生一个1到100的整数x公式:int x=(int)(Math.random()*100+1);

练习:猜数字小游戏


Random

作用:负责生成伪随机数;

Random(Loog seed) 传入一个种子,使每次产生的随机数都一样

Random() 创建一个新的随机数生成器。

int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

int nextInt(int n)  返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值n(不包括)之间均匀分布的 int 值。

Date

作用:处理日期,时间;

大部分的方法已过时,不推荐使用,但是你使用过时的方法也不会报错。

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

Date(long date)  分配 Date 对象并初始化此对象,以表示自从标准基准时间(即 1 970 年 1 月 1日 00:00:00 GMT)以来的指定毫秒数。

Calendar

一般使用处理日期和时间的类Calendar;

是抽象类,不能实例化,通过

static Calendar getInstance() 获得一个Calendar对象。

int get(int field):返回指定日历字段值

静态常量:

YEAR 表示年的字段数字。

MONTH 表示月份字段数字,月份范围是[0,11]。

DATE 表示一个月中的某天。

DAY_OF_MONTH 表示一个月中的某天。

DAY_OF_WEEK 表示一个星期中的某天。

HOUR_OF_DAY / HOUR 表示第几小时

MINUTE 表示第几分钟

SECOND       表示第几秒

 

Date getTime()返回一个表示此 Calendar 时间值的 Date 对象。

void set(int year, int month, int date, inthour, int minute, int second)  设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值。

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

若 amount为负数,则减去一天,

若 amount为正数 ,则加上一天

SimpleDateFormat

作用:对日前就行格式化

SimpleDateFormat 是一个与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。

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

SimpleDateFormat。

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

 public Date parse(String source) throwsParseException:把字符串source表示的时间按source的格式转成Date对象。

System

System 类包含一些与系统相关的类字段和方法。它不能被实例化,类中所有属性和方法都是static,可直接被System调用。


常用方法:

static void exit(int status) 终止虚拟机的运行.对于发生了异常情况而想终止虚拟机的运行,传递一个非0数值,对于正常情况下退出系统传递0值;

该方法实际调用的是Runtime.getRuntime().exit(intstatus);

static void arraycopy(Object src, intsrcPos, Object dest, int destPos, int length)数组拷

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

String getenv(String name)    获得指定的环境变量;

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

实际上调用了 Runtime中的gc()方法;

Runtime.getRuntime().exec("notepad");

static Properties getProperties() 取得当前的系统属性。

static String getProperty(String key)取得指定键指示的系统属性。

static String getProperty(String key,String def) 获取用指定键描述的系统属性,def表示默认信息。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值