知道循环次数用for,不知道循环次数用while
1 for循环
语法规则: i:index
循环结构中判断条件部分必须是布尔类型,当判断条件部分的表达式计算结果为false时,循环结 束。
初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔。
可以有多个变量更新,用逗号分隔。
for(int i = 1;i<=10;i++){
System.out.println("Hello 你好!~");
}//打印 10个你好
for(int i = 1;i<=5;i++) {
System.out.println(i);
}//打印 1-5
for(int i = 5;i<=1;i--) {
System.out.println(i);
}//打印 5-1
int sum = 0;
for(int i = 1;i<=5;i++) {
sum += i;
System.out.println(sum);
}//打印 1+5 !!!!但是:循环中用于累加的变量放在循环体外面
//1-100偶数的求和
int sum = 0;
for(int i = 1;i<=100;i++) {
//判断i是否是偶数 是sum+
if(i % 2 == 0) {
sum += i;
}
}
System.out.println("1-100偶数的值是:" + sum);
2 while循环 满足条件执行循环体
/**
世界最高山峰是珠穆朗玛峰,它的高度是8844.43米,假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度? 练习1
*/
public class testwhile {
public static void main(String[] args) {
//统一单位
double height = 88444300;
double paper = 1.0;
//记录折纸次数
int count = 0;
//记录折纸厚度
double thickness = paper;
//进入循环
while(thickness <= height) {
thickness *= 2;
count++;
}
System.out.println("thickness = " + thickness);
System.out.println("count = " + count);
}
}
thickness = 1.34217728E8
count = 27
/**
从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。 练习 2
*/
import java.util.Scanner;
public class textWhile1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//输入
System.out.println("请输入整数:");
int uesrInput = scanner.nextInt();
//统计正负数
int positiveCount = 0; //+
int negativeCount = 0; //-
//进入循环
while(uesrInput != 0) { // 为0结束
if(uesrInput > 0) { // +
++positiveCount;
}
if(uesrInput < 0) { // -
++negativeCount;
}
System.out.println("+++positiveCount = " + positiveCount);
System.out.println("---negativeCount = " + negativeCount);
//继续输入
System.out.println("请输入整数:");
uesrInput = scanner.nextInt();
}
}
}
3 do ......while 循环 先执行后判断循环
import java.util.Scanner;
// 从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。
public class testzhengfu{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int userInput = scanner.nextInt();
int positiveCount = 0;
int negativeCount = 0;
do {
if (userInput > 0){
positiveCount++;
}
if (userInput < 0){
negativeCount++;
}
System.out.println("正数的个数:"+positiveCount);
System.out.println("负数的个数:"+negativeCount);
System.out.print("请输入一个整数:");
userInput = scanner.nextInt();
}while(userInput != 0);
}
}