顺序结构:

  1. /*
  2. 流程控制语句:可以控制程序的执行流程。
  3.  
  4. 分类:
  5. 顺序结构
  6. 选择结构
  7. 循环结构
  8.  
  9. 顺序结构:
  10. 从上往下,依次执行。
  11. */
  12. class ShunXuJieGouDemo {
  13. public static void main(String[] args) {
  14. System.out.println("程序开始了");
  15.  
  16. System.out.println("我爱Java");
  17.  
  18. System.out.println("程序结束了");
  19. }
  20. }

if语句

  1. (1)三种格式
  2. A:格式1
  3. if(比较表达式) {
  4. 语句体;
  5. }
  6.  
  7. 执行流程:
  8. 判断比较表达式的值,看是true还是false
  9. 如果是true,就执行语句体
  10. 如果是false,就不执行语句体
  11.  
  12. B:格式2
  13. if(比较表达式) {
  14. 语句体1;
  15. }else {
  16. 语句体2;
  17. }
  18.  
  19. 执行流程:
  20. 判断比较表达式的值,看是true还是false
  21. 如果是true,就执行语句体1
  22. 如果是false,就执行语句体2
  23.  
  24. C:格式3
  25. if(比较表达式1) {
  26. 语句体1;
  27. }else if(比较表达式2){
  28. 语句体2;
  29. }
  30. ...
  31. else {
  32. 语句体n+1;
  33. }
  34.  
  35. 执行流程:
  36. 判断比较表达式1的值,看是true还是false
  37. 如果是true,就执行语句体1
  38. 如果是false,就继续判断比较表达式2的值,看是true还是false
  39. 如果是true,就执行语句体2
  40. 如果是false,就继续判断比较表达式3的值,看是true还是false
  41. ...
  42. 如果都不满足,就执行语句体n+1
  43. (2)注意事项
  44. A:比较表达式无论简单还是复杂,结果是boolean类型
  45. B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
  46. 建议:永远不要省略大括号。
  47. C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
  48. D:else后面如果没有if,是不会出现比较表达式的。
  49. E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
  50. (3)案例:
  51. A:比较两个数是否相等
  52. B:获取两个数中的最大值
  53. C:获取三个数中的最大值(if语句的嵌套)
  54. D:根据成绩输出对应的等级
  55. E:根据月份,输出对应的季节
  56. F:根据x计算对应y的值并输出
  57. (4)三元运算符和if语句第二种格式的关系
  58. 所有的三元运算符能够实现的,if语句的第二种格式都能实现。
  59. 反之不成立。
  60.  
  61. 如果if语句第二种格式控制的语句体是输出语句,就不可以。
  62. 因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。

if语句注意事项

  1. /*
  2. if语句的注意事项:
  3. A:比较表达式无论简单还是复杂,结果必须是boolean类型
  4. B:if语句控制的语句体如果是一条语句,大括号可以省略;
  5. 如果是多条语句,就不能省略。建议永远不要省略。
  6. C:一般来说:有左大括号就没有分号,有分号就没有左大括号
  7. */
  8. class IfDemo2 {
  9. public static void main(String[] args) {
  10. int x = 10;
  11.  
  12. if(x == 10) {
  13. System.out.println("x等于10");
  14. }
  15.  
  16. if((x > 5) || (x == 10)) {
  17. System.out.println("x大于或者等于10");
  18. }
  19. System.out.println("-------------------");
  20.  
  21. int a = 100;
  22.  
  23. /*
  24. if(a == 100) {
  25. System.out.println("a的值是100");
  26. }
  27. */
  28.  
  29. if(a != 100) {
  30. System.out.println("a的值是100");
  31. System.out.println("over");
  32. }
  33. System.out.println("-------------------");
  34.  
  35. int b = 100;
  36. if(b != 100); //这里其实是有语句体的,只不过是空语句体。
  37.  
  38. //代码块
  39. {
  40. System.out.println("b的值是100");
  41. System.out.println("over");
  42. }
  43. }
  44. }

