Java全栈第一篇-流程控制语句

第一章 流程控制

1.1、为什么要实现流程控制?意义在哪里?

基本介绍:语句的执行顺序对程序执行的结果是有影响的,只有清楚语句的执行流程,我们才能正确的预估程序的运行结果,所以我们要采用控制语句来实现我们对语句执行顺序的把控。

1.2、顺序结构

基本介绍:顺序结构,也是最简单一种结构形式,即语句从上到下依次执行。

程序实例:

public class Squence { // 创建一个顺序结构的类
    public static void main(String[] args) {// 打印输出一段的顺序语句
        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
    }
}

第二章 三类语句

2.1、判断语句

2.1.1单if语句

基本格式:

if(关系表达式){
  语句体;       //如果关系表达式判断为true,则执行语句体。
}              //如果关系表达式判断为false,则执行其它语句。

使用情形:

单if语句在单独使用时通常用来判断较为简单的数值问题(注:对于单if语句来说,通俗的讲就是要么判断true执行语句体,要么判断为false不执行语句体,至多执行一个语句,也可以不执行)     ,单if语句也可以与其他语句结合使用,穿插进某些语句中,方便语句的判断或暂停(例如在循环语句中结合break或者continue结束循环。)

程序实例:

public class SentenceIf{
public static void main(String[] args) {
    //创建一个年龄变量,识别是否为未成年人。
    int age =19;
    if(age >=18 ){
      System.out.println("已经成年");
    }
    System.out.println("未成年");
   }
  }

2.1.2 if-else语句

基本格式:

 if(关系表达式) {
  语句体1;          //如果关系表达式判断为true,则执行语句体1
}else {
  语句体2;          //如果关系表达式判断为false,则执行语句体2
}

使用情形:

if-else语句通常针对的是二者选其一的问题,两个语句选一个执行,即必须执行一个语句,与其他语句结合与单if语句类似。

程序实例:

public class SentenceIfElse {
    public static void main(String[] args) {  //判断a是否为三者中的最值
        int a = 20;
        int b = 30;
        int c = 40;
        if (a > b && a>c) {
            System.out.println(a + "为最大值");
        }else if(a < b && a<c ) {
            System.out.println(a + "为最小值");
        }
    }
}

2.1.3扩展的if-else语句

基本格式:

 if (判断条件1) {
  语句1;                    //判断条件为true,则执行语句1,若为false,则进入下一个判断语句
} else if (判断条件2) {
  语句2;                    //判断条件为true,则执行语句2,若为false,则进入下一个判断语句
}
...
}else if (判断条件n) {
 语句n;                    //判断条件为true,则执行语句n,若为false,则进入下一个判断语句
} else {
  语句n+1;               //上述的判断条件都不成立,则直接执行语句n+1
}

使用情形:

扩展的if-else语句通常针对的是多种条件下的执行情况判断问题,做到n者选其一(例如:数学中的分段函数问题,考察学生成绩的等级问题)。与其他语句结合与单if语句类似。

程序实例:

public class Demo01test {

         public static void main(String[] args){
             //判断考试成绩的等级
             int score =100;
             if (score<0 || score>100){
                 System.out.println("你的成绩输入错误");
             }else if(score>=90 && score<=100){
                 System.out.println("优秀");
             }else if(score>=80 && score<=89){
                 System.out.println("好");
             }else if(score>=70 && score<=79){
                 System.out.println("良");
             }else if(score>=60 && score<=69){
                 System.out.println("及格");
             }else{
                 System.out.println("不及格");
             }
             }
        }

2.1.4 if与三元运算符的替换

三元运算符的基本格式回顾:

数据类型 变量名 = 布尔类型表达式?结果1:结果2;

通过if-else的判断形式很容易联想到三元运算符,两者可以替换,扩展if-else语句可以有更多结果。

程序实例:

//取两个数字当中的最大值
public class Demo06Max {
    public static void main(String[] args) {
        int a = 120;
        int b = 30;        

                // 使用三元运算符
         int max1 = a > b ? a : b;

        // 使用if语句
        int max2;
        if (a > b) {
            max2 = a;
        } else {
            max2 = b;
        }

        System.out.println("最大值:" + max2);
    }
}

2.2选择语句

2.2.1 switch语句

基本格式:

 switch(表达式) {
  case 常量值1:
    语句体1;
    break;
  case 常量值2:
    语句体2;
    break;
  ...
  default:
    语句体n+1;
    break;           //该break是可以省略的,但为了程序的规范性,最好加上
}

