java数组的面试题_java数组中有哪些面试题

804a78d0697d21485326cb716d4ff2e7.png

每个人都会经历大大小小的面试,对于java面试的准备,一定会涉及到几个比较大的模块考点。可以说数组是java中一个独立的模块,其中的知识点已形成了完整的知识架构,在实际考察中会涉及到变量的讨论、算法的实际题目运用等,下面我们就常见的java数组面试题带来分享。

一、基础知识

1.Java变量一定要初始化吗?

不一定。Java数组变量是引用数据类型变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,即可使用该数组变量。对数组执行初始化,并不是对数组变量进行初始化,而是对数组对象进行初始化——也就是为该数组对象分配一块连续的内存空间,这块连续的内存空间就是数组的长度。

2.基本类型变量都放在栈内存中?

错。应该这样说:所有局部变量都放在栈内存里保存的,不管其是基本类型的变量,还是引用类型变量,都是存储在各自的方法栈区中;但是引用类型变量所引用的对象(包括数组、普通java对象)则总是存储在堆内存中。

3.引用变量何时只是栈内存中的变量本身,何时又变为引用实例的java对象?

引用变量本质上只是一个指针,只要程序通过引用变量访问属性,或者通过引用变量来调用方法,该引用变量将会由他所引用的对象代替。

二、实例代码

旋转数组:

例如:数组中元素为 123456,翻转后为561234

给定一个数组,长度为n,要求把后k个元素移动到前面,前n-k个元素移动到后面。//先改进面试题一中的方法,将从头到尾翻转改为从i到j翻转

public int[] changeArray2(int[] array, int i, int j) {

int temp = 0;

while (i < j) {

temp = array[i];

array[i] = array[j];

array[j] = temp;

i++;

j--;

}

//实现旋转数组就可以通过下面的方式来实现

//1.翻转前半部分2.翻转后半部分3.反转整个数组

public int[] swap(int[] array, int k) {

int n = array.length - 1;// n=5

changeArray2(array, 0, n - k);

changeArray2(array, n - k + 1, n);

changeArray2(array, 0, n);

return array;

}

}

以上就是java数组中面试题的展示,大家在对于数组方面的复习,要对最基础的知识架构有所明晰,同时复习时要兼顾到一些易考点。更多Java学习指路:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值