一.Java API
1.java.lang
Java语言包(包含String、StringBuffer、Integer、Math、Math、System等类),任何类中,该包中的类都会被自动导入
2.java.util
包含一些实用的工具类( 包含list, calendar, date等类)
3.java.awt
图形用户界面包
4.java.io
提供多种输入/输出功能的类
equals与"=="区别:
equals从值的角度判断是否一致(判断是否长得一致)
"=="从内存地址角度判断是否一致(判断是不是一个东西)
二.包装类
1.基本数据类型转换为包装类(通过构造方法)
int x = 500;
Integer y = new Integer(x);
2.字符串转换为包装类(通过构造方法或者包装类的valueOf(String s))
字符串通过构造方法转换为包装类
String x= “500”;
Integer y= new Integer(x);
字符串通过包装类的valueOf(String s)转换为包装类
String x= “500”;
Integer y= Integer.valueOf(x);
3.包装类转换为基本数据类型
包装类通过xxxValue()方法转换为基本数据类型
Integer x= new Integer(500);
int y= x.intValue();
4.包装类转换为字符串
包装类通过toString()方法转换为字符串
Integer x= new Integer(500);
String y= x.toString();
5.字符串转换为基本数据类型
字符串通过parseXXX(String s)方法转换为基本数据类型
String x= “500”;
int y= Integer.parsetInt(x);
6.自动的装箱和自动拆箱
在进行基本数据类型和对应的包装类转换时,系统将自动进行JDK自从5.0版本后引入,方便程序的编写
int x= 500;
Integer y= x;
int n = y;
三.字符串类
1.字符串是我们在编程中最常使用的一种数据类型,它的表现形式可以分为两种:String和StringBuffer
2.它不属于8种基本的数据类型,而是一种引用类型
3.String对象代表一组不可改变的Unicode字符序列,对它的任何修改实际上又产生一个新的字符串,String类对象的内容一旦被初始化就不能再改变
4.StringBuffer对象代表一组可改变的Unicode字符序列
5.同时,String类是final类型的类
StringBuffer类
1.StringBuffer类用于内容可以改变的字符串
2.可以使用StringBuffer来对字符串的内容进行动态操作,不会产生额外的对象
String与StringBuffer区别:
String类对象中的内容初始化不可以改变,StringBuffer类对象中的内容可以改变
•需求:String与StringBuffer互相转换
1 packagedemo;2 /*String与StringBuffer之间的转换3 * String -> StringBuffer4 * 方式一:构造方法5 * 方式二:通过append方法6 * StringBuffer -> String7 * 方式一:通过构造方法8 * 方式二:通过toString方法9 **/
10 public classStringAndStringBufferSwitch {11 public static voidmain(String[] args) {12 //String -> StringBuffer13 //创建一个String对象
14 String str = "Hi Java!";15 System.out.println(str);16
17 //方式一:构造方法
18 StringBuffer buffer = newStringBuffer(str);19 System.out.println(buffer);20
21 //方式二:通过append方法
22 StringBuffer buffer2 = newStringBuffer();23 buffer2.append(str);24 System.out.println(buffer2);25
26 //StringBuffer -> String27 //创建一个StringBuffer对象
28 StringBuffer buffer3 = newStringBuffer();29 buffer3.append("Happy birthday Java!");30 System.out.println(buffer3);31
32 //方式一:通过构造方法
33 String str2 = newString(buffer3);34 System.out.println(str2);35
36 //方式二:通过toString方法
37 String str3 =buffer3.toString();38 System.out.println(str3);39 }40 }
四.日期类
SimpleDateFormat类
1.java.text.SimpleDateFormat
2.一个以与语言环境相关的方式来格式化和分析日期的具体类。是抽象类java.text.DateFormat类的子类
3.SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式
SimpleDateFormat类的使用:
获取SimpleDateFormat的实例
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
获取当前系统时间
new Date();
将日期格式成指定的字符串
sdf.format(new Date());
将格式化的字符串转换成日期对象
sdf.parse(“2011-07-16”);
构造方法摘要
hashCode a1.hashCode(); //通常用来判断是否为同一个对象
toStringa1.toString();//直接输出对象相当于利用该对象调用toString方法
包装类
Integer i1=new Integer(-200);
Integer i2=new Integer(-200);
MIN_VALUE Integer.MIN_VALUE; //int的最小值
MAX_VALUE Integer.MAX_VALUE; //int最大值
compareToi1.compareTo(i2); //比较值:值相等时反会0
intValuei1.intValue()+234; //转换成基本数据类型
构造方法摘要
Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
int
compareTo(Integer anotherInteger)
在数字上比较两个 Integer 对象。
int
intValue()
将integer类型转换成int类型
static int
parseInt(String s)
将String转换成基本数据类型。
Character
isDigit Character.isDigit('8'); //判断是否为数字
isLetter Character.isLetter(c); //判断字符值是否为字母
static boolean
isDigit(char ch)
确定指定字符是否为数字。
static boolean
isLetter(char ch)
确定指定字符是否为字母。
static boolean
isLetter(int codePoint)
确定指定字符(Unicode 代码点)是否为字母。
static boolean
isLetterOrDigit(int codePoint)
确定指定字符(Unicode 代码点)是否为字母或数字。
String
String s1 = "asba,nesbu,ssofst,sbjava";
String s8=" abc efghijk ";
concat String s6 = s1.concat("\n联系我时请说在58同城上看到的");// 末尾追加
charAt s1.charAt(1); //根据索引找到该索引位置上的字符
contains boolean x=s1.contains("a"); //判断是否包含特定字符
replace s1.replace("sb", "*"); //替换字符,把s1中的sb字段换成*
endsWith s1.endsWith(".java"); //判断是否以指定结尾为后缀
indexOf s1.indexOf("a"); //根据参数找到参数所对应的下标(第一次出现的),找不到时返回值为-1
lastIndexOf s1.lastIndexOf("a"); //根据参数找到该参数最后一次出现的下标,找不到时返回值为-1
split String s[]=s1.split(","); //根据参数来拆分字符串 ,返回值为字符串数组
for(int i=0;i
System.out.println(s[i]);
}
matches s1.matches("asba,nesbu,ssofst,sb1java"); //判断是否能够匹配
substring String s2=s1.substring(0); //从给定参数索引位置开始截取字符串
substring s8.substring(6, 7); //从开始索引截取到结束索引,包含开始不包含结束
trim s8.trim().equals("abcefghijk"); //去掉前后空格
将指定字符串连接到此字符串的结尾,末尾追加
char
charAt(int index)
返回指定索引处的 char 值,根据索引找到该索引位置上的字符
boolean
contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。判断是否包含特定字符
boolean
endsWith(String suffix)
测试此字符串是否以指定的后缀结束。判断是否以指定结尾为后缀
boolean
isEmpty()
当且仅当 length() 为 0 时返回 true。
boolean
startsWith(String prefix)
测试此字符串是否以指定的前缀开始。
substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
trim()
去掉字符串的首尾空格
Math
round Math.round(32434.14)); // 四舍五入取整,返回值为int
floor Math.floor(32434.64)); // 舍位取整,返回值为double
ceil Math.ceil(32434.14)); // 进位取整,返回值是double
StringBuffer
StringBuffer sbf1=new StringBuffer("abc");
append StringBuffer sbf2=sbf1.append("123"); //末未追加
capacity sbf1.capacity(); //容量
delete delete(0, 3); //删除:包含开始,不包含结束。下标从0开始
insert sbf1.insert(1, "neusoft"); //在固定下标位置后面新增数据
setCharAt sbf1.setCharAt(0, 'h'); //根据索引,修改替换单个字符