使用情形:

switch中所有的case是并列的,小括号内的数值是被检测量,多种情况并列,选择值符合要求的那一个case,执行其下的语句体直到遇到了break或者整体结束为止。

注意事项:

(1)多个case后面的数值不可以重复。

(2)switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int     |   引用数据类型:String(字符串)、enum(枚举)        (警惕基本数据类型中没有long)

(3)case前后顺序可以颠倒,而且break语句还可以省略。

(4)如果两个相邻的case,上一个没有break但其值符合条件,switch执行上一个case的语句体后,不会管下一个case(直接穿透他),执行下一个case的语句体。

程序实例:

public class OneWeek {           //写一个输入数字可以判断星期几的程序
    public static void main(String[] args) {
        int num = 3;

        switch (num) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("数据不符合规范");
                break;
        }
    }
}

2.3 循环语句

2.3.1 for语句

基本格式:

for(初始化表达式(1); 布尔表达式(2); 步进表达式(4)){
         循环体(3)
}/*解释(1)负责完成循环变量初始化(初始化一次后,变量的值只会通过步进表达式发生改变)(2)负责判断是否满足循环条件,不满足则跳出循环(3)具体执行的语句(4)循环后,循环条件所涉及变量的变化情况   */

使用情形:

for语句是循环语句中最常使用的语句,因为去将三个表达式结合起来方便书写,不用将初始化语句提出来放在开头定义。还经常采用for循环去遍历数组内的每一个元素。

注意事项:

for循环的变量在小括号当中定义,只有循环内部才可以使用,for循环中如果定义了一个变量,那么这个变量还可以在for循环外再次被利用。

程序实例:

public class Sentencefor {          //求100以内所有偶数的和

    public static void main(String[] args) {
        int sum = 0;

                        for (int i = 2; i <= 100; i += 2) {
            sum = sum + i;
            System.out.println(sum);
        }          //这里并不一定要采用2开头,用1开头记得再采用if函数区分奇偶
        System.out.println(sum);
    }

}

2.3.2while语句

基本格式:

初始化表达式;
  while(布尔表达式){
    循环体;
    步进表达式;
}

使用情形:

while语句常用先判断后循环的程序中。

注意事项:

(1)while语句由于初始化表达式处于循环之外,所以while语句之后不能再次给原初始化表达式的变量进行赋值,但可以直接调用。

(2)已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

程序实例:

public class SentenceWhile {
    public static void main(String[] args) {
        int i = 1;    // 初始化语句

        while (i <= 10) { //  条件判断
            System.out.println("妖魔鬼怪快离开" );   // 循环体
            i++;           // 步进语句
        }
    }
}

2.3.3 do-while语句

基本格式:

初始化表达式;
    do{
    循环体;
    步进表达式;
}while(布尔表达式);

使用情形:

do-while语句多使用于先执行后判断的程序中。

注意事项:

(1)while语句由于初始化表达式处于循环之外,所以while语句之后不能再次给原初始化表达式的变量进行赋值,但可以直接调用。

(2)do-while无论在什么样的条件下,都至少循环一次,但for循环和while循环可能会执行0次。

程序实例:

public class Demo11DoWhile {
    public static void main(String[] args) {
        int i = 1;       //  初始化语句

           do {
            System.out.println("妖魔鬼怪快离开" );  // 循环体
            i++;     //步进语句
        } while (i <= 10);   // 条件判断
    }
}

2.4 跳出循环语句

2.4.1 break语句

基本介绍:

break语句的作用是跳出一整个大的循环。

使用场景:

(1)在选择结构switch语句中。

(2)在循环语句中。

程序实例:(见于switch语句中)

2.4.2 continue语句

基本介绍:

结束本次循环,继续下一次的循环。

使用场景:

多见于循环语句中。

程序实例:

public static void main(String[] args) {
    for (int i = 1; i <= 10; i++) {
        //不打印第2次javanb
        if(i == 2){
          continue;
        }
        System.out.println("javanb"+i);//i用于查看次数
    }
}

3、扩展知识点

3.1死循环

基本介绍:

也就是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。  (注:c语言可不能这么干,非人为条件下可能会导致内存占满)

使用情形(人为):

例如:我们需要读取用户输入的输入,但是用户输入多少数据我们并不清楚,也只能使用死循环,当用户不想输入数据了,就可以结束循环了,如何去结束一个死循环呢,就需要使用到跳出语句了。

3.2嵌套循环

基本介绍:

