1字符的基本类型:
整形 byte,short,int,long;
字符类型 char;
浮点型 float,double;
布尔类型 true,flase;
其中 byte 的范围是-128-127,char类型用’’(单引号)包围,float 类型后加F(小写也可),long类型后加L(小写也可),通常为了方便区分常用大写字母。小数现在常用double型双精度类型数据。
2运算时的类型转换:
运算时byte short,char 会自动提升为int来参加运算。PS:(char类型虽然是字符类型但可以通过askm表转换为整数参加运算)数取值范围的大小顺序为double>float>long>int>short>byte,由大范围到小范围的转化需要强转,小范围参加大范围的运算会自动提升为大范围的数据来参加运算。
Ps:要筛选出大写字母的方法为:
char s = 'C';
if(s>='a'&&s<='z'){
System.out.println("是小写字母");
}else if(s>='A'&&s<='Z'){
System.out.println("是大写字母");
}
Byte short char 三种数据类型在参与运算时会自动转换为int 型
3字符串
1字符串的创建:
String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),在字符串中存在一个非常特殊的地方,那就是字符串池。每当我们创建一个字符串对象时,首先就会检查字符串池中是否存在面值相等的字符串,如果有,则不再创建,直接放回字符串池中对该对象的引用,若没有则创建然后放入到字符串池中并且返回新建对象的引用。这个机制是非常有用的,因为可以提高效率,减少了内存空间的占用。所以在使用字符串的过程中,推荐使用直接赋值(即String s=”aa”),除非有必要才会新建一个String对象(即String s = new String(”aa”))。
字符串的创建如下:
1直接创建字符串
String S=”ABC”
2 利用String的构造方法用字符串数组创建
Char[] s={‘A’,’B’,’C’}
String s=new String(s);
3 直接利用构造方法创建字符串
String s=new String("ABC");
其中2和3创建字符串的方式会在堆内存中创建一个String对象1方法会在字符串常量池中创建一个字符串。
2字符串的拼接:
直接使用“+”进行拼接
将String 转化为StringBuilder对象,使用StringBuilder中的add()方法进行拼接
区别:使用“+”进行拼接会在系统底层创建一个新的对象将拼接后的的字符串地址赋值给新的对象。以前的字符串地址会被GC回收,而转化为StringBuilder对象后String会转变为可变字符串此时调用append方法则不会创建新的字符串对象。大大的节省了字符串拼接的时间减少了内存资源的消耗(特别是在大量字符串拼接的场合会大大优化程序)。
String s="abc";
s=s+"是字符串";
System.out.println(s);
StringBuilder sb=new StringBuilder(s);
sb.append("是拼接的字符串");
String s1 = sb.toString();
System.out.println(s1);