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("努力学习!");
}
}
}

Java语言基础(6)的更多相关文章

  1. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  2. java语言基础02

    一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...

  3. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  4. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. Java语言基础(二) Java关键字

    Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...

  7. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  8. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  9. Java语言基础(七)

    Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的  例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...

  10. Java语言基础(六)

    Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...

随机推荐

  1. c语言小端转大端

    //小端转大端 int little2big(int le) { | (le & | (le & | (le >> ) & 0xff; } //大端转小端 int ...

  2. Java多线程(1):3种常用的实现多线程类的方法

    (1) 继承java.lang.Thread类(Thread也实现了Runnable接口) 继承Thread类的方法是比较常用的一种,如果说你只是想起一条线程.没有什么其它特殊的要求,那么可以使用Th ...

  3. SQLSERVER去除某一列的重复值并显示所有数据\DISTINCT去重\ISNULL()求SUM()\NOT EXISTS的使用

    进入正题,准备我们的测试数据 1.我们要筛选的数据为去除 GX 列的重复项 并将所有数据展示出来,如图所示: ' 2.这种情况下我们是不可以使用DISTINCT来去重的,我们可以来尝试一下: 首先,单 ...

  4. Python3 Selenium自动化web测试 ==> 第三节 常用WebDriver API使用示例上(24个API)

    前置步骤: 安装selenium,chrome驱动,Python3.6 学习目的: 常见API的使用 涉及的API: step1: 访问一个网址 step2: 网页的前进和后退 step3: 刷新当前 ...

  5. Linux C/C++基础——变量作用域

    1.局部变量 局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,它有如下特点: 只有当执行到这句语句时,系统才为这个变量分配空间 在一个函数内定义,只 ...

  6. Foxmail:导入联系人

    打开“Foxmail”之后,如下图所示: 接下来,在左下角找到箭头指示的位置处,点击此处: 接下来,在邮箱的右上角找到如图所示的位置,鼠标点击此处: 点击之后,如下图所示,找到“导入”: 点击“导入& ...

  7. IDEA添加Lombok插件

    背景: 最近老大给了一个项目,是个雏.一看实体类就懵逼了,没有getter.setter和构造方法,导致service和controller全报红线,私有属性也没有注释.按规矩,心里先把这位前辈骂10 ...

  8. Javascript原型、构造函数、实例的关系

    1. 原型.构造函数.实例的关系 原型: 原型通过constructor指向构造函数,原型如果是自定义对象且没有明确将constructor指向构造函数,则原型的constructor指向函数的基类F ...

  9. FTL2

    ABSTACT 1.NAND flash memory  (主要缺点): (1)partial page updates (2)general-purpose cache usually does n ...

  10. 必须要掌握的linux目录路径知识

    一./etc/sysconfig/network-scripts/ifcfg-en33    配置网络地址及GW等. 下面图片是一些常用的linux命令: nmtui(setup)---------- ...