Java程序流程控制 (上)

Java程序大体分为三种流程控制结构:顺序结构、分支结构、循环结构

  • 顺序结构

程序由上到下的逐行执行,中间没有任何跳转和判断语句。

示例代码如下:

 public class TestSortStruc {
public static void main(String[] args) {
//流程控制:顺序结构
int i = 15;
int j = i + 1;
System.out.println(j); /*错误示例,因为n的赋值语句使用到了m,所以不能将m在n后面定义
* int n = m + 1;
int m = 10;
System.out.println(n);*/
}
}
  • 分支结构

  根据条件,选择性的执行某段代码块。

  分为if...else和switch..case两类分支语句。

  一、if语句的三种结构:

  1. if(true){

    执行代码块;}

  示例代码如下:

  

1 public class TestIf1 {
2 public static void main(String[] args) {
3 if(true){
4 System.out.println("Hello World!!");
5 }
6 }
7 }

  2. if(条件判断语句){

    执行代码块;}

      else{

        执行代码块;}

  示例代码如下:

 1 public class TestIf2 {
2 public static void main(String[] args) {
3 int age = 21;
4 if(age>18){
5 System.out.println("你已经成年了!!");
6 }else{
7 System.out.println("你还没有成年!!");
8 }
9 }
10 }

  3. if(条件判断语句){

    执行代码块;}

   else if(条件判断语句){

    执行代码块;}

   ......

     else{执行代码块;}

 1 public class TestIf3{
2 public static void main(String[] args) {
3 int age = 26;
4
5 if(age > 130 || age < 0){
6 System.out.println("估计不是人吧!!");
7 }else if(age <30){
8 System.out.println("你还挺年轻!!只有"+ age +"岁");
9 }else{
10 System.out.println("我都是孩子他爹了,你另找心上人吧!!");
11 }
12 }
13 }

  通过键盘获取值,然后使用if判断语句进行判断学生成绩,使用Scanner对象,让用户在控制台输入值

  示例代码如下:

  

 /*题目:
* 从键盘输入自己的考试成绩
* 当成绩为100分时,奖励一台外星人电脑
* 当成绩在80~99时,奖励一部iPhone7 plus
* 当成绩在60~80时,奖励一本考试科目的习题册
* 成绩低于60时,没有奖励,需要连续三个月不许玩游戏看电视。*/
//1.导入Scanner包,记住一定要是java.util下的Scanner包
import java.util.Scanner; public class TestScanner {
public static void main(String[] args) {
//2.new 一个Scanner对象sc
Scanner sc = new Scanner(System.in);
/*3.从键盘获取用户输入的值,因为要判断成绩,
所以规定输入的值是int类型的数字,使用nextInt()方法*/
System.out.println("请输入你的成绩:");
int grade = sc.nextInt();
//使用if判断语句进行成绩奖励判断
if(grade == 100){
System.out.println("恭喜你,获得一台外星人电脑!!");
}else if(grade < 100 && grade >= 80){
System.out.println("恭喜你,获得一部iPhone7 plus!!");
}else if(grade < 80 && grade >=60 ){
System.out.println("恭喜你,你需要完成一本本学科的习题册!!");
}else{
System.out.println("很遗憾,你在未来的三个月不能玩游戏,看电视!!");
}
}
}

  注:1.if条件判断之间可以进行嵌套;

     2. 1)如果多个条件之间是“互斥”关系,那么条件语句的顺序是自由的;

       2)如果多个条件之间是“包含”关系,那么要求范围小的条件要写在范围大的条件上面。

  二、switch...case语句:

  switch(表达式){

  case 常量1:

    语句1;

    break;

  case 常量2:

    语句2;

    break;

  ......

  case 常量n:

    语句n;

    break;

  default:

    语句;

    break;

  }

  根据表达式的值,选择相应的case去判断,一旦满足case条件,就执行相应case下的语句。

  switch 后小括号里面的表达式的值的数据类型包含:char、byte、short、int、枚举、String(JDK1.7以上才能使用String类型)。

  case后跟的常量只能为准确的值,而不能为取值范围。

  示例代码如下:

 public class TestSwitch {
public static void main(String[] args) {
int i=1;
switch(i){
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("one");
break;
case 3:
System.out.println("one");
break;
case 4:
System.out.println("one");
break;
default:
System.out.println("ending");
break;
}
}
}

  注:如果没有break或者已经到结尾的话,会继续向下执行其他的case语句,如果只想得到某一个值,需要都加上break关键字;default虽为结尾语句,但是可以写在            switch中任何一个case前或者后面,但是不能写进case里面,但是习惯性的放在末尾,default也可以不写。

  • 循环结构

  通过循环条件,重复性的执行某段代码块,直到该条件不被满足。

  分为while、do..while、for循环三种循环语句。

  注:在JDK1.5中提供了foreach循环,更方便用于便利集合和数组元素。

  循环结构是最常用的也最重要的,故此讲其单独放在(下)篇进行梳理。

