1、Java标识符:不能以数字开头,可以以字母、下划线(_)、美元符($)、汉字开头。标识符如:toString
2、问题:""和''有什么区别?
System.out.println('\u0042' + "A");//得BA (A的unicode值为\u0041)
System.out.println('\u0042' + 'A');//得131
System.out.println('\u0042' + '\n');//得76 (66+10 转义字符\n的unicode值为\u000A)
System.out.println('\u0042' + "\n");//得B 换行
System.out.println("A" + '\n' + '\u0041' + 'B');//得A 换行AB
System.out.println('\u0041' + '\u0042' + 'A' + "A");//得196A
难道是''得数值,""得字符?
''表字符('AB'就不对) ""表字符串("AB"就OK)
字符串连接运算符“+”用于连接两个字符串。当用“+”连接一个字符串与一个操作数时,Java自动将操作数的值转换为字符串。例如:System.out.println("max=" + max);
3、问题:~4 得-5 ?
//数据是以补码的形式存储的:
System.out.println(Integer.toBinaryString(4));
//得4的补码: 0000-0000 0000-0000 0000-0000 0000-0100 (正数的补码即本身)
System.out.println(Integer.toBinaryString(~4));
//对4的补码取反:1111-1111 1111-1111 1111-1111 1111-1011
//~4以补码形式存储:
// 得1000-0000 0000-0000 0000-0000 0000-0101 (即-5)
System.out.println(Integer.toBinaryString(-3));
// -3: 1000-0000 0000-0000 0000-0000 0000-0011
//得-3的补码:1111-1111 1111-1111 1111-1111 1111-1101
System.out.println(Integer.toBinaryString(~(-3)));
//得 0000-0000 0000-0000 0000-0000 0000-0010 (正数的补码即本身)
4、问题:Java 变量怎么强制类型转换?
5、问题:对象运算符instanceof怎么用?
6、问题:!0 //语法错,整数不能进行逻辑运算,~0是位运算 为什么?
7、问题: float b = 1.6; //为什么这句话有错?
float b = 1.6f; //正确
8、问题:repeat循环体是什么?
9、两个数组变量之间的赋值是引用赋值,没有申请新的存储空间。
int[] a = {0,1,2}, b;
b = a;
b[0] = 9;
System.out.println(a[0]); //得 9
System.out.println(b[2]); //得2
System.out.println(a == b); //得true 关系运算符(==、!=)可以判断两个数组是否引用同一个数组
b = new int[7]; //b重新申请数组空间,a == b结果为false
b = null; //释放数组占用的存储空间。通常程序不需要释放数组,Java将自动收回不再使用的数组占用的存储空间
System.out.println(b); //得null