1 while循环

  案例:Demo1

    1+2+3+4+5+...+100 = ?
    首先定义一个变量sum,用来保存累加之和,int sum=0
    第1次:sum = sum + 1
    第2次: sum = sum + 2
    第3次:sum = sum + 3
    第4次:sum = sum + 4
    ...
    第100次:sum = sum + 100
    公式: sum = sum + i(i的取值范围1~100)
      int i=1;
      while(i<=100){
        sum = sum + i;
        i++;
      }
  案例:Demo1,求出1~100之间所有的整数累加之和

public class Demo1 {
public static void main(String[] args) {
//1 求出1~100之间的每一个整数
int i=1,sum=0;
while(i<=100){
//2 累加求和的公式:sum = sum + i
sum = sum + i;
i++;
}
System.out.println("累加之和:"+sum);
}
} //Demo2:求出100~200之间所有整数累加之和
public class Demo2 {
public static void main(String[] args) {
int i=100,sum=0;
while(i<=200){
sum=sum+i;
i++;
}
System.out.println("累加之和:"+sum);
}
} public class Demo3 {
//Demo3:求出100~500之间所有的奇数累加之和
public static void main(String[] args) {
//1 100~500之间每一个整数
int i=100,sum=0;
while(i<=500){
//2 过滤出其中所有的奇数
if(i%2!=0){//奇数
//3 累加求和:sum = sum + i
sum = sum + i;
}
i++;
}
System.out.println(sum);
}
} //Demo4: 使用while循环,分别求出1~200之间所有的
//奇数累加之和,和所有的偶数累加之和
public class Demo4 {
public static void main(String[] args) {
//1 求出1~200之间的每一个整数
int i=1,sum1=0,sum2=0;
//sum1保存奇数累加之和,sum2保存偶数累加之和
while(i<=200){
//2 分别过滤出其中的奇数和偶数
if(i%2!=0){//奇数
//3 累加之和:sum=sum+i
sum1 = sum1+i;
}else{//偶数
sum2 = sum2+i;
}
i++;
}
System.out.println("奇数累加之和:"+sum1);
System.out.println("偶数累加之和:"+sum2);
}
}

2 do-while循环
  1)格式:
    do{
      循环体语句
    }while(表达式);
  2)语法规则:首先执行循环体语句一次,然后判断表达式,如果表达式为true,再执行一次循环体语句,然后再来判断表达式,如果表达式还为true,继续再执行循环体语句一次...直到表达式为false,退出do-while循环。
  3)do-while循环特点:不管循环条件(表达式)true还是false,循环体语句至少执行一次。
    案例:Demo5

public class Demo5 {
//do-while循环:
//1 格式: do{
// 循环体语句
// }while(表达式);
//2 语法规则:首先执行一次循环体语句,然后判断表达
//式,如果表达式为true,执行一次循环体语句,然后
//再来判断表达式,如果表达式还为true,继续再执行
//一次循环体语句...直到表达式为false,退出do-while
//循环
//使用do-while打印10行天气很好
public static void main(String[] args) {
int i=1;
do{
System.out.println("天气很好");
i++;
}while(i<=10);
}
} //Demo6:使用do-while循环,输出100~200之间的
//每一个整数
public class Demo6 {
public static void main(String[] args) {
int i=100;
do{
System.out.println(i);
i++;
}while(i<=200);
}
} public class Demo7 {
//使用do-while,求出1~200之间所有奇数和偶数,并
//输出
public static void main(String[] args) {
int i=1;
do{
if(i%2!=0){//奇数
System.out.println(i+"是奇数");
}else{//偶数
System.out.println(i+"是偶数");
}
i++;
}while(i<=200);
}
} public class Demo8 {
//do-while的特点:不管循环的条件true还是false,
//循环体语句至少执行一次。
public static void main(String[] args) {
do{
System.out.println("至少执行一次!");
}while(false);
}
}

  4)do-while死循环,循环的条件永远都为true,循环语句会被一直执行。
    do{
      循环体语句
    }while(true);
    案例:Demo9

