包装类与基本数据类型
package com.mashibing;
* 包装类与基本数据类型
* 包装类是将基本数据类型封装成一个类,包含属性和方法
* 使用:
* 在使用过程中,会涉及到自动装箱和自动拆箱
* 装箱:将基本数据类型转换成包装类
* 拆箱:将包装类转换成基本数据类型
*
*
*
*
* */
public class IntegerDemo {
public static void main(String[] args) {
// int a = 10;
// Integer i = new Integer(10);
// //通过方法进行类型的转换
// Integer i2 = Integer.valueOf(a);
// int i3 = i.intValue();
// System.out.println(a == i);
// Float f1 = new Float(3.14);
// Double d1 = new Double(3.14);
// int i =100;
// Integer i1 = 100;
// Integer i2 = 100;
// Integer i3 = 200;
// Integer i4 = 200;
// System.out.println(i1==i2);
// System.out.println(i3==i4);
// Double d1 = 1.0;
// Double d2 = 1.0;
// Double d3 = 2.0;
// Double d4 = 2.0;
// System.out.println(d1==d2);
// System.out.println(d3==d4);
Integer i = 10;
int a = i;
System.out.println(a==i);
}
}
字符串
package com.mashibing;
* 注意:常量池在1.7之后放置在了堆空间之中
* 字符串的使用:
* 1、创建
* String str = "abc";
* String str2 = new String("abc");
* 两种方式都可以用,只不过第一种使用比较多
* 2、字符串的本质
* 字符串的本质是字符数组或者叫做字符序列
* String类使用final修饰,不可以被继承
* 使用equals方法比较的是字符数组的每一个位置的值
* String是一个不可变对象
*
* */
public class StringDemo {
public static void main(String[] args) {
String str = "abc";
String str2 = new String("abc");
// str2 = str2.intern();
System.out.println(str==str2);
System.out.println(str.equals(str2));
System.out.println(str.charAt(0));
//数组的复制过程
System.out.println(str.concat("cde"));
//返回指定下标的元素
System.out.println(str.indexOf("a"));
String s = "abcdefghijklmn";
System.out.println(s.substring(3));
//在截取字符串的时候,需要注意是左闭右开区间
System.out.println(s.substring(3,5));
System.out.println(s.length());
System.out.println("-----------------");
// String a = "abc";
// String b = new String("abc");
// b = b.intern();
// System.out.println(a==b);
String a = "abc";
String b = "def";
String c = "abcdef";
String d = (a+b).intern();// 首先检查字符串池中是否有abcdef,如果有,返回这个字符串的引用
String e = "abc"+"def";
System.out.println(c==d);
System.out.println(c==e);
String f = "a" + "b" +"c";
String a1 = "a";
String a2 = "b";
String a3 = "c";
String f1 = a1+a2+a3;
}
}
StringBuffer和StringBuilder
package com.mashibing;
* 可变字符串
* StringBuffer:线程安全,效率低
* StringBuilder: 线程不安全,效率高
* StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
*
* */
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(1).append(1.234).append("abc").append(true);
System.out.println(stringBuffer);
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.capacity());
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("123").append(1).append(false);
System.out.println(stringBuilder);
}
}
Date
package com.mashibing;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date);
System.out.println(date.getTime());
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将Date类按照规范转换为字符串格式
String str = dateFormat.format(date);
System.out.println(str);
//将字符串转换成对应的日期类
Date d1 = dateFormat.parse("2010-10-10 20:20:20");
System.out.println(d1);
//获取的是当前系统的时间
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
//设置指定时间的日历类
calendar.setTime(d1);
System.out.println(calendar);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH));
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
}
}