黑马程序员——Java基础语法(二)---流程控制

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

  本文主要介绍java基础语法中的流程控制,流程控制是我们写出灵活代码的基础。常见的流程控制主要有四类:判断结构、选择结构、循环结构、其他控制结构

  一、判断结构

    判断结构的标志是if语句,if语句主要有三种表现形式:

    1、if(条件表达式)

      {

        执行语句

      }   

      注意:

      1、如果if语句中只有一条语句,那么可以不写大括号。不过初学者一定要写括号,以免出错。

      2、如果if语句没写大括号,if就只能控制离它最近的单条语句。

   

    2、if(条件表达式)

      {

        执行语句;

      }

      else

      {

        执行语句;

      }

      三元运算符是if-else格式的简写,但是三元运算符是一个表达式,是要产生具体的结果的,所以在if-else结构有具体的结果的时候可以简写为三元运算符。

    3、if(条件表达式)

      {

        执行语句;

      }

      else if(条件表达式)

      {

        执行语句;

      }

      else

      {

        执行语句;

      } 

  我们可以写个程序加深对于if-else结构的理解:根据用于指定月份,打印该月份所属的季节。

 1 class OperatorDemo
 2 {
 3     public static void main(String[] args)
 4     {
 5          IfDemo(9);
 6      }
 7     static void IfDemo(int month)
 8     {
 9         //一年有四季,春3-5,夏6-8,秋9-11,冬12-2
10         if(month<1||month>12)
11             System.out.println("没有"+month+"月,这个月份!");
12         else if (month>=3&&month<=5)
13         {
14             System.out.println(+month+"月是春季!");
15         }
16         else if (month>=6&&month<=8)
17         {
18             System.out.println(+month+"月是夏季!");
19         }
20         else if (month>=9&&month<=11)
21         {
22             System.out.println(+month+"月是秋季!");
23         }
24         else
25         {
26             System.out.println(+month+"月是冬季!");
27         }
28     }
29 }

  输出的结果为:

  

   

  二、判断结构

  判断结构的标志是switch

    格式:

    switch(表达式)

    {

      case 取值1:

        执行语句;

        break;     

      case 取值1:

        执行语句;

        break;

      default :

        执行语句;

        break;

      }

    switch语句的特点:
      1、switch语句选择的类型只有四种:byte,short,int,char。

      2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。

      3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。

      4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

      5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。

    也用switch演示一下刚刚的月份得到季节的题目吧:

 1 static void switchDemo(int month)
 2     {
 3         switch(month)
 4         {
 5             case 3:
 6             case 4:
 7             case 5:
 8                 System.out.println(+month+"月是春季!");
 9                 break;
10             case 6:
11             case 7:
12             case 8:
13                 System.out.println(+month+"月是夏季!");
14                 break;
15             case 9:
16             case 10:
17             case 11:
18                 System.out.println(+month+"月是秋季!");
19                 break;
20             case 12:
21             case 1:
22             case 2:
23                 System.out.println(+month+"月是冬季!");
24                 break;
25             default :
26                 System.out.println("没有"+month+"月,这个月份!");
27                 break;
28         }
29     }

  定义的一个静态函数来实现的,为了在主函数中输出方便,输出的结果为:

  

  对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对较高

三、循环结构

  循环结构的关键词有:while、do-while、for;

  1、while语句的结构:

    while(条件表达式)

    {

      执行语句;

    }

    一定要注意不要写while(true);这样的语句,后面的分号就是循环体,代表不执行任何语句,这个循环就成了死循环,后面的{执行语句;}就变成了局部代码块

  2、do-while语句的格式:

    do

    {

      执行语句;

    }while(条件表达式)

    dowhile语句的特点:无论条件是否满足,循环体至少执行一次。while如果条件不满足,循环体一次都不会执行。

  3、for语句的格式;

    for(初始化表达式;循环条件表达式;循环后操作表达式)

    {

      执行语句;

    }

    for里面的三个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

  接下来介绍一种比较复杂的for循环,就是for循环嵌套。

  简单来说就是在循环中还要执行循环操作。在生活中很常见,比如9*9乘法口诀,两个乘数都分别从1增加到9,就需要双重循环来操作。下面演示一下乘法口诀标的代码:

 1 static void doubleForDemo(int number)
 2     {
 3         for(int i=1;i<=number;i++)
 4         {
 5             //j<i作为循环判断条件可以控制每次循环要操作的数
 6             for(int j=1;j<=i;j++)
 7             {
 8                 System.out.print(j+"*"+i+"="+j*i+"\t");
 9             }
10             //每次循环一轮后打印回车换行
11             System.out.println();
12         }
13     }

  代码中的"\t"是一个转义字符,也就是制表符。还有其他的一些转义字符:\n:回车,\b:退格,\r:回车符。

  输出结果为:

  

