总结
豆包 AI 助手文章总结
首页 > Java > java教程 > 正文

java数组的面试题实例分析

PHPz
发布: 2023-05-17 10:16:05
转载
979人浏览过

一、基础知识

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数组的面试题实例分析的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:亿速云网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号