四要素:
循环初始化
循环条件
循环体
迭代条件
class WhileTest {
public static void main(String[] args) {
int i = 1;
while(i <= 10){
System.out.println(1);
i ++;
}
}
}
do-while:
class DoWhileTest {
public static void main(String[] args) {
int i = 1;
do{
if(i % 2 == 0){
System.out.println(i);
i++;
}
}while(i <= 10);
}
}
综合题目:
import java.util.Scanner;
class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int positiveNum = 0;
int negativeNum = 0;
while(true){ // for(;;){
int i = scan.nextInt();
if(i == 0){
break;
}
if(i < 0){
negativeNum += 1;
}else{
positiveNum += 1;
}
}
System.out.println("负数个数:" + negativeNum);
System.out.println("正数个数:" + positiveNum);
}
}
嵌套循环:
class ForForTest {
public static void main(String[] args) {
for(int i = 1;i <= 4;i++){
for(int j = 1;j <= (5 - i);j++){
System.out.print("*");
}
System.out.println();
}
}
}
嵌套循环:九九乘法表和输出一百以内的质数:
class NineNineTest {
public static void main(String[] args) {
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i;j++){
System.out.print(j + "*" + i + "=" + i * j);
System.out.print('t');
}
System.out.println();
}
System.out.println("Hello World!");
}
}
class ZhiShuTest{
public static void main(String[] args){
long start = System.currentTimeMillis();
int i = 1;
while(i <= 100){
boolean isFlag = true;//一个旗帜,表明是不是进入了if
int num = 0;
//优化2:对本身是质数的自然数是有效的,其实非质数也有效,只不过是优化一已经生效了
for(int j = 2;j <= Math.sqrt(i);j++){
if(i % j == 0){
isFlag = false;
break;//优化1:只对本身非质数的自然数有效
}
}
if(isFlag == true){
System.out.println(i);//优化3:每次输出影响了输出的效率,直接计算总数就可以了
}
i++;
}
long end = System.currentTimeMillis();
long time = end - start;
System.out.println(time);
}
}
使用continue:
class ZhiShuTest{
public static void main(String[] args){
long start = System.currentTimeMillis();
int i = 1;
label: while(i <= 100){
for(int j = 2;j <= Math.sqrt(i);j++){
if(i % j == 0){
continue label;
}
}
i++;
}
long end = System.currentTimeMillis();
long time = end - start;
System.out.println(time);
}
}



