一.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 package demo; 2 /* String与StringBuffer之间的转换 3 * String -> StringBuffer 4 * 方式一:构造方法 5 * 方式二:通过append方法 6 * StringBuffer -> String 7 * 方式一:通过构造方法 8 * 方式二:通过toString方法 9 * */ 10 public class StringAndStringBufferSwitch { 11 public static void main(String[] args) { 12 //String -> StringBuffer 13 //创建一个String对象 14 String str = "Hi Java!"; 15 System.out.println(str); 16 17 //方式一:构造方法 18 StringBuffer buffer = new StringBuffer(str); 19 System.out.println(buffer); 20 21 //方式二:通过append方法 22 StringBuffer buffer2 = new StringBuffer(); 23 buffer2.append(str); 24 System.out.println(buffer2); 25 26 //StringBuffer -> String 27 //创建一个StringBuffer对象 28 StringBuffer buffer3 = new StringBuffer(); 29 buffer3.append("Happy birthday Java!"); 30 System.out.println(buffer3); 31 32 //方式一:通过构造方法 33 String str2 = new String(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(); //通常用来判断是否为同一个对象
toString a1.toString(); //直接输出对象相当于利用该对象调用toString方法
包装类
Integer i1=new Integer(-200);
Integer i2=new Integer(-200);
MIN_VALUE Integer.MIN_VALUE; //int的最小值
MAX_VALUE Integer.MAX_VALUE; //int最大值
compareTo i1.compareTo(i2); //比较值:值相等时反会0
intValue i1.intValue()+234; //转换成基本数据类型
构造方法摘要 |
|
Integer(int value) |
|
Integer(String s) |
|
int |
int |
intValue() |
static int |
Character
isDigit Character.isDigit('8'); //判断是否为数字
isLetter Character.isLetter(c); //判断字符值是否为字母
static boolean |
isDigit(char ch) |
static boolean |
isLetter(char ch) |
static boolean |
isLetter(int codePoint) |
static boolean |
isLetterOrDigit(int codePoint) |
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<s.length;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) |
boolean |
contains(CharSequence s) |
boolean |
|
boolean |
|
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'); //根据索引,修改替换单个字符