一个循环的循环体是另外一个循环(套娃效应)。

使用场景:

(1)想做出一个矩阵。

(2)想做出某种图案。

(3)........

程序实例:

public class ForPractice2 {
    public static void main(String[] args) {
        for(int x=0;x<10;x++){
            for(int y=0;y<=x;y++){
              System.out.print("*");
            }
            System.out.println();
        }
        //在这里打印出正三角形 
//测试结果
*
**
***
****
*****
******
*******
********
*********
**********

原文地址:https://www.cnblogs.com/MurasameLory-chenyulong/p/12578438.html

时间: 2024-08-30 05:23:40

Java全栈第一篇-流程控制语句的相关文章

2019年java全栈工程师学习大全

我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临的问题.?我当时经常胡子眉毛一把抓,那会学习资料倒是不缺,学校图书馆啥都有,就是无从下手,后来有高人指导之后,进步就很快了. 精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,如果非要整个争个高下,我觉得没有必要. 自己喜欢的,才是最好的,我读书的时候就接过几百块钱的小活,没几个钱,要是跟人合作更没有赚头了,所以后来我一直在尝试全栈的路线,也一直在这条路上努力. 专精于某一方面

java 运算符 数据类型的引用 流程控制语句

赋值运算符= 赋值+=加后赋值-=减后赋值*=乘后赋值/=除后赋值%=取余后赋值a+=2 类似于a=a+2 其他一样 比较运算符==等于!=不等于<小于>大于<=小于等于>=大于等于 逻辑运算符& 与| 或^异或!非&&短路与||短路非短路与&&:参与运算的两边数据,有false,则运算结果为false:短路或||:参与运算的两边数据,有true,则运算结果为true:逻辑非! : 参与运算的数据,原先是true则变成false,原先是fal

Java全栈程序员之02:Ubuntu下Java环境安装、配置、测试

在上文讲完之后,我们手里的ubuntu只能算是一个上网机,什么也干不了,本篇我们将折腾它为开发机. 这里,我们这里假定你对linux体系是初级选手,所以本篇会讲的啰嗦一点,高手就出门左转吧. 1.安装 首先我们确定下我们安装的Ubuntu系统是否已经安装了java环境. 进入终端,敲入命令su,进入root模式(当然也可以省掉这一步),敲入命令java -version.如果看到这个界面,说明尚未安装Java环境, Ps:我们的课程中曾经讲过如何删除一个老的jdk,这里就略过不讲了. 继而,让我

获取缓冲区内容与将缓冲区内容返回—Java card开发第一篇

任务描述: 先上代码,然后再解析: package test; //import HelloWorld; import javacard.framework.APDU; import javacard.framework.Applet; import javacard.framework.ISO7816; import javacard.framework.ISOException; import javacard.framework.Util; public class HelloWorld

从零开始搭建Java开发环境第一篇:Java工程师必备软件大合集

1.JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前主流的JDK版本还是JAVA8,我在阿里用的也是Java8. JDK里已经包含了JRE也就是Java虚拟机和运行环境,无需另外下载安装. 2.MySQL 和 Navicat for MySQL 数据库一般还是用免费的MySQL,这里推荐8.0以上的版本,具体怎么安装可以看这篇文章:https://mp.csdn.

Java线程入门第一篇

Java线程的状态有6种 1.  初始(NEW):新创建了一个线程对象,但还没有调用start()方法. 2.  运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为"运行".(什么是就绪) 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法.该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready).(什么是运行)就绪状态的线程在获得CPU时间片后变为运行中状态(

java学习(第一篇)

Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式推出. Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版) JavaME(J2ME)(Java 2

Java全栈程序员之09:IDEA+GitHub

GitHub是源码托管站点,其依赖于Git这个源码管理工具来进行代码的托管.所以将我们的代码托管到GitHub之前,我们需要安装Git. 1.Git安装 可以通过输入git命令来确定是否在本机已经安装了Git,如下. 如果发现没有安装,在Ubuntu上可以通过命令:sudo apt-get install git来进行安装,如下: 安装成功,再打开idea,就能看到project的右键菜单中多了git这个菜单项. 2.代码添加到本地git仓库 创建本地仓库需要在菜单vcs下选择import in

“全栈2019”113篇Java基础学习资料及总结

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第一章:安装JDK11(Mac) "全栈2019"Java第二章:安装JDK11(Windows) "全栈2019"Java第三章:安装开发工具IntelliJ IDEA "全栈2019"Java第四章:创建第一个Java程序 "全栈2019