java 基础面试 1、&和&& 1、&和&& 都可以用作逻辑与的运算符,表示逻辑与( and ) ,当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true ,否则,只要有一方为 false ,则结果为 false 。 2、&& 还具有短路功能, 即如第一个表达式为 false 则不再计算第二个表达式如: if( str != null && !( “”) )当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException ,如果将&& 改为& ,则会抛出 NullPointerException 异常。 if(x == 33& ++y >0)y 会增长, if(x == 33 && ++y >0)y 不会增长。 3、& 还可以用作位运算符,当& 操作符两边的表达式不是 boolea n 类型时, & 表示按位与操作,我们通常使用数&1 来判断一个数是奇数还是偶数如果结果为 0 为偶数,结果为 1 为奇数, 如 4&1 –>0 偶数。 2 、如何跳出多重嵌套循环 1、可以在外面循环语句前定义一个标号, 然后在里层循环体的代码中使用带有标号的 break 语句,即可跳出外层循环。例如: ok; for(int i= 0;i < 10;i++){ for(int j= 0;j < 10;j++){ ("i ="+i+ ",j ="+ j); if(j == 5) break ok; }}2 、让外层的循环条件表达式的结果可以受到里层循环体代码的控制。例如:要在二维数组中查找到某个数字 int arr[][] = {{1,2,3},{4,5,6,7},{9}}; boolean found = false; for(int i= 0;i < && !found; i++){ for(int j= 0;j< arr[i].length; j++){ ("i ="+i+ ",j ="+ j); if(arr[i][j] == 5){ found == true; break; }}}3 、设计一个一百亿的计算器计算机中算术运算是会发生越界情况的,两个数值的运算结果不能超过计算机中的该类型的数值范围 int a= ; int b= ; int sum =a+ b; ("a ="+a+ ",b = "+b+ ",sum = "+ sum); int 的整数范围为 2的 31 次方,表示的最大数值约等于 2*1000*1000*1000 ,也就是 20 亿的大小。所以,要实现一个一百亿的计算器,我们得自己设计一个类可以用于表示很大的整数, 并且提供了与另外一个整数进行加减乘除的功能,大概功能如下: ()这个类内部有两个成员变量,一个表示符号,另一个用字节数组表示数值的二进制数()有一个构造方法,把一个包含有多位数值的字符串转换到内部的符号和字节数组中()提供加减乘除的功能 public class BigInteger{ int sign; byte[] val; public Biginte
java基础面试 来自淘豆网m.daumloan.com转载请标明出处.