1java循环汇总
在我接触的循环中,常见的循环包括以下五种,其中简要说明以下各自的使用场景,其中while、for、do-while采用同一个循环,可对比来学习具体的区别。
- while和do-while用在不知道具体的循环次数,while在做循环之前会先执行条件判断语句,而do-while则是执行完循环体语句后,在判断条件
- for适合用于知道具体的循环次数的场景中
- 增强for循环适合遍历数组,但是不能修改数组中的值。这是由于增强for是复制了之前的数组,操作的是复制的临时变量,并未对原始数据进行操作(curd)
- iterator迭代器,在遍历集合时,选迭器式(专门用于集合的遍历)。
1.1while循环
-
- 语法格式
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
- 2.语法描述
初始化语句用于赋初值的作用,条件判断语句为true,执行循环体语句,条件控制语句控制条件的变化,然后再次执行条件判断语句,如果变化后的条件不满足条件要求,满足继续循环,否则结束循环。for,while和do-while采用同一个例子,可以相互转化。 - 3.例子
public class WhileDemo {
public static void main(String[] args) {
//while循环实现
int j = 1;
while(j<=10) {
System.out.println(" WhileDemo");
j++;
}
}
}
1.2do-while循环
-
- 语法格式
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句)
- 2.语法描述
不管条件判断语句是否为true,都会先执行循环体里面的语句。如果条件判断语句满足要求,继续循环。 - 3.例子
public class WhileDemo {
public static void main(String[] args) {
//while循环实现
int j = 1;
do{
System.out.println(" WhileDemo");
j++;
}while(j<=9)
}
}
1.3for循环
-
- 语法格式
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
- 2.语法描述
初始化语句和while的一样,条件判断语句如果为true,执行循环体语句,在执行条件控制语句;否则条件判断语句为false结束循环。 - 3.例子
public class forDemo {
public static void main(String[] args) {
//需求:在控制台输出10次"forDemo"
//for循环实现
for(int i=1; i<=10; i++) {
System.out.println("forDemo");
}
}
}
1.4增强for循环
-
- 语法格式
for (元素类型 元素变量:待遍历的对象){
函数体;
}
- 2.语法描述
遍历数组中的所有元素,或者是遍历集合中所有元素。 - 3.例子
数组方面:
public class forDemo {
public static void main(String[] args) {
//定义一个数组
int arr[] = {0,1,2,3,4,5}
//增强for实现
for(int a:arr) {
System.out.println(a);
}
}
}
集合方面:
public class forDemo {
public static void main(String[] args) {
//定义一个集合
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for(int a:list) {
System.out.println(a);
}
}
}
1.5iterator迭代器
- 1.语法格式
iterator.hasNext()方法判断当前位置是否可以取出元素,返回值为boolean类型,是做遍历的重要依据。
iterator.next()方法获取获取当前对象的值,并且指针指向下一个元素。
iterator.remove()删除元素
- 2.语法描述
迭代器是用于集合遍历的专用类。首先要获取迭代器对象,迭代器对象调用hasNext()方法来做操作和遍历。 - 3.例子
public class iteratorDemo {
public static void main(String[] args) {
//定义一个集合
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
//获取迭代器对象
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
- 4.terator与ListIterator有什么区别
Iterator只能正向遍历集合,适用于获取移除元素。ListIerator继承自Iterator,专门针对List,可以从两个方向遍历List,同时支持元素的修改;
参考迭代器知识 http://t.csdn.cn/BUftN