常用API

一、String类

1、String类概述
a、String 类适用于描述字符串类型的食物,字符串一旦被建立,就不会改变,因为它默认被final修饰。
b、 “对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象”。
c、空串与null的区别:空串是没有任何字符串而null是不再指向字符串。

2、String类构造方法详解

 a、String(byte[] bytes)
     把一个字节数组转换成字符串
 b、String(byte[] bytes, int index, int length)
     把一个字节数组的一部分转换为字符串  (从指定索引开始,截取指定长度)
c、String(char[] value)
     把一个字符数组转换成字符串
d 、String(char[] value, int index, int length)
     把一个字符数组的一部分转换为字符串  (从指定索引开始,截取指定长度)
e、String类的构造方法可以把任意的字节数组和字符数组转换为字符串.

3、创建字符串对象的方式

第一种  String s = new String("abc");
第二种  String s ="abc";

注意:
数组:使用的是数组的  .lenght 属性
字符串:使用的是字符串的 .length()方法
-----------------------------------------------------------------------------------------------
4、String常见面试题

a、如何理解字符串一旦初始化就不可以被改变。
String s = "hello";
s += "world";
System.out.println(s); 

注:不可以被改变说的是常量池中的值,并不是引用s(s是可以重新被赋值的)
b、
String s1 = new String("abc");
String s2 = "abc";
s1、s2有区别吗?
第一种方式:第一种方式在内存中存在两个"abc"字符串,一个是在常量池中,一个是在堆内存当中.
第二种方式:在内存中只存在一个"abc"在常量池中.

5、String类的判断功能
a、boolean equals(Object obj) ://判断两个字符串是否相同(区分大小写

b、 boolean equalsIgnoreCase(String str) ://判断两个字符串是否相同(不区分大小写)

c、 boolean contains(String str)://判断这个字符串是否包含给定的字符串

d、 boolean startsWith(String str)://判断字符串是否以给定的字符串开始

e、 boolean endsWith(String str)://判断字符串是否以给定的字符串结束

f、 boolean isEmpty()://判断字符串是否为空

g、以下程序运行会出现什么结果
String s1 = "";
String s2 = null;
System.out.println(s1.isEmpty()); //true
System.out.println(s2.isEmpty()); //NullPointerException空指针异常

6、模拟用户登录
思路回顾:
A:假设已经存在有了用户名密码,用String 定义就OK了
B:键盘录入数据用户名和密码.
C:把数据进行比较,如果正确就进入,不正确继续判断
D:给三次机会,明确了循环次数,用for循环解决