public class Demo9 {
public static void main(String[] args) {
do{
System.out.println("天长地久有时尽," +
"此恨绵绵无绝期。");
}while(1>0);
}
} public class Demo10 {
//使用do-while,求出200~500之间的所有奇数(2种方法)
public static void main(String[] args) {
//方法1
int i=200;
do{
if(i%2!=0){
System.out.println(i+"是奇数");
}
i++;
}while(i<=500);
//方法2
//201,203,205...499
//定义控制循环次数的变量k,k的初值201,条件k<500,
//增量k=k+2
System.out.println();//换行
System.out.println();
System.out.println();
int k=201;
do{
System.out.println(k);
k=k+2;
}while(k<=500);
}
} public class Demo11 {
//私用do-while循环,求出100~200之间所有整数累加
//之和
public static void main(String[] args) {
int i=100,sum=0;
do{
sum = sum + i;
i++;
}while(i<=200);
System.out.println("累加之和:"+sum);
}
} public class Demo12 {
//使用do-while,求出1~500之间所有偶数累加之和
//(2种方法)
public static void main(String[] args) {
//方法1
int i=1,sum=0;
do{
if(i%2==0){//偶数
sum = sum + i;
}
i++;
}while(i<=500);
System.out.println("偶数累加之和:"+sum);
//方法2
//2,4,6,8,10...500
//控制循环次数变量k的初值2,条件k<=500,增量
//k=k+2
int k=2,sum2=0;
do{
sum2 = sum2 + k;
k=k+2;
}while(k<=500);
System.out.println("偶数累加之和:"+sum2);
}
}

3 for循环

  企业中使用最为广泛的循环语句
  1)格式:

    for(表达式1;表达式2;表达式3){
      循环体语句
    }
    eg:
      for(int i=1;i<=5;i++){
        System.out.println("今天");
      }
      表达式1 表达式2 循环体语句 表达式3
      第1次循环: i=1 i<=5(true) 今天 i++(i:2)
      第2次循环: i<=5(true) 今天 i++(i:3)
      第3次循环: i<=5(true) 今天 i++(i:4)
      第4次循环: i<=5(true) 今天 i++(i:5)
      第5次循环: i<=5(true) 今天 i++(i:6)
      第6次循环: i<=5(false) 退出for循环
  2)语法规则:
    第1次循环:
    表达式1-->表达式2-->循环体语句-->表达式3
    从第2次循环开始:
    表达式2-->循环体语句-->表达式3
    只有当表达式2为false,退出for循环
    案例:Demo13

