今天又学习了几个java的几个类; 首先我们说一下String的两种字符串定义的区别: 1.String s1 = "abcd"; 2.String s2 = new String("abcd"); 第一种定义的字符串位于常量池中,常量池中若是有相同的数据,再次定义不会产生新的对象,例:String s3="abcd"; 那么s1和s3的首地址是一样的,用s1==s3可以返回true值 第二种定义方式的字符串位于堆内存中,和其他所有类型的类一样,每次实例化都产生一个新的对象,也就是说如果定义了String s3=new String("abcd"); 那么s2和s3的首地址是不同的。
下面说一下StringBuffer、Math、System和包装类 StringBuffer的使用方式大致和String相同,但是需要区别StringBuffer创建的对象可以由自己的方法进行改变,而String一经创建则无法改变。 以下说一下,StringBuffer中的几个常用的和String类中不同的几个方法: 1.构造器:包含无参构造器和有参构造器,定义方式如下: StringBuffer s1 = new StringBuffer(); 这种定义方式所创建s1内是空字符串 StringBuffer s2 = new StringBuffer(String s); 2.添加,删除,插入,替换,倒序 StringBuffer append(String s); 字符串的拼接 StringBuffer insert(int offset,String s); 方法是在offset的位置插入s字符串 StringBuffer delete(int fromIndex,int lastIndex); 删除从fromIndex到lastIndex的字符串 StringBuffer replace(int start,int end,Strig str); 用str替换掉从start到end的字符串 StringBuffer reserve(); 对字符串进行逆排序
Math类基本就是对数字的一系列操作,我们这里介绍几种常用的方法: random(); 产生一个大于等于0 小于1的随机小数 abs(double b);对传入的参数取绝对值 round(double b);取整(四舍五入) pow(double a,double b);对a进行b次幂 floor(double b) 小于等于b的最大整数 rint(double d) 求最接近的整数,两边一样取偶数
System类 字段:err “标准”错误输出流 in "标准"输入流 out "标准"输出流 方法:currentTimeMillis();获取当前系统时间 void exit();退出jvm
包装类: 8种基本数据类型 ----> 包装类 byte | Byte short | Short int | Integer long | Long float | Float double | Double char | Character boolean| Boolean
int i;String s; int ----> Integer Integer in = new Integer(i); Integer in = Integer.valueOf(i);
String-->Integer Integer in = new Integer(s);
Integer-->String String s=in.toString();
int ---->String String s=j+""; String s=String.valueOf(i); int j=Integer.paseInt(s);
装箱和拆箱 装箱:系统将一个基本数据类型转为包装类对象 拆箱:系统将一个包装类对象转为基本类型数据 Integer in = 9; int i = in;
字符类: Character
方法: boolean isDigit();判断是否为数字 boolean isLetter();判断是否为字母
java.util.Date 构造器 Date(); Date(long milliseconds); 有参构造器以1970年为基准 加上参数时间 方法: int getYear();//以1900年为基准 int getMonth();0-11 int getDate(); int getDay();//返回星期 0-6
Calendar及其子类(GregorainCalendar) Calendar是一个抽象类 使用方法getInstance()可以获取子类实例对象 Calendar c = Calendar.getInstance(); 保存当前日期时间 get方法 c.get(Calendar.getYEAR); 根据定义在Calendar中常量 YEAR,MONTH,DAY,DATE,HOUR,MINUTE,SECONDS,MILLISECONDS== 获取像对应的数值 set方法 set(offset,value)在相应的位置设置value的值 另外,提一下GregorainCanlendar中的一个方法:isLeapYear()可以判断日期是否闰年
java.text.Format 子类:DateFormat 以及子类SimpleDateFormat 例:SimpleDateFormat df = new SimpleDataFormat("yyyy-MM-dd HH:mm:ss"); 常用的方法: String format(Date d);用于将日期按格式输出 Date Parse(String str);将String解析为Date
