结论:从编译后的字节码文件看,for(;;) 和 while(true) 在底层用的相同的实现,两种写法没有区别。
1、for(;;)
@Test
public void test(){
for(;;){
System.out.println("for"+"+++");
}
}
编译后的字节码
public void test();
flags: ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3 // String for+++
5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: goto 0
LineNumberTable:
line 18: 0
LocalVariableTable:
Start Length Slot Name Signature
0 11 0 this Lcom/jj/jingcai/MyTest;
StackMapTable: number_of_entries = 1
frame_type = 0 /* same */
RuntimeVisibleAnnotations:
0: #17()
2、while(true)
@Test
public void test(){
while (true){
System.out.println("while"+"---");
}
}
编译后的字节码
public void test();
flags: ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3 // String while---
5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: goto 0
LineNumberTable:
line 18: 0
LocalVariableTable:
Start Length Slot Name Signature
0 11 0 this Lcom/jj/jingcai/MyTest;
StackMapTable: number_of_entries = 1
frame_type = 0 /* same */
RuntimeVisibleAnnotations:
0: #17()
分享到:
相关推荐
for循环语句是Java中最常用的循环语句之一。其语法结构为: ```java for (初始化语句; 条件语句; 更新语句) { // 代码块 } ``` 其中,初始化语句用于初始化循环变量,条件语句用于控制循环的执行,更新语句用于更新...
Java 语言中有三种基本的循环结构:for 循环、while 循环和 do...while 循环。这些循环结构都是用来实现重复操作的。 一、For 循环 for 循环是一种常用的循环结构,用于实现固定次数的重复操作。for 循环的基本...
Java中的do...while循环语句是一种特殊的循环结构,它的特点是循环体至少会执行一次,即使在初次检查条件表达式时不满足。这种循环适用于那些需要在执行至少一次操作后再决定是否继续循环的情况。 do...while循环的...
### JAVA练习题知识点详解 #### 1. 斐波那契数列 通过`for`循环打印斐波那契数列的前100项。斐波那契数列定义为:第一项与第二项均为1,后续每一项都是前两项之和(如1, 1, 2, 3, 5, 8, 13, 21...)。 ```java int...
`while`循环在不知道循环需要执行确切次数的情况下非常有用,与`for`循环和`do-while`循环一起构成了Java中的主要循环结构。 `while`语句的基本形式如下: ```java while (布尔表达式) { 循环体语句; } ``` 这里...
3. **指针的缺失**:Java不支持指针操作,这与C/C++中的指针使用有很大的区别。Java通过对象来管理内存,而对象的引用则用来代替传统的指针概念。 4. **全局变量的限制**:Java不鼓励使用全局变量,而是提倡通过类...
则以下的表达式中,值为true 的是(B)。这是一个布尔表达式的题目,考察了布尔表达式的计算和比较。 Java 知识点:布尔表达式、比较运算符 12. 下列语句序列执行后,i 的值是(D)。这是一个do-while循环的题目,...
#### while与do-while的区别 1. **执行时机**: - `while`循环:先检查条件,条件为真时才执行循环体。 - `do-while`循环:先执行循环体,之后检查条件是否为真,决定是否继续执行。 2. **至少执行次数**: - `...
在Java编程语言中,数据类型是程序设计的基础,它们决定了变量可以存储的值的种类和范围。本章将深入探讨Java中的数据类型,分为两大类:基本数据类型和引用数据类型。 1. 基本数据类型: - 整型:Java提供了四种...
- **循环语句**:`for`、`while`和`do-while`循环,用于重复执行某段代码直到满足特定条件。 - **跳转语句**:`break`和`continue`用于中断当前循环或跳过循环中剩余的部分。带标签的`break`和`continue`可以跳出...
在这个例子中,可以看到`do-while`循环的行为与前面的`while`循环非常相似,但关键的区别在于`do-while`循环先执行再判断条件。 #### 3. `for`循环 除了上面介绍的两种循环之外,Java还提供了一种更常用的循环结构...
通过以上示例,我们了解了Java中循环的基础语法及应用,包括`while`、`do...while`、`for`循环等,并学习了如何利用这些循环来解决实际问题,如查找水仙花数、计算累加和、检查质数以及生成Fibonacci数列等。...
Java的循环结构(`while`、`for`、`do...while`)以及选择结构(`if`、`else`、`else if`)与C++类似,但语法上稍有差异。例如: ```java for (int i = 0; i ; i++) { System.out.println(i); } if (isTrue) {...
* 循环结构:for 语句、while 语句、do-while 语句。 十、类型转换 * 小的可以直接赋给大的。 * 大的必须强转才能赋给小的。 * boolean 不能与其它类型的值进行转换。 * 如果需要转换则用三元运算符:b?x:y。 ...
- `else`:与if一起使用,表示如果if条件不满足时执行的代码块。 - `extends`:用于继承父类。 - `false`:布尔类型的假值。 - `final`:表示常量、最终类或方法不能被覆盖。 - `finally`:无论是否发生异常都会执行...
break关键字用于提前退出for、while或do循环,或者在switch语句中用来结束case块。 示例: for (i=0; i; i++) { if () { break; } } int type = ; switch (type) { case 1: break; case 2: break; ...
do…while循环与while循环类似,但有一个关键的区别:do…while循环至少会执行一次循环体,然后再去判断布尔表达式的值。如果布尔表达式为true,循环继续执行下去;否则,循环终止。 例如,使用do…while循环可以...
而文件内容部分,则展示了一个Java程序,演示了三种不同类型的循环结构:for循环、while循环和do-while循环,并且展示了如何使用这些循环结构来创建一个死循环。 知识点一:for循环 for循环是最常用于遍历数组或...
JAVA 中的 while 循环可以用于循环执行语句,例如: int i = 10; while (i > 0) { i = i + 1; if (i == 10) { break; } } 14. for 循环 JAVA 中的 for 循环可以用于循环执行语句,例如: for (int i = 0; i ...
本章重点讨论的是Java基础程序设计中的关键概念——判断与循环语句,这是编写任何复杂程序的基础。 首先,让我们理解什么是判断语句。在Java中,判断语句允许我们根据条件执行不同的代码路径。最常见的是`if`语句,...