public class Demo13 {
//for循环:
//1 格式:for(表达式1;表达式2;表达式3){
// 循环体语句
// }
//2 语法规则:
//第1次循环:
//表达式1-->表达式2-->循环体语句-->表达式3
//从第2次循环开始:
// 表达式2-->循环体语句-->表达式3
//只要表达式2为true,执行循环体语句,一旦表达式2
//为false,直接退出for循环。
//使用for输出10行******
public static void main(String[] args) {
for(int i=1;i<=10;i++){
System.out.println("******");
}
}
} //Demo14:使用for循环,输出200~1000之间每一个
//整数
public class Demo14 {
public static void main(String[] args) {
for(int i=200;i<=1000;i++){
System.out.println(i);
}
}
} //Demo15:使用for循环,求出1~200之间所有奇数和
//偶数并输出。
public class Demo15 {
public static void main(String[] args) {
for(int i=1;i<=200;i++){
if(i%2!=0){//奇数
System.out.println(i+"是奇数");
}else{//i%2==0 偶数
System.out.println(i+"是偶数");
}
}
}
} //Demo16:使用for循环,求出公元1000~2017年之间
//闰年和非闰年
public class Demo16 {
public static void main(String[] args) {
for(int i=1000;i<=2017;i++){
if((i%4==0&&i%100!=0)||i%400==0){
System.out.println(i+"是闰年");
}else{
System.out.println(i+"不是闰年");
}
}
}
} import java.util.Scanner;
public class Demo17 {
public static void main(String[] args) {
//1 创建Scanner对象
Scanner sc = new Scanner(System.in);
//2 定义变量year,接收输入的整数
System.out.println("请输入一个整数:");
int year = sc.nextInt();
//3 判断year是否大于等于1
if(year>=1){
//4 求出1~year之间所有的整数
for(int i=1;i<=year;i++){
//5 求出1~year之间闰年和非闰年
if((i%4==0&&i%100!=0)||i%400==0){
System.out.println(i+"是闰年");
}else{
System.out.println(i+"不是闰年");
}
}
}else{//year<1
System.out.println("输入错误");
} }
//从控制台输入一个整数作为年份year,求出1~year之间
//所有的闰年和非闰年
//要求:如果输入值year大于等于1,直接求出1~year
//之间所有闰年和非闰年,反之如果输入值year小于1,
//直接输出输入错误。
//分析:
//if(year>=1){
// for(int i=1;i<=year;i++){
// 闰年和非闰年
// }
//}else{//year<1
// 输入错误
//}
} public class Demo18 {
//使用for循环,求出1~200之间所有的奇数累加之和和
//所有的偶数累加之和。
public static void main(String[] args) {
int sum1=0,sum2=0;
//sum1保存奇数累加之和,sum2保存偶数累加之和
for(int i=1;i<=200;i++){
if(i%2!=0){//奇数
sum1 = sum1 + i;
}else{//偶数
sum2 = sum2 + i;
}
}
System.out.println("奇数累加之和:"+sum1);
System.out.println("偶数累加之和:"+sum2);
}
} import java.util.Scanner;
public class Demo19 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入任意的一个整数:");
int num = sc.nextInt();
if(num>=1){
int sum=0;
for(int i=1;i<=num;i=i+2){
sum = sum + i;
}
System.out.println("累加之和:"+sum);
/*
int sum = 0;
for(int i=1;i<=num;i++){
if(i%2!=0){//奇数
sum = sum + i;
}
}
System.out.println("累加之和:"+sum);
*/
}else{//num<1
System.out.println("输入错误");
}
}
//从控制台输入任意的一个整数num,求出1~num之间所有
//奇数的累加之和。
//要求:如果输入num>=1,求出1~num之间累加之和;反之
//如果输入num<1,输入错误
//if(num>=1){
// for(int i=1;i<=num;i++){
// if(i%2!=0){
// 累加之和
// }
// }
//}else{ //num<1
// 输入错误
//}
}

  3)for的死循环:表达式2永远都为true,循环体语句会被一直执行。
    for(;表达式2;){
      循环体语句
    }
    for(;;){//表达式2默认为true
      循环体语句
    }
    案例:Demo20

public class Demo20 {
public static void main(String[] args) {
for(;;){
System.out.println("努力学习!");
}
}
}

最新文章

  1. 利用SHELL脚本实现文件完整性检测程序(1.2版更新)
  2. linux内核学习之三 跟踪分析内核的启动过程
  3. 漂浮QQ
  4. .NET Expression Tree
  5. vagrant 错误记录
  6. 【转】android中最好的瀑布流控件PinterestLikeAdapterView
  7. Vue.js常见问题
  8. iOS 改变UITextField中光标颜色
  9. 获取Json对象的长度或计数
  10. 获取Excel部分数据并很据项目要求计算适宜性等级综合指数判断该地区的土壤适宜性
  11. 完整CentOS搭建OpenVPN服务详细教程
  12. js倒计时、计时开始
  13. Elasticsearch .net client NEST使用说明 2.x -更新版
  14. task打印执行结果
  15. 洛谷p1181 数列分段section I
  16. CSS一些样式以及注意
  17. string通过逗号分割不用split方法
  18. mysql中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据
  19. 为什么不应该使用ZooKeeper做服务发现
  20. 项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved 解决方法

热门文章

  1. ras 加密及解密
  2. Script Form商业报表程序设计
  3. Python简单网络爬虫实战—下载论文名称,作者信息(下)
  4. Servlet中@WebServlet(&quot;XXXX&quot;)注解无效,访问servlet报404错误
  5. ORACLE 正则匹配
  6. 【Python开发】增强的格式化字符串format函数
  7. 使用PowerShell 自动安装VC++补丁
  8. Hive怎么使用远程连接
  9. windows下命令行利器---Cmder(安装,中文乱码,配置右键菜单)
  10. ABC143F Distinct Numbers