JavaSE - 练习面试题目 [2] 基本语法部分

1.标识符的命名规则有哪些?

不遵守规范,编译不通过
遵循驼峰表示法的名词短语
不能是数字打头
不可以有空格
不可以是关键字和保留字

2. 标识符的命名规范有哪些?

不遵守,编译运行都可以通过
包名:域名倒写.模块名 : cn.icanci.dao
类名、接口名:XxxYyyZzz
变量名、方法名:xxxYyyZzz
常量名:XXX_YYY_ZZZ

3. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小

byte :1个字节,8位,-128~127 最大存储数据量 255
short :2个字节,16位,-32768~32767 最大存储数据量 65535
int :4个字节,32位,负的2的31次方~2的31次方-1 最大存储数据量 2的31次方-1
long :8个字节,64位,负的2的64次方~2的64次方-1 最大存储数据量 2的64次方-1
char :2个字节,16位,存储Unicode编码
float :4个字节,32位
double :8个字节,64位
boolean : 半个字节
引用数据类型:类、接口、数组

4. 说明基本数据类型变量之间自动类型提升的运算规则。

byte、short、char ->int ->long ->float ->double

5. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。

容量大 -> 容量小
使用强转符:()
精度损失。

6. “&”和“&&”的异同

都表示并且.但是 "&&"有短路效果

7.程序输出
class OperatorTest {
    public static void main(String[] args) {
        boolean x = true;
        boolean y = false;
        short z = 40;
        if ((z++ == 40) && (y = true)) {
            z++;
        }
        if ((x = false) || (++z == 43)) {
            z++;
        }
        System.out.println("z = " + z);
    }
}

结果

44
8.定义三个int型变量并赋值,使用三元运算符或者if-else获取这三个数中的较大数的实现
9.编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。
10. 交换两个变量值的代码的实现
11.switch后面使用的表达式可以是哪些数据类型的。

byte ,short,char,int String(JDK1.7之后)

12. 使用switch语句改写下列if语句:
 int a = 3;
 int x = 100;
 if(a==1)
    x+=5;
 else if(a==2)
    x+=10;
 else if(a==3)
    x+=16;
 else       
    x+=34;
13. 谈谈你对三元运算符、if-else和switch-case结构使用场景的理解
14. 如何从控制台获取String和int型的变量,并输出?使用代码实现
15. 使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出。
16. 循环结构是如何最后退出循环的,有哪些不同的情况请说明。

① 循环条件返回false
② 在循环体内,一旦执行到break,跳出循环
continue;return

17.指出如下程序输出的结果:
label : for (int i = 1; i <= 4; i++) {
            for (int j = 1; j <= 10; j++) {
                if (j % 4 == 0) {
                    continue label;
                }
                System.out.print(j);
            }
            System.out.println();
}

正确结果:123123123123

18.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程 找出1000以内的所有完数。(因子:除去这个数本身的其它约数)
19. 说明break和continue使用上的相同点和不同点

break:s witch-case 和 循环结构(结束当前循环),其后不可以声明执行语句
continue: 循环结构(结束当次循环),其后不可以声明执行语句

20. 从控制台输出如下结构:
******
*****
****    
*** 
**  
*   
21.写出一维数组初始化的两种方式
22.写出二维数组初始化的两种方式
23.如何遍历如下的二维数组

int[] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};

24.不同类型的一维数组元素的默认初始化值各是多少
25.一维数组的内存解析:

String[] strs = new String[5];
strs[2] = “Tom”;
strs = new String[3];


JavaSE - 练习面试题目 [2] 基本语法部分_第1张图片
图解
24.使用冒泡排序,实现如下的数组从小到大排序。

int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};

25.如何反转上面的数组。请代码实现
26. 复制上述数组,得到一个新的数组
27. 使用线性查找,从上述数组中查找22是否存在。存在,返回所在位置的索引。不存在,输出提示信息。
27. 数组中常见的异常有哪些?请举例说明

空指针异常
数组下标越界异常

你可能感兴趣的:(JavaSE - 练习面试题目 [2] 基本语法部分)