高薪程序员&面试题精讲系列18之for和foreach的区别原理,哪个效率更高?
Posted 一一哥Sun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高薪程序员&面试题精讲系列18之for和foreach的区别原理,哪个效率更高?相关的知识,希望对你有一定的参考价值。
一. 面试题及剖析
1. 今日面试题
我们在刚开始学习Java基础知识的时候,很早就接触到了关于循环的内容,在面试时,面试官在这个地方也可能会问到一些面试题,比如:
for和foreach有什么区别?
for与foreach循环的原理是什么样的?
两者哪个效率更高?
2. 题目剖析
上面这个题目主要是考察我们对Java中循环的操作和理解,这道题目本身没有太难的地方,题目的答案以记忆为主,没有太多需要理解的地方。
二. 参考答案
1. for与foreach的区别
1.1 语法不同
常规的for循环语法如下:
for(statement 1; statement 2; statement 3)
//要执行的循环语句
增强型foreach是 Java 提供的一种语法糖,主要用来对数组或者集合进行遍历,其语法格式如下:
for(元素类型type 元素变量value : 遍历的集合对象obj)
//要执行的循环语句
1.2 使用场景不同
- 普通for循环可以在各类型的循环操作中使用,如果我们想遍历集合时还能对元素进行修改,就要使用for循环;
- foreach是对for循环的简化
高薪程序员&面试题精讲系列127之如何设计一个消息队列?如何保证消息的执行顺序?
一. 面试题及剖析
1. 今日面试题
如何保证消息队列中消息的执行顺序?
RabbitMQ消息过期了怎么办?
如何设计一个消息队列?
如果让你自己设计一个消息队列,该怎么实现?
2. 题目剖析
壹哥在前面的几篇文章中,已经把RabbitMQ的很多重难点面试题都给大家讲解完了,比如RabbitMQ的交换机类型,保证MQ的消息可靠性,保证MQ的高可用,集群搭建等问题,这些问题都非常的重要,希望各位牢牢掌握。
接下来壹哥再利用一篇文章,把RabbitMQ的其他一些问题,再带大家梳理一下,这些问题也很常问。就比如怎么设计一个MQ,这个问题,我自己在面试时就被问到过好几次,一开始确实回答的不好,后来经过仔细的准备才把这道题目答对。其实这道题目,面试官是在考察我们对MQ的底层原理是否了解。试想,如果我们对各种MQ的底层都很熟悉,清楚地知道它们的
以上是关于高薪程序员&面试题精讲系列18之for和foreach的区别原理,哪个效率更高?的主要内容,如果未能解决你的问题,请参考以下文章
高薪程序员&面试题精讲系列22之说说Java的IO流,常用哪些IO流?
高薪程序员&面试题精讲系列43之HashMap扩容机制的底层实现原理,HashMap扩容后是如何进行rehash操作的?