类Demo,为什么要用循环
public class Demo {
public static void main(String[] args) {
/**
* 抄课文的过程:
* 1.准备过程:笔墨伺候 执行一次
* 2.条件判断:在动笔之前,判断到底抄了多少次,如果了,停止,如果不够继续抄 执行多次
* 3.抄课文: 执行多次
* 4.计数器:记录我抄了多少次,写完一遍以后,计数器+1 执行多次
*/
//抄课文
System.out.println("抄课蚊,蚊子");//如果写错了,改太麻烦了
System.out.println("抄课蚊");
System.out.println("抄课文");
System.out.println("抄课文");
//此处省略95bian
System.out.println("抄课文");
}
}
类Demo1,while循环
/**
* 使用循环可以解决以上问题
* 什么是循环?
* 通过循环语句反复执行同一个操作
* while循环
* 语法:
* ①:初始化
* while(②循环条件){
* ③循环体;
* ④累加器;
*
* }
* 执行流程:
* 1.加载初始化变量① 。执行一次
* 2.根据循环条件进行判断②,
* 如果判断结果为true,执行循环体③,执行累加器④,
* 在返回来进行循环条件判断②,如果判断结果为true,执行循环体③,执行累加器④,以此类推。
* 直到循环条件不满足,结束循环
*/
public class Demo1 {
public static void main(String[] args) {
//1.初始化 创建初始化变量
int num=1;
//2.循环条件
while(num<=10){
//3.循环体
System.out.println("抄课文"+num);
//4.每抄完一次,次数加1 累数器
num++;
}
}
}
类Demo2,while循环的例子
public class Demo2 {
public static void main(String[] args) {
// 2019年培养学员25万人,每年增长25%。请问按此增长速度,到哪一年培训学员人数将达到100万人?
int year=2019;//初始化年份
double count=250000;//初始化人数
while(count<=1000000){
count=count*(1+0.25);
year++;
}
System.out.println("年份:"+year);
}
}
Demo3,使用while循环计算2一100偶数之和
public class Demo3 {
public static void main(String[] args) {
// 使用while循环 计算 2+4+6+...+100
//初始化变量
int i=2;
int sum=0;//接受偶数之和
//循环条件
while(i<=100){
//循环体
if(i%2==0){//偶数
//偶数相加
sum+=i;
}
//累加器
i++;
}
System.out.println("偶数之和:"+sum);
}
}
Demo4,while循环的例子,判断输入的正整数和负整数的个数,输入0结束程序
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
// 编写一个程序,从键盘读取个数不确定的整数,并且判断读入的正数和负数的个数,输入0时结束程序,
// 统计正数和负数的个数
Scanner sc=new Scanner(System.in);
int count1=0;//记录正数的个数
int count2=0;//记录负数的个数
boolean flag=true;//循环的条件
while(flag){
System.out.println("请输入整数:");
int num=sc.nextInt();
if(num>0){//正数
count1++;
}else if(num<0){//负数
count2++;
}else{
//结束循环
// break;
flag=false;//状态位
}
}
System.out.println("正数的个数:"+count1);
System.out.println("负数的个数:"+count2);
}
}
Demo5,do-while循环,while和do-while的区别
/**
* 语法:
* ①初始化变量
* do{
* ②循环体;
* ③,累加器
* }while(④循环条件);
*
* 执行顺序:
* 1.初始化变量
* 2.执行do里面的循环体和累加器,执行完成以后执行循环条件判断,如果判断结果为true,
* 继续执行do里面的循环体和累加器,以此类推,直到循环条件不满足为false的情况下,结束循环
*
* while和do..while区别
* 1.while:先判断后执行
* 2.do..while:先执行后判断,至少会执行一次循环体
*/
public class Demo5 {
public static void main(String[] args) {
//抄课文
//初始化变量
int num=1;
do{
//循环体
System.out.println("抄课文:"+num);
//累加器
num++;
}while(num<=0);//循环条件
System.out.println("============while");
//1.初始化 创建初始化变量
int num1=1;
//2.循环条件
while(num1<=0){
//3.循环体
System.out.println("抄课文"+num1);
//4.每抄完一次,次数加1 累数器
num1++;
}
}
}
Demo6,do-whlie循环的例子,打印100以内4的倍数
public class Demo6 {
public static void main(String[] args) {
// 使用 do while循环打印100以内4的倍数
int i=4;
do{
//找4的倍数的整数
if(i%4==0){
System.out.println(i);
}
i++;
}while(i<=100);
}
}
Demo7,do-while例子,控制台输入数字当输入end时结束操作,计算输出最大值
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
// 不断要求用户输入一个数字(输入的都是正整数),
// 当用户输入end的时候,结束操作,同时计算出刚才输入所有数据的最大值
Scanner sc=new Scanner(System.in);
//定义一个变量接受最大值
int max=0;
boolean flag=true;
do{
System.out.println("输入一个正整数:");
String input=sc.next();
if(input.equals("end")){
//结束循环
flag=false;
}else{
//把input变成一个数字
int num=Integer.parseInt(input);
if(num>max){
max=num;//取出最大值
}
}
}while(flag);
System.out.println("最大值为:"+max);
}
}