四、其他控制语句

  break(跳出),continue(继续)。 

  break语句应用于跳出当前循环;

  continue语句是结束本次循环继续下次循环。

  注意:这两个语句离开循环的应用范围,存在是没有意义的。

  这个两个语句单独存在,下面都不可以有语句,因为执行不到,编译会出错!

  我们可以通过一个小练习来熟悉一下break和continue。

 1 //求10以内的前三个奇数。
 2     static void breakAndContinue()
 3     {
 4         int count=0;
 5         for(int i=0;i<10;i++)
 6         {
 7             if(i%2==0)
 8                 continue;//如果是偶数则结束本次循环继续下次循环。
 9             if(count++>=3)//如果是奇数则判断是第几次,如果超过第三个奇数则终止循环
10                 break;
11             System.out.println(i);
12         }
13     }

结果如下:

  

流程控制的总结到这里就结束了,要想写好代码,流程控制也是必须要牢牢掌握的。

继续努力加油!为了明天更好的自己。

时间: 2024-10-10 23:38:07

黑马程序员——Java基础语法(二)---流程控制的相关文章

黑马程序员——Java基础语法(一) --- 关键字、标识符、注释、常量和变量、运算符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 本篇博文主要总结java的基础语法,主要的内容包括:关键字.标识符.注释.常量和变量.运算符几部分. 一.关键字 关键字是被Java语言赋予了特殊含义的单词.关键字中所有的字母都是小写. java中的关键字主要包括如下几部分: 1.用于定

黑马程序员——Java基础语法---流程控制与函数

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------       程序控制流 一.程序流程控制 也称语句,主要有:判断结构.选择结构和循环结构. 1. 判断结构——if if语句的三种格式: a)  if(条件表达式) { 执行语句: } b)  if(条件表达式) { 执行语句: } el

黑马程序员---java基础语法--流程控制与函数

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一.程序流程控制 也称语句,主要有:判断结构.选择结构和循环结构. 1. 判断结构——if if语句的三种格式: a)  if(条件表达式) { 执行语句: } b)  if(条件表达式) { 执行语句: } else { 执行语句: } c)  if(条件表达式) { 执行语句: } else  if (条件表达式) { 执行语句 } …… else { 执行语句: } if

黑马程序员——Java基础语法(一)

Java语言的基础组成  1. 关键字 关键字的概念:被Java赋予了特殊涵义的单词. 特点:体现上都是英文小写. Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间. 1. 用于定义数据类型的关键字 基本数据类型(四类八种): 整数类型:byte  short  int  long   浮点类型:float  double 字符类型:char                            布尔型:boolean byte:取值范围-2^

黑马程序员---java基础语法---关键字,常量,变量,运算符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 第一讲:java语言基础 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字  class interface byte short int  long  float

黑马程序员——Java基础---IO(二)---IO字节流、流操作规律

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------   字节流 一.概述 1.字节流和字符流的基本操作是相同的,但字节流还可以操作其他媒体文件. 2.由于媒体文件数据中都是以字节存储的,所以,字节流对象可直接对媒体文件的数据写入到文件中,而可以不用再进行刷流动作. 3.读写字节流:Inpu

黑马程序员——Java基础语法(二)语法结构

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ Java 中的语法结构有四种 顺序结构:顾名思义,就是按照顺序执行语句 判断结构:if  switch 选择结构: 循环结构:for  while   do while 1. if 结构 if语句有三种结构. (1)if(条件表达式){执行语句;} (2)if(条件表达式){执行语句;} else{执行语句;} (3)if(条件表达式){执行语句;} else if(条件表达式

黑马程序员——Java基础语法(三)---数组

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本篇博文主要的内容是java语法的第三部分--数组,数组同一种类型数据的集合.其实,数组就是一个容器.数组可以自动给数组中的元素从0开始编号,方便操作这些元素. 一.数组的定义 数组的格式一:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];如:int[] arr=new int[5]; 数组定义的格式二:元素类型[]数组名=new元素类型[]{元素,元素,……

黑马程序员——Java基础语法---数组

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ]数组名 = new 元素类型 [元素