Java学习笔记,
Java学习笔记,
1、 String字符串转换为char[]字符数组:
String str = "abc";
char[] array = str.toCharArray();
char[]字符数组转换为String字符串:
char[] array = new char[size];
String str = new String(array);
2、内部类中可以直接访问外部类的成员,包括私有成员。匿名内部类中如要访问外部的数据,该数据必须是final的。
3、Debug调试快捷键:
F5:进入到方法中,逐步调试;
F6:不进入到方法中,逐过程调试;
F7:跳出当前方法;
F8:跳到下一个断点,若没有断点,则结束调试。
4、int i = 50;
将十进制整数用二进制表示:
System.out.println(Integer.toBinaryString(i));
将十进制整数用十六进制表示:
System.out.println(Integer.toHexString(i));
5、在Integer.class中定义:
public static final int MIN_VALUE = 0x80000000;
public staticfinal int MAX_VALUE = 0x7fffffff;
6、负数=正数取反+1
int n = 8;
int m = ~n+1;
System.out.println(m); //-8
7、函数:字符串左边填充'0'
static String leftpad(String str, int n){ //字符串左边填充0
intl =str.length(); //计算字符串的长度
int size = n-l; //计算出填充0的个数
char[] chs = new char[size]; //创建字符数组,保存添加的0
for(int i=0; i<size; i++){ //向数组中添加字符0
chs[i] = ‘0’;
}
return new String(chs)+str; //将字符数组与字符串str连接
}
8、如果一个算法没有用到当前对象的东西,可以定义成静态的。9、将有意义的内容翻译成二进制叫做编码,将二进制翻译成有意义的内容叫做解码。
10、Java基本类型在栈里,引用类型在堆里。基本类型以值的形式存在,引用类型以对象的形式存在。
11、UTF-8中,英文字母1个字节,汉字3个字节。
12、字符串是不变对象,意思是说,字符串内容一旦创建,不可改变,若想改变某个字符串内容一定会创建新对象。
13、字符串s1,s2,s3,s1==s2比较字符串在内存中的地址,s1.equals(s3)比较s1和s3的内容。
14、编译器的一个优化措施:
当一个计算表达式计算符两边都是字面量时,会直接计算结果,然后将结果编译到class文件中,所以下面代码在class文件中样子是:
String s1 = “123abc”;
String s2 = “123”+”abc”;
System.out.println(s1==s2);
使用new一定会创建新对象
15、StringBuffer考虑线程安全问题,StringBuilder不考虑线程安全问题。
StringBuffer用于多线程环境,StringBuilder用于单线程环境。相关文章
- 暂无相关文章
用户点评