C、D代码提示:
if(userName.equals(name) && passWord.equals(pwd)){
                    System.out.println("输入正确,登陆成功");
                    break;
               } else{
                    //如果不匹配则提示相应的信息,并告知剩余次数。
                    //三次都输错,直接冻结账号
                    if ((2-i)==0) {
                         System.out.println("账号已被锁定,请与老刘联系");
                    }else {
                         System.out.println("登陆失败,您还有"+(2-i)+"次机会");
                    }

7、String类的获取功能
int length()                   
获取字符串的长度

char charAt(int index)         
获取指定索引处出现的字符

int indexOf(int ch)              
获取字符串中指定字符第一次出现的索引

int indexOf(String str)         
获取字符串中指定字符串第一次出现的索引

int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,
从指定的fromIndex开始搜索。

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

String substring(int start)
截取字符串从指定位置开始,到末尾.

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

字符串中找索引有一个原则:包左不包右.

 8、String类的转换功能
byte[] getBytes()              
把字符串转换成字节数组
char[] toCharArray()         
把字符串转换成字符数组
static String ValueOf(char[] chs)
把字符数组转换成字符串

static String valueOf( int i )
把(基本类型)int类型的一个数据转换为字符串类型

String toLowerCase()
把字符串全部转换为小写

String toUpperCase()
把字符串转换为大写

String concat(String str)
把两个字符串拼接.

 9、String类的其它功能
String replace(char oldChar, char newChar )
用指定新的字符替换旧的字符

String replace(String oldString, String newString)
用指定新的字符串去替换老的字符串(新串和老串的长度可以不同)

String[] split(String regex)
以指定的字符串为标记切割字符串,返回一个字符串数组.

String trim()
去除字符串两端的空格

int compareTo(String str)
用字典顺序比较两个字符串.如果相同返回0.
----------------------------------------------------------------------------------------------- -----------------------------------------------------
二、StringBuffer

1、概述;也称字符串缓冲区,StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象 。
StringBuffer采用的是缓冲区机制,一旦开始,首先开辟一块空间,然后,随着数据的增多,还可以继续开辟空间,这些操作针对的是使用同一个对象。
2、构造方法
StringBuffer();//创建一个StringBuffer对象默认长度是16
StringBuffer(int capacity);//创建一个指定长度的StringBuffer对象.
StringBuffer(String s);//相当把String类型转换成StringBuffer类型
3、成员方法
public int length()  //字符个数,实际长度
public int capacity()  //字符容量,理论长度
注:String和StringBuffer的转换可以通过构造方法实现
4、添加功能
public StringBuffer append ( int i ) //在末尾追加元素
public StringBuffer insert ( int index, String i ) //在指定索引处增加元素.
5、删除功能
StringBuffer deleteCharAt ( int index ) //删除指定索引处的字符 
StringBuffer delete ( int start , int end )//删除从位置开始到指定索引结束 
6、反转
StringBuffer reverse()//把字符串反转 
7、替换
StringBuffer replace(int start, int end, String str)//把指定索引到指定索引之间的字符用一个字符串替换 
8、截取
String substring(int start)//从指定索引开始截取到末尾 
String substring(int start, int end)//从指定索引开始截取到指定索引
-----------------------------------------------------------------------------------------------  ----------------------------------------------------- 
三、Integer类

1、概述:java基本类型对应的包装类。用于能够对基本数据进行更多的操作。
2、构造方法:以Integer为例
A: Integr(int value);
int num =100;
Integer i= new Integer(num);
System.out.println(i.tiString());
B: Integer(String s);注意:这里字符串必须是由数字字符组成的字符串。
C:String ss="100";
//下行被注释的代码会报错:NumberFormatException(数据格式异常)
//String s1="100abc";
Integer i=new Integer(ss);
System.out.printlnln(i);
4、例子:要判断摸个数据是否在int范围内,请问怎么做?
思路:把int范围内的最大值和最小值找到,然后判断即可。
public static double pow (double a ,double b)--->Math类中的方法
5、Iteger类的方法
if(num<Integer.MAX_VALUE && num>Integer.MIN_VALUE)
{
     //该数字是int范围内的值
}
注:public static final int MAX_VALUE//public static final int MIN_VALUE
a: public static String toBinaryString(int i);//把一个int类型的值转换成对应的二进制形式
b: public static String toOctalStirng(int i);//把一个int类型的值转换为对应的八进制形式
c: public static String to HexString(int i);//把一个int类型的值转换为对应的十六进制
注:因为是静态方法,所以采用类名调用方式//Integer.toBinaryString(int i);
-----------------------------------------------------------------------------------------------  ----------------------------------------------------- 
四、Date类

1、注意:Date类去查API,要查util包下的date类。
2、Date类的使用
a:  Date();//是一个无参的构造函数,用来创建当前日期时间的Date对象。
b:  Date(long date)//通过给定的毫秒值获取日期对象
c:  public long getTime(  );//根据日期对象获取毫秒值。
d:  public void setTime(long time);//设置对象的毫秒值
3、 DateFormat类格式化//Date-->String 转换过程。
使用的方法是:public final String  format(Date date);
步骤;
Date d=new Date( );//创建格式对象。
SimpleDateFormat sdf=new SimpleDateFormat( );//
String s= sdf. format(d );
System,out.println(s );
4、查看API注意事项
a:是否是lang包下,不是得话要导包;
b:看一下这个类或接口的描述
c: 看这个类的修饰符
d: 想要使用这个类就要学习这个类的构造方法,以便创建对象。
e:如果以后在一个类中你认为它应该具备某个功能,但是在这个类中没有找到
  就要去它的父类中找,因为父类有的就相当于子类也具备.
5、SimpleDateFormat格式化解析指定格式的日期
a: 创建一个SimpleDateFormat对象
b: 定义日期格式模板“G yyyy年MM月dd日 HH:mm:ss,E”。
c:将日期格式模板传入
d:调用SimpleDateFormat的父类DateFormat的String format(Date date)方法
如:      Date  date1  = new  Date();
     System. out .println(  date1 );
     String  s = "yyyy年MM月dd日 HH:mm:ss,E";
     SimpleDateFormat  df1 =  new  SimpleDateFormat(  s );
     System. out .println(  df1 .format(  date1 ));

1/package cn.itcast;

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

/*
* 获得当前时间,并把当前时间输出,
* 然后把时间的格式变成咱们中国人习惯的格式,
*     比如: "2014年07月16日 09:58:58 星期三"
*
* 日期>字符串
*/
public class DateFormatTest {
     public static void main(String[] args) {
          //获得当前时间,并把当前时间输出,
          Date d = new Date();
          System.out.println(d);
         
          //2014-11-15       //2014年07月16日
          //1. 创建格式化对象SimpleDateFormat,需要制定格式
          String geshi = "yyyy年MM月dd日 HH:mm:ss E";
          //用给定的模式和默认语言环境的日期格式符号构造
          SimpleDateFormat sdf = new SimpleDateFormat(geshi);
         
          //Date--String     格式化          fomrat
          //2. 调用格式化方法,将Date格式化成指定的字符串
          String str = sdf.format(d);
          System.out.println(str);
         
    
         
          //String -- Date 解析     parse
     }
}


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

/*
* 数据中有这样一个字符串
* String stringTime = "1997-07-01 00:00:00",
*
* 我们希望获取这个字符串表示的时间对象.然后把这个时间打印出来给英国人看.
* 字符串>日期
*/
public class DateFormatTest2 {
     public static void main(String[] args) throws ParseException {
         
          String stringTime = "1997-07-01 00:00:00";
          //1. 创建格式化对象,需要指定解析时使用的格式
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         
          //String  --  Date 解析   parse
          //2. 调用格式化对象的parse()  parse 从给定字符串的开始解析文本,以生成一个日期。
          Date date = sdf.parse(stringTime);
         
          System.out.println(date);
     }
}
6、Calendar类的概述和使用
a:  Calendar c=Calendar.getInstance( );//创建了Calendar对象,更严谨的说是创建了Calendar的子类对象,多态的使用。
b: 计算一年中2月有多少天
package cn.itcast_02;

import java.util.Calendar;
import java.util.Scanner;

/*
* 请说出任意一年的2月份是多少天。
*/
public class CalendarDemo2 {
     public static void main(String[] args) {
          // 获取Calendar对象
          Calendar c = Calendar.getInstance();
          // public final void set(int year,int month,int date)
          // 注意,这里给的2其实是3月份。
          // c.set(2013, 2, 3);
          // 2013,3,3

          // public abstract void add(int field,
          // int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。
          // c.add(Calendar.MONTH,2);
          // c.add(Calendar.DATE, -20);
         
          Scanner sc = new Scanner(System.in);
          int year = sc.nextInt();

          c.set(year, 2, 1);// 把日期设置为2013年3月1日
          c.add(Calendar.DATE, -1);// 把日期往前推1日

//          System.out.println(c.get(Calendar.YEAR));
//          System.out.println(c.get(Calendar.MONTH) + 1);
          System.out.println(c.get(Calendar.DATE));
     }
}
7、对象数组的使用
对对象数组的理解
其实就是原来定义这个数组中存储的数据类型是基本类型(比如说int [])
现在定义的数组类型是引用数据类型(比如说Student[])
----------------------------------------------------------------------------------------------- ----------------------------------------------------- 
五、System类

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

2、常用的方法:
A :public static void exit ( int status)
  退出虚拟机(注意:参数用作状态码,非0的状态码表示异常中止)
B :public static long currentTimeMillis() 
  返回当前时间的毫秒值
C :public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length )
  从指定数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束.
----------------------------------------------------------------------------------------------- ----------------------------------------------------- 
六、Arrays工具类

1、概述
Arrays工具类是针对数组操作的工具类。

2、常用方法
A :public static String toString( int[] a )
     把一个整形的数组转换成字符串
B :public static void sort( int[] a )
  把数组进行排序
C :public static int binarySearch ( int[] a, int key)
   对数组进行二分查找.(注意:本方法中如果要查找的元素不存在,返回值不一定是-1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值