三元运算符合if语句的区别

  1. /*
  2. 由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。
  3. 所以,我们就认为他们可以完成一样的操作。
  4. 但是,他们就一点区别没有吗?肯定不是。
  5.  
  6. 区别:
  7. 三元运算符实现的,都可以采用if语句实现。反之不成立。
  8.  
  9. 什么时候if语句实现不能用三元改进呢?
  10. 当if语句控制的操作是一个输出语句的时候就不能。
  11. 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
  12. */
  13. class IfDemo4 {
  14. public static void main(String[] args) {
  15. //获取两个数据的最大值
  16. int a = 10;
  17. int b = 20;
  18.  
  19. //用if语句实现
  20. int max1;
  21. if(a > b) {
  22. max1 = a;
  23. }else {
  24. max1 = b;
  25. }
  26. System.out.println("max1:"+max1);
  27.  
  28. //用三元改进
  29. int max2 = (a > b)? a: b;
  30. System.out.println("max2:"+max2);
  31. System.out.println("----------");
  32.  
  33. //判断一个数据是奇数还是偶数,并输出是奇数还是偶数
  34. int x = 100;
  35.  
  36. if(x%2 == 0) {
  37. System.out.println("100是一个偶数");
  38. }else {
  39. System.out.println("100是一个奇数");
  40. }
  41.  
  42. //用三元改进
  43. //这种改进是错误的。因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
  1.     //String s = (x%2 == 0)?System.out.println("100是一个偶数");:System.out.println("100是一个奇数");; } }

if语句需要考虑正确数据,错误数据,边界数据。

  1. /*
  2. if语句的格式3:
  3. if(比较表达式1) {
  4. 语句体1;
  5. }else if(比较表达式2) {
  6. 语句体2;
  7. }else if(比较表达式3) {
  8. 语句体3;
  9. }
  10. ...
  11. else {
  12. 语句体n+1;
  13. }
  14.  
  15. 执行流程:
  16. 首先计算比较表达式1看其返回值是true还是false,
  17. 如果是true,就执行语句体1,if语句结束。
  18. 如果是false,接着计算比较表达式2看其返回值是true还是false,
  19.  
  20. 如果是true,就执行语句体2,if语句结束。
  21. 如果是false,接着计算比较表达式3看其返回值是true还是false,
  22. ...
  23.  
  24. 如果都是false,就执行语句体n+1。
  25. */
  26. import java.util.Scanner;
  27.  
  28. class IfDemo5 {
  29. public static void main(String[] args) {
  30. //需求:键盘录入一个成绩,判断并输出成绩的等级。
  31. /*
  32. 90-100 优秀
  33. 80-90 好
  34. 70-80 良
  35. 60-70 及格
  36. 0-60 不及格
  37. */
  38.  
  39. //创建键盘录入对象
  40. Scanner sc = new Scanner(System.in);
  41.  
  42. //录入数据
  43. System.out.println("请输入你的考试成绩:");
  44. int score = sc.nextInt();
  45.  
  46. /*
  47. if(score>=90 && score<=100) {
  48. System.out.println("优秀");
  49. }else if(score>=80 && score<90) {
  50. System.out.println("好");
  51. }else if(score>=70 && score<80) {
  52. System.out.println("良");
  53. }else if(score>=60 && score<70) {
  54. System.out.println("及格");
  55. }else {
  56. System.out.println("不及格");
  57. }
  58. */
  59. //这样写已经满足我的基本要求,但是可能别人在使用的时候,不会按照你要求的数据给出了。
  60. //在做一个程序的基本测试的时候,一定要考虑这样的几个问题:
  61. //正确数据,错误数据,边界数据。
  62. //而我们刚才写的程序并没有处理错误数据,所以这个程序不是很好,要改进
  63. /*
  64. if(score>=90 && score<=100) {
  65. System.out.println("优秀");
  66. }else if(score>=80 && score<90) {
  67. System.out.println("好");
  68. }else if(score>=70 && score<80) {
  69. System.out.println("良");
  70. }else if(score>=60 && score<70) {
  71. System.out.println("及格");
  72. }else if(score>=0 && score<60){
  73. System.out.println("不及格");
  74. }else {
  75. System.out.println("你输入的成绩有误");
  76. }
  77. */
  78.  
  79. //另一种判断改进
  80. if(score<0 || score>100) {
  81. System.out.println("你输入的成绩有误");
  82. }else if(score>=90 && score<=100) {
  83. System.out.println("优秀");
  84. }else if(score>=80 && score<90) {
  85. System.out.println("好");
  86. }else if(score>=70 && score<80) {
  87. System.out.println("良");
  88. }else if(score>=60 && score<70) {
  89. System.out.println("及格");
  90. }else {
  91. System.out.println("不及格");
  92. }
  93. }
  94. }

03-03 java 顺序语句结构,选择结构if语句的更多相关文章

  1. 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构

    036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...

  2. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  3. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  4. Java 第三章 选择结构1

    选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...

  5. Java从零开始学七(选择结构)

    一. 程序的结构: 一般来说程序的结构包含有下面三种: 1.顺序结构 2.选择结构 3.循环结构 二.顺序结构 程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾

  6. 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...

  7. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

  8. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构

    035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...

  9. Java流程控制:选择结构

    一.选择结构 选择结构用于判断给定的条件,根据判断的结果来控制程序的流程. Java中选择结构的语法主要分为'if...else'语句和'switch...case'语句. Java中选择结构语句在语 ...

  10. java中的if-Switch选择结构

    字随笔走,笔随心走,随笔,随心.纯属个人学习分析总结,如有观者还请不啬领教. 1.if选择结构 什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构. 起语法是: if(判断条件){ 操作 ...

随机推荐

  1. Javascript php 异常捕获

    JavaScript try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块. JavaScript 语句 try 和 cat ...

  2. 执行sh脚本文件下载Github上的代码(雷霄骅的ffmpeg示例代码)

       今天想重新学习下ffmpeg,于是又来到了雷晓骅的博客,先下载了他的所有代码,这里记录一下在Windows上使用sh脚本下载GitHub上代码的过程. CygWin(最后并没有用到)    可以 ...

  3. Java泛型总结——吃透泛型开发

    什么是泛型 泛型是jdk5引入的类型机制,就是将类型参数化,它是早在1999年就制定的jsr14的实现. 泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比杂乱的使用objec ...

  4. caffe 笔记

    caffe模块: blob:caffe中数据的封装,用于layer上流动 layer:输入层.输出层.神经网络层的抽象 net:神经网络结构,将layer层叠关联起来 solver:定义神经网络训练和 ...

  5. 1, 2, and 4 symbols per clock中数据排列

    图片来自High-De€nitionMultimedia Interface (HDMI) IP Core User Guide 在自己处理的过程中很多细节的东西必须要清楚. 今天想自己从RGB数据中 ...

  6. 反射List<M> To DataTable|反射IList To DataTable|反射 DataTable To List<M>

    将DataTable集合反射获取 List<M> /// <summary> /// 根据DataTable集合反射获取 List<M> /// </summ ...

  7. leetcode-[3]Max Points on a Line

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line 思 ...

  8. nodejs mongodb 数据库封装DB类 -转

    使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关于mongoose的安装就是 npm install -g mongoose 这个DB类的数据库配置是 ...

  9. Codeforces Round #264 (Div. 2) D. Gargari and Permutations 多序列LIS+dp好题

    http://codeforces.com/contest/463/problem/D 求k个序列的最长公共子序列. k<=5 肯定 不能直接LCS 网上题解全是图论解法...我就来个dp的解法 ...

  10. Mining Twitter Data with Python

    目录 1.Collecting data 1.1 Register Your App 1.2 Accessing the Data 1.3 Streaming 2.Text Pre-processin ...