Java 基础 程序流程控制 (上)的更多相关文章

  1. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

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

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

  3. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  4. Java基础总结--流程控制

    Java流程控制* 顺序结构--最常见的执行情况,语句按照出现的先后次序依次执行.* 判断结构--对条件进行判断,执行相应的语句.有三种常见的形式< if(判断条件){语句;}--为真执行语句, ...

  5. Java基础-6流程控制

    一).选择控制: 选择控制分为两种:if...else...和switch 单分支结构:这是最简单的一种选择结构,它只是简单的判断某个条件是否成立,如果成立就执行一段代码,语句形式为: if(条件表达 ...

  6. Java基础之流程控制

    一.顺序结构 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. if-else-if 语句 语法: if(条件){ 当条件为true时,执行大括号内的代码 }el ...

  7. java之程序流程控制

    顺序结构:代码由上至下依次执行: 分支结构: if () { } else{ } if () { } else if () { } else { } switch(常量){ case 常量: 语句; ...

  8. Java程序流程控制之if-else if-else

    java基础之流程控制(一)    流程控制 Flow Control :       流程控制语句是编程语言中的核心之一.可以分为 分支语句.循环语句和跳转语句.        本讲内容包括分支语句 ...

  9. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

随机推荐

  1. POJ1006: 中国剩余定理的完美演绎(非原创)

    问题描述 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天.一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好.通常这三个周期的峰值不会是同一天.现在给出 ...

  2. 初次尝试Linux并记录一二

    假如我有一个Linux系统 安装过程:加载中... 版本:Ubuntu Server 16.04.1 LTS 64位 得到一个IP:*.*.*.* 下载工具 WinSCP: WinSCP是一个Wind ...

  3. SmartCoder每日站立会议 01

    1.站立会议内容 确定今天团队成员各自的任务,并讨论今后各自的学习方向. 站立会议照片: 2.任务看板: 3.燃尽图:

  4. ftp服务器可以连接但不能传输数据(proftpd)

    问题:在客户端连接FTP服务器(proftpd)时可以正常连接,但是无法正常传输数据 ftp> ls530 Please login with USER and PASSPassive mode ...

  5. C#控制台或应用程序中两个多个Main()方法的可行性方案

    大多数初级程序员或学生都认为在C#控制台或应用程序中只能有一个Main()方法.但是事实上是可以有多个Main()方法的. 在C#控制台或应用程序中,在多个类中,且每个类里最多只能存在一个Main() ...

  6. [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?

    在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的data中设置了一些数组,为什么后台还是接收不 ...

  7. 3分钟带你了解PowerShell发展历程——PowerShell各版本资料整理

    本文带你了解PowerShell发展历程,顺便整理了一点资料,方便大家查询. Windows PowerShell® 是基于任务的命令行管理程序和脚本语言,专为进行系统管理而设计. 在 .NET Fr ...

  8. 手把手教你用Eclipse+TestNG搭建接口自动化测试框架

    转载于:http://qa.blog.163.com/blog/static/190147002201510275306185/ 把群博里关于接口自动化的文章都看了一遍,都是关于测试过程中遇到的问题及 ...

  9. Java经典编程题50道之三十三

    打印出杨辉三角形(要求打印出10行如下图)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 public class Example33 { public static v ...

  10. 前端单元测试框架-Mocha

    引言 随着前端工程化这一概念的产生,项目开发中前端的代码量可谓是'急剧上升',所以在这种情况下,我们如何才能保证代码的质量呢,对于框架,比如React.Vue,因为有自己的语法规则,及时每个开发人员的 ...