Java流程控制

图片来源

01 用户交互Scanner

public class demo01 {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scanner =new Scanner(System.in);System.out.println("请输入数据:"); //Hello World!// 判断用户有没有输入字符串if(scanner.hasNext()){//使用next方式接收,程序会等待用户输入完毕String str=scanner.nextLine();//hello World!String str = scanner.next();  //HelloSystem.out.println("输出的内容为"+str);}//凡是术语IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉scanner.close();}
}

02 Scanner进阶使用

import java.util.Scanner;public class demo02 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//从键盘接收数据;int i=0;float f=0.0f;System.out.println("请输入整数:");// 如果...那么if(scanner.hasNextInt()){i=scanner.nextInt();System.out.println("整数数据"+i);}else{System.out.println("输入的不是整数数据!");}System.out.println("请输入小数:");if(scanner.hasNextFloat()){f=scanner.nextFloat();System.out.println("小数数据"+f);}else{System.out.println("输入的不是小数数据!");}scanner.close();}
}
//编译结果
/*请输入整数:
10
整数数据10
请输入小数:
1.1
小数数据1.1*/
import java.util.Scanner;//输入多个数字,求其总和与平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
public class demo03 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//和double sum = 0;// 计算输入了多少个数字int m = 0;// 通过循环while (scanner.hasNextDouble()) {double x = scanner.nextDouble();m = m+1;   //m++sum = sum + x;}System.out.println(m + "个数的和为" + sum);System.out.println(m + "个数的平均数为" + (sum / m));scanner.close();}
}
//编译结果
/*10
20
30
40
x
4个数的和为100.0
4个数的平均数为25.0*/

03 顺序结构

04 if选择结构

if单分支结构

import java.util.Scanner;public class demo04 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入内容:");String s= scanner.nextLine();//equals:判断字符串是否相等if(s.equals("hello")) {System.out.println(s);}System.out.println("End");scanner.close();}
}
/*example:
请输入内容:
hello
hello
End*/

if双分支结构

public class demo05 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入成绩:");int score = scanner.nextInt();if(score>60){System.out.println("及格");}else{System.out.println("不及格");}scanner.close();}
}
/*例子:
请输入成绩:
34
不及格*/

if 多分支结构

import java.util.Scanner;
public class demo06 {public static void main(String[] args) {Scanner scanner =new Scanner(System.in);int score=scanner.nextInt();if(score==100){System.out.println("恭喜满分");}else if(score <100 && score >=90){System.out.println("A级");}else if(score <90 && score >=80){System.out.println("B级");}else if(score <80 && score >=70){System.out.println("C级");}else if(score <70 && score >=60){System.out.println("D级");}else if(score <60 && score >=0){System.out.println("不及格");}else {System.out.println("成绩不合法");}scanner.close();}
}

嵌套if结构


if语句至多有1个else语句,else语句在所有的else if 语句之后,if 语句可以有若干个else if 语句,他们必须在else语句之前,一旦其中一个else if 语句检测为true,其他的else if 以及else语句都将跳过执行

05 Switch选择结构

