ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java面试题(二)

2022-05-09 21:01:19  阅读:154  来源: 互联网

标签:面试题 Java ++ int while && false public


1.八种基本数据类型及其字节数

2. i++和++i的异同之处

2.1相同点

  1. 它们都是变量自增,都等价于i=i+1
  2. 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,++,int,while,&&,false,public
来源: https://www.cnblogs.com/com-Jacob/p/16247227.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有