标签:
面试题总结(1)
??可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一
致。
??有,但是是作为保留字使用,现在没有在Java中使用。
八种基本数据类型 包装类 大小 byte Byte 8位 -2^7 ~ 2^7-1 short Short 16位 -2^15 ~ 2^15-1 int Integer 32位 -2^31 ~ 2^31-1 long Long 64位 -2^63 ~ 2^63-1 double Double 64位 -2^63 ~ 2^63-1 char Character 16位 \u0000 ~ \uFFFF boolean Boolean 1位
??&和&&都可以用作逻辑与的运算符,表示逻辑与( and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。
??&&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str != null&& !str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException (空指针异常)如果将&&改为&,则会抛出 NullPointerException 异常。
??&还可以用作位运算符,当&操作符两边的表达式不是 boolean 类型时, &我们通常使用0x0f 来与一个整数进行&运算,来获取该整数的最低4个 bit 位,例如, 0x31 &
0x0f 的结果为0x01。
??2 << 3,
??因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。
??在 switch( expr1)中, expr1只能是一个整数表达式或者枚举常量,
所以能被Switch的数据类型有: byte,short,int,char。
在jdk1.7之后String也可以。
??char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字, unicode编码占用两个字节,所以char类型的变量也是占用两个字节。一个char类型的大小为16位也就是两个字节,所以能存储一个汉字。
选择排序:
??第0个逐次和第一个,第二个,第三个??????比较,并和比他小的交换位置,一轮过后第0个为最小值,第1个在和第二个,第三个??????比较,并和比他小的交换位置。。依次循环,此时上一轮的第一个不用比较,最终得到一个从小到大的序列。
public static void selectSort(int[] arr)
{
// 1,定义外循环,确定参与比较的元素。
for (int x = 0; x < arr.length - 1; x++)
{
for (int y = x + 1; y < arr.length; y++)
{
// 判断前一个大于后一个,就进行位置置换。
if (arr[x] > arr[y])
{
swap(arr, x, y);
}
}
}
}
冒泡排序:
??第0个和第一个比较,若第0个大则和第一个交换位置,第一个和第二个比较,大的后移,第二个和第三个比较,??????以此类推,第一轮结束后最后一个为最大值。。。在从头开始进行第二轮比较,此时一个不用比较
public static void bubbleSort(int[] arr)
{
for (int x = 0; x < arr.length - 1; x++)
{
for (int y = 0; y < arr.length - 1 - x; y++)
{
if (arr[y] > arr[y + 1])
swap(arr, y, y + 1);
}
}
}
标签:
原文地址:http://blog.csdn.net/elenal/article/details/51340473