面试题复习记录(一)
A:for(int i=0; i<10; i++){ //外循环定义标号A. for(int j=0; j<10; j++){ System.out.println("i="+i+",j="+j); if(j==6){ break A; //break A,就是跳到外循环处(也就是整个外循环都结束了). } } }
希望大家一定注意,不是父类所有的东西都要继承.
int m = 2;
int n = 3;
boolean b = m==n;
System.out.println(b);//结果为false,因为2和3不等吗.
但是对于引用类型数据来说,==和equals就有些不同了,在大多数类中的equals方法调用的依然是==,但比较的是两个引用变量的地址是否相同.
例如:
int[] arr1 = {1,2,3};
int[] arr2 = {1,2,3};
System.out.println(arr1==arr2);//结果是false,因为比较的是地址值.
System.out.println(arr1.equals(arr2));//结果还是false,因为比较的还是地址值.其实调用的方法还是"=="
但是在字符串String中就不一样了,因为String中的equals方法被重写了,它比较的是两个字符串对象中的内容是否相同.
例如:
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1==s2);//结果是false,因为比较的是地址值.
System.out.println(s1.equals(s2));//结果是true,因为比较的是对象中内容是否相同.
2, 题目中不是说两个整数变量吗?那么我们就设两个整数变量.比如: int x = 2; int y = 3;现在我们就把这两个数用异或的方法进行数值换位.
3,由于我们人的思想习惯是xy的顺序,那么我们就先来换位x,于是有:
x = x^y;//此时x=2^3.这时再算出y,于是有
y = x^y;//相当于2^3^3=2,这时的y=2,我们完成了一个换位.于是开始换x.
此时x^y=2^3^2=3,那么我们就把这个值赋给x,那么就是
x = x^y;//相当于2^3^2=3.这时x=3;
转载于:https://www.cnblogs.com/wxb0328/p/wxb.html