public class SwitchDemo01 {public static void main(String[] args) {//case 穿透 // switch 匹配一个具体的值char grade ='D';switch(grade){case 'A':System.out.println("优秀");break;case 'B':System.out.println("良好");break;case 'C':System.out.println("及格");break;case 'D':System.out.println("再接再厉");break;case 'E':System.out.println("挂科");break;default:System.out.println("未知等级");}}
}
public class SwitchDemo02 {public static void main(String[] args) {String name="秦疆";//JDK7的新特性,表达式结果可以是字符串!!!//字符的本质还是数字//反编译 java---class(字节码文件)---反编译(IDEA)switch (name){case "西可分":System.out.println("秦疆");break;case "狂神":System.out.println("狂神");break;default:System.out.println("错误");}}
}

06 while循环详解

while 循环

public class DoWhileDemo01 {public static void main(String[] args) {//计算1+2+3+...+100=?int i=0;int sum=0;while(i<=100){sum=sum+i;i++;}System.out.println(sum); //5050}
}

do while 循环

public class DoWhileDemo01 {public static void main(String[] args) {//计算1+2+3+...+100=?int i=0;int sum=0;do{sum=sum+i;i++;}while(i<=100);System.out.println(sum); //5050
}

do while 和 while 的区别

while判断后再执行,do while是先执行后判断;
Do…while 总是保证循环体会至少被执行一次!这是他们的主要差别。

public class DoWhileDemo02 {public static void main(String[] args) {int a=0;while(a<0){System.out.println(a);a++;}System.out.println("======");do{System.out.println(a);a++;}while(a<0);}
}
/*
result:
======
0*/

07 for循环详解

public class ForDemo01 {public static void main(String[] args) {int a=1; //初始化条件while (a <= 100) {//条件判断System.out.println(a);//循环体a+=2;//迭代}System.out.println("while循环结束!");//初始化,条件判断,迭代for (int i = 0; i < 100; i++) {System.out.println(i);}System.out.println("for循环结束!");}
}

关于for循环有以下几点说明:

最先执行初始化布置。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后,检测布尔表达式的值。如果为true,循环体被执行;如果为false,循环终止,开始执行循环体后面的语句。

执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。

再次检测布尔表达式,循环执行上面的过程。

for(;;){}//死循环
//练习1:计算0到100之间的奇数和偶数的和
public class ForDemo02 {public static void main(String[] args) {int oddSum=0;int evenSum=0;for(int i=0;i<=100;i++){if(i%2!=0){//奇数oddSum+=i;}else{//偶数evenSum+=i;}}System.out.println("奇数的和:"+oddSum);System.out.println("偶数的和:"+evenSum);}
}
 //练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
public class ForDemo03 {public static void main(String[] args) {for (int i = 0; i <= 1000; i++) {if(i%5==0){System.out.print(i+"\t");}if(i%(5*3)==0){System.out.println();//System.out.println("\n");}}//println 输出完会换行//print 输出完不会换行}
}
//打印九九乘法表/*        1.先打印第一列 2.把固定的1再用一个循环抱起来 3.去掉重复项,j<=i 4.调整样式*/
public class ForDemo04 {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+"\t\t");}System.out.println("\n");}}
}

08 增强for循环

public class ForDemo05 {public static void main(String[] args) {int[] numbers={10,20,30,40,50};for(int i=0;i<5;i++){System.out.println(numbers[i]);}System.out.println("-----------");for(int x:numbers){System.out.println(x);}}
}
//结果
/*10
20
30
40
50
-----------
10
20
30
40
50*/

09 break、continue、goto

  • break在任何循环语句的主题部分,均可用break控制循环的流程。 break用于强行退出循环不执行循环中剩余的语句。(break语句也在switch语句中使用)

  • continue语句用在循环语句体中,用于终止某次循环过程,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

     public class ContinueDemo {public static void main(String[] args) {int i=0;while(i<100){i++;if(i%10==0) {System.out.println("a");continue;}System.out.print(i);
    //break在任何循环语句的主体部分,均可用break控制循环的流程。
    //break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句使用)
    /*continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次循环是否执行的判定。*/}}
    }
    /*result:
    123456789a
    111213141516171819a
    212223242526272829a
    313233343536373839a
    414243444546474849a
    515253545556575859a
    616263646566676869a
    717273747576777879a
    818283848586878889a
    919293949596979899a
    */
    

    10 打印三角形及Debug

    //打印三角形 5行
    public class TestDemo {public static void main(String[] args) {for (int i = 1; i <= 5; i++) {for(int j=5;j>=i;j--){System.out.print(" ");}for(int j=1;j<=i;j++){System.out.print("*");}for(int j=1;j<i;j++){System.out.print("*");}System.out.println();}}
    }
    /*
    结果****************
    */
    

JAVA流程控制(2021-07-11)相关推荐

