Java面试题(二)
2022/5/10 11:04:08
本文主要是介绍Java面试题(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.八种基本数据类型及其字节数
2. i++和++i的异同之处
2.1相同点
- 它们都是变量自增,都等价于i=i+1
- i++和++i的使用仅仅针对变量。 5++和++5会报错,因为5不是变量。
2.2不同点
i++ :先运算后增1。如
int x=5; int y=x++; System.out.println("x="+x+",y="+y); //所以这边x先把5赋值给y,所以y=5; //然后x再自增,x=6;
++i : 先增1后运算。如:
int x=5; int y=++x; System.out.println("x="+x+", y="+y); //x先自增,所以x=6,然后把6赋值给y,所以y也是6
3.&和&& , |和|| 的区别和联系
3.1&和&&的联系(共同点)
&和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。
它相当于是and,整个运算结果才为true,否则,只要有一方为false,结果都为false。
3.2&和&&的区别(不同点)
1. & 称为逻辑与运算符,&& 称为短路与运算符,也可叫逻辑与运算符。
对于&:无论任何情况,&两边的操作数或表达式都会参与计算
对于&&:当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最 终结果都为false。
|和||的区别和联系与&和&&的区别和联系类似
4. 用最有效率的方法算出2乘以8等于多少
使用位运算来实现效率最高。
2 << 3
就是二进制往左移三位
5.基本数据类型的类型转换规则
基本类型转换分为自动转换和强制转换。
5.1自动转换规则
容量小的数据类型 可以自动转换成容量大的数据类型
5.2强制转换规则
高级变为低级需要强制转换。
5.3如何转换
public class Test007 { public static void main(String[] args) { double x=1.2; int y= (int) x; } }
6.if和switch的异同之处
6.1相同之处:
都是分支语句,多超过一种的情况进行判断处理。
6.2不同之处:
switch更适合用于多分支情况,就是有很多种情况需要判断处理,判断条件类型单一,只有一个入口,在分支执行完 后(如果没有break跳出),不加判断地执行下去;
而if—elseif---else多分枝主要适用于分支较少的分支结构,判断类 型不是单一,只要一个分支被执行后,后边的分支不再执行。
*switch为等值判断(不允许比如>= <=),而if为等值和区间都可以,if的使用范围大。
7.while和do-while循环的区别
while先判断再执行,第一次判断false,循环体将一次都不执行
do-while先执行再判断,至少执行1次
如果while第一次判断为true,那么和do-while没有区别
8.break和continue的作用
break和continue都是用来控制循环结构的,主要作用是停止循环。
break:结束当前循环体,不再继续执行
public class Test { public static void main(String[] args) { for(int i=0; i<12; i++){ if(i==5){ break; } System.out.print(i+" "); } } } //结果:0 1 2 3 4
continue: 结束自身满足的条件,并没有使整个循环终止。
public class Test { public static void main(String[] args) { for(int i=0; i<12; i++){ if(i==5){ continue; } System.out.print(i+" "); } } } //结果:0 1 2 3 4 6 7 8 9 10 11
9.请使用递归算法计算n!
递归就是:A方法调用A方法!自己调用自己
拓展一个数学概念:阶层
2! 2*1 3! 3*2*1
public class Student { public static void main(String[] args) { System.out.println(fun(5)); } public static int fun(int n){ if (n==1){ return 1; }else { return n*fun(n-1); } } }
缺点:会占用空间内存,小计算可以使用递归
10.数组的特征
数组是(相同类型数据)的(有序)(集合)
索引从0开始
数组元素有序的,不是大小顺序,是索引的顺序
length:数组的长度
数组的长度是固定的
若存在侵权,请联系,谢谢!
这篇关于Java面试题(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南
- 2024-12-21功能权限实战:新手入门指南