Java中的分支语句:

if语句:

if语句的四种写法:

  (1)

  if(表达式_布尔值) {
  ...
  }

  (2)

  if(表达式_布尔值) {
  ...
  } else {
  ...
  }

  (3)

  if(表达式_布尔值) {
  ...
  } else if(表达式_布尔值) {
  ...
  }
  (4)
  if(表达式_布尔值) {
  ...
  } else if(表达式_布尔值) {
  ...
  } else {
  ...
  }

if条件语句是一个重要的编程语句,它用于告诉程序在某个条件成立的情况下执行某段程序,而在另一种情况下执行另外的语句。
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。if条件语句可分为简单的if条件语句、if…else语句和if…else if多分支语句。

if语句例子:

public class GetTerm { // 创建主类
    public static void main(String args[]) { // 主方法
        int x = 20; // 声明int型局部变量
        if (x > 30) { // 判断变量x是否大于30
            System.out.println("a的值大于30"); // 条件成立的输出信息
        } else if (x > 10) { // 判断变量x是否大于10
            System.out.println("a的值大于10,但小于30"); // 条件成立的输出信息
        } else if (x > 0) { // 判断变量x是否大于0
            System.out.println("a的值大于0,但小于10"); // 条件成立的输出信息
        } else { // 当以上条件都不成立时,执行的语句块
            System.out.println("a的值小于0"); // 输出信息
        }
    }
}

switch语句:

int a = 2;
switch(a) {
    case 1
    ...
    break;
    case 3
    ...
    break;
    case 5
    ...
    break;

    default
    ...
}

switch语句中表达式的值必须是整型或字符型,常量值1~常量值n必须也是整型或字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的变量值相同,则执行该case语句后的若干个语句直到遇到break语句为止。此时如果该case语句中没有break语句,将继续执行后面case里的若干个语句,直到遇到break语句为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句为可选的,如果它不存在,而且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。

switch语句例子:

public class GetSwitch { // 创建类
    public static void main(String args[]) { // 主方法
        int week = 2; // 定义int型变量week
        switch (week) { // 指定switch语句的表达式为变量week
            case 1: // 定义case语句中的常量为1
                System.out.println("Monday"); // 输出信息
                break;
            case 2: // 定义case语句中的常量为2
                System.out.println("Tuesday");
                break;
            case 3: // 定义case语句中的常量为3
                System.out.println("Wednesday");
                break;
            default: // default语句
                System.out.println("Sorry,I don't Know");
        }
    }
}

if   switch的区别:

if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断

switch建议判断固定值的时候用

if建议判断区间或范围的时候用

*用switch能做的,用if都能做,反过来则不行

Java中的循环语句:

(1)

for(int i=0;i<10;i++) {
...
}

(2)

while(表达式_布尔值) {

}

(3)

do {

} while(表达式_布尔值);

三种循环语句简单实例:

public class Test2 {
    public static void main(String[] args){
        int i=0;
        for(;i<3;i++){
            System.out.println("for:"+i);
        }
        while(i<6){
            System.out.println("while:"+i);
            i++;
        }

        do{
            System.out.println("do:"+i);
            i++;
        }while(i<9);
    }
}

综合例子1:

如何输入成绩,得出评分:

import java.util.Scanner;
public class Lianxi
{
    public static void main(String[] args){
        int i=1;
    //使用死循环不断判断 for(;i<10;i--){ Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); int a =Integer.parseInt(str); if(str=="55"){ i=11; System.out.println("结束了"); } if(a<=100&&a>80){ System.out.println("优秀"); }else if(a<=80&&a>60){ System.out.println("良好"); }else if(a<=60&&a>50){ System.out.println("尚可"); }else if(a<=50&&a>=0){ System.out.println("不可"); }else { System.out.println("输入有错误!!!"); } } } }

综合例子2:

输出菱形

public class Var_02 {
    public static void main(String args[]) {
        int lineCount = 17;// 输出的菱形有多少行,请赋值成奇数

        int maxLineNum = (lineCount + 1) / 2;// 菱形最多一行
        for (int i = 1; i <= maxLineNum; i++) {// 循环菱形数量越来越多的几行
            for (int space = 1; space <= maxLineNum - i; space++) {// 输出空格,数量=最后一行-当前行数
                System.out.print("  ");
            }
            for (int star = 1; star <= (i * 2) - 1; star++) {// 输出星号,数量=行数*2-1
                System.out.print("* ");
            }
            System.out.println();// 换行
        }

        int declineCount = lineCount - maxLineNum;// 计算剩下的几行,这几行星号的数量是递减的
        for (int i = 1; i <= declineCount; i++) {// 循环菱形数量越来越少的行数
            for (int space = 1; space <= i; space++) {// 输出空格,数量等于当前的行数
                System.out.print("  ");
            }
            for (int star = 1; star <= (declineCount - i + 1) * 2 - 1; star++) {// 输出星号,数量等于(总数-当前行数)*2-1
                System.out.print("* ");
            }
            System.out.println();
        }

    }
}

补充:

foreach语句:

是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。foreach语句在遍历数组等方面为程序员提供了很大的方便(本书将在第6章对数组进行详细的介绍),语法如下所示:

for(元素变量x : 遍历对象obj) {
    引用了x的java语句;
}

例子:

public class Repetition { // 创建类Repetition
    public static void main(String args[]) { // 主方法
        int arr[] = { 7, 10, 1 }; // 声明一维数组
        System.out.println("一维数组中的元素分别为:"); // 输出信息
        for (int x : arr) {
        //foreach语句,int x引用的变量,arr指定要循环遍历的数组,最后将x输出
            System.out.println(x);
        }
    }
}

Java之分支和循环的更多相关文章

  1. Java控制语句——分支、循环、跳转

    分支语句(if语句,switch语句): 循环语句(for,while,do...while); 跳转语句(break,continue,return): 分支语句(if语句,switch语句) if ...

  2. java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)

    JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...

  3. [零基础学JAVA]Java SE基础部分-04. 分支、循环语句

    转自:http://redking.blog.51cto.com/27212/116751 1.课程名称:分支.循环 本季为JAVA程序中最重要的部分,在讲解的时候除了讲解各种主要的控制语句(分支语句 ...

  4. Android.mk (2) 函数进阶教程 - 分支、循环、子程序

    https://www.jianshu.com/p/674dc7d7b4b0 函数进阶教程 - 分支.循环.子程序 按照面向过程程序设计的标准流程,我们讲完了顺序结构,就要讲分支.循环和子程序.下面我 ...

  5. 02_5if switch分支与循环语句

    02_5if switch分支与循环语句 1.语句 1.1条件语句-根据不同条件,执行不同语句. if if ... else if ... else if if ... else if ... el ...

  6. python分支和循环结构

    本文收录在Python从入门到精通系列文章系列 1. 分支结构 1.1 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构.然而仅有顺序结构并不能解决 ...

  7. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  8. JAVA中的for-each循环与迭代

    在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable<T>接口(位于java.lang包中),实现这个接口允许对象成为 ...

  9. SQL变量、运算符、分支、循环语句

    变量: SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. 局部变量: 使用declare关键字给变量声明,语法非常 ...

随机推荐

  1. css实现梯形(各种形状)的网页布局——transform的妙用

    在各式各样的网页中,经常会看到形状特别的布局,比如说下面的这种排版方式: 这种视觉上的效果,体验十分好.那么他是如何来实现的呢,博主在这里整理了如下2种实现的方式. 1.通过给 div 加border ...

  2. 以太坊RLP用法-go-ethereum学习

    RLP (递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序列化的主要编码方式.RLP的唯一目标就是解决结构体的编码问题:对原子数据类型(比如,字符串,整数型, ...

  3. HttpClien Get&Post

    新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先. 引用: u ...

  4. 移动端页面以rem为单位设置字体大小不生效解决方法

    这个问题在前端H5页面开发可以说是一个老生常谈的问题了.由于以前所有遇到的问题以及解决方法都会以文档的形式记录在电脑里,而非github或者blog,所以现在才一点一滴的整理上来,就当是一个心路历程吧 ...

  5. PowerShell管道入门,看看你都会不(管道例子大全)

    PowerShell的一个重中之重的功能就是管道(pipeline),本文从浅入深,一步一步详解管道的使用方法和例子,来看看有没有你所不知道的吧,如果全知道,恭喜你已经很厉害啦--适用于所有Power ...

  6. Java经典编程题50道之二十

    有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. public class Example20 {    public static void ma ...

  7. #416 Div2 C

    #416 Div2 C 题意 一些人去坐车,它们已经按给定顺序排队,每个人可能去不同的目的地,去同一目的地的人一定要被分成一组(去不同目的地的也可被分到同一组),对分好的每一组所有不同的目的地序号作异 ...

  8. pb传输优化浅谈

    在正式切入今天要谈的优化之前,先碎碎念一些自己过去这几年的经历.很久没有登录过博客园了,今天也是偶然兴起打开上来看一下,翻看了下自己的随笔,最后一篇原创文章发布时间是2015年的4月,今天是2017年 ...

  9. 演讲小技巧iPhone+Keynote

    原文发布在简书上:http://www.jianshu.com/p/a45538ca611f 今天在公司里分享了一个技术雷达里关于 ECMAScript 2017 的小 Session,分享加问答总共 ...

  10. C#基础知识-XML介绍及基本操作(十)

    在讲了一系列的基础文档之后,现在开始讲一些实例.对于一些数据不是很大的程序,或者只是一些配置文件,需要本地存储的,完全可以使用XML代替数据库,因为只是去操作单个文件会比操作数据库要简单很多,在程序中 ...