  1. 《快乐编程大本营》java语言训练班-第4课:java流程控制

    <快乐编程大本营>java语言训练班-第4课:java流程控制 第1节. 顺序执行语句 第2节. 条件分支语句:if条件语句 第3节. 条件分支语句:switch 条件语句 第4节. 条件 ...

  2. java 流程控制_Java流程控制

    依旧是用Xmind来显示Java流程控制的大致内容: ---------------------------------------------------- Variable举例: public c ...

  3. 【四】Java流程控制

    Java流程控制 1. 顺序结构 2. 选择结构 3. 循环结构 `while` 语法 `do-while`循环语法: `for` 循环 三种循环结构的应用场景 `break` 跳出循环 `conti ...

  4. 狂神说学习笔记 Java流程控制

    目录 Java流程控制 1.用户交互Scanner Scanner对象 next() nextLine(): 2.顺序结构 3.选择结构 4.循环结构 5.Break & Continue 6 ...

  5. Java流程控制01 用户交互Scanner

    Java流程控制1 用户交互Scanner 1. Scanner对象 2. 测试代码 3. 比较 4. Scanner进阶使用 1. Scanner对象 1) 在Java中可以通过Scanner类来获 ...

  6. Java流程控制相关知识(四)

    Java流程控制 1.用户交互Scanner Scanner对象 Java提供了一个工具,我们可以获取用户的输入.java.util.Scanner 是 Java5 的新特征,我们可以通过Scanne ...

  7. Java流程控制(一)

    Java流程控制(一) 用户交互Scanner · java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入. · 基本语法: Scanner s = ne ...

  8. java 流程控制_《Java基础知识》Java流程控制

    流程控制分类: 一.顺序结构 如果没有流程控制(即没有分支结构和循环结构),Java方法里面的语句是一个顺序执行流,从上到下依次执行每条语句. 二.分支结构 1.if语句 if语句使用布尔表达式或者布 ...

  9. java流程控制both_java web面试题

    [1.jsp和servlet的区别.共同点.各自应用的范围??JSP是Servlet技术的扩展,本质上就是Servlet的简易方式.JSP编译后是"类servlet".Servle ...

最新文章

  1. JS实现的表单验证和强大的×××
  2. 界面编程与视图(View)组件
  3. 【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
  4. 二叉树的先序/中序/后序/层次遍历
  5. php 批量压缩png,利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)...
  6. python多进程写入mysql_Python实现 多进程导入CSV数据到 MySQL
  7. rxvt_为什么我使用rxvt作为终端
  8. NB-IoT的DRX、eDRX、PSM三个模式怎么用?
  9. How browsers work
  10. maven下设置默认jdk版本和maven项目构建默认使用jdk版本
  11. WAP 手机及开发技术调研(转)
  12. redhat linux防火墙状态,Redhat下配置iptables防火墙
  13. matlab灰色图像和彩色图像的均值、标准差和熵
  14. 大数据第一季--Hadoop(day4)-徐培成-专题视频课程
  15. Python 云标签——玩点浪漫!
  16. 哈佛,斯坦福和麻省理工学院等投资加密货币基金
  17. “远程主机强迫关闭了一个现有连接”问题的解决方法之一
  18. Python学习摘录(自用)
  19. iClap:产品经理再忙也要看《琅琊榜》
  20. 根据经纬度计算两地距离

热门文章

  1. ClearLinux安装教程
  2. OFweek 2016中国工业互联网技术及应用研讨会成功举办
  3. dat图片 电脑端微信_PC端微信下的dat 文件在线解码还原成为图片
  4. 云上实训大数据查资料一些技巧
  5. [销售易]创建订单明细 报错,没有提示具体的错误信息
  6. Python GUI 输入框的使用方法
  7. 为什么出现新零售 如何做好新零售?
  8. 2015,我的转折点
  9. 三国杀ol服务器维护时间 11月6日,《三国杀OL》停运通知
  10. 多目标遗传算法电力系统系统分布式电源选址定容