Java中的程序流程控制

Java中的程序流程分为三种结构:①顺序结构;②分支结构;③循环结构

一.顺序结构

  Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量。

public class FlowControl {
public static void main(String[] args) {
// 正确引用
int num1 = 10;
int num2 = 5+ num1; //错误引用
/*
int num4 =num3 + num2;
int num3 =9;
*/
}
}

二.分支结构

  分支语句1:if-else

   if语句的三种格式

public class IfTest {
public static void main(String[] args) {
int i = 10;
//第一种方式
if(i==10) {
System.out.println("i小于10");
}
//第二种
if(i>10) {
System.out.println("i大于10");
}else {
System.out.println(i);
}
//第三种
if(i<10) {
System.out.println("i小于10");
}else if (i>10) {
System.out.println("i大于10");
}else {
System.out.println("i等于10");
}
}
}

注意 :请思考一下,一下代码的执行结果

public class IfTest {
public static void main(String[] args) {
int x = 4;
int y = 1;
if(x>2) { if(y>1)
System.out.println(y);
System.out.println(x+y); }else {
System.out.println("x is"+x);
}
}
}

二.switch分支结构

  switch结构表达式

 /**
*switch语法
*switch(表达式) {
* case 常量1:
* 语句;
* break;
* case 常量2:
* 语句;
* break;
* ......
* case 常量n;
* 语句;
* break;
* default:
* 语句;
* berak:
*}
*
*
*/
public class SwitchTest {
public static void main(String[] args) { int i =2;
switch(i) {
case 1:
System.out.println("一年级");
break;
case 2:
System.out.println("二年级");
break;
case 3:
System.out.println("三年级");
break;
default:
System.out.println("校长");
break; }
}
}

switch语句中应该注意的东西:

switch表达式中支持的返回值类型:byte,short,int,枚举,char,string;

case子句必须是常量;且所有case子句的执行逻辑应该是不相同的。

default子句是可以选择的,没有匹配的case子句时会默认匹配default子句中的值。

在switch语句中,应该每一个case中都应该由跳出逻辑,应当由break语句;如果没有break语句,程序会顺序执行到switch结尾。

三.循环结构

一. 首先我们来了解一下循环语句的四个组成部分:

  1. 初始化部分  
  2. 循环条件部分
  3. 循环体部分
  4. 迭代部分

二. 循环语句分类:for循环,while循环,do/while循环

  首先,我们来看for循环。

  for循环的语法格式:for(初始化值①;布尔值测试②;更改表达式④){

  语句或者语句块③;

}

图例(图是从别的地方抠来的.....):

  while循环语法格式

  初始化语句;

  whlie(条件){

  语句;

}

示例代码:

 public class WhileTest {
public static void main(String[] args) {
int result =0;
int i=1;
while(i<=10) {
result=result+i;
i++;
System.out.println("result:"+result);
}
} }

do-while循环语句

  语法格式:

    初始化语句

    do{

    语句或者语句块

  }while(布尔测试值)

示例代码:

 public class DoWhileTest2 {
public static void main(String[] args) {
int result =0;
int i=1;
do {
result=result+i;
i++;
System.out.println("result:"+result);
}while(i<10);
} }

除了这三种流程语句,我们还有一些特殊的流程控制语句,比如break语句,continue语句;return语句;都可以控制程序流程,这些语句将会在之后做一些总结。

Java基础之程序流程控制的更多相关文章

  1. Java基础语法(4)-流程控制

    title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...

  2. Java基础语法与流程控制

    Java基础语法与流程控制 跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯 志同道合的小伙伴可以一起学习狂神的视频 本节地址:https://www.kuangstudy.com/co ...

  3. Java基础语法02——流程控制

    流程控制:顺序结构.分支结构(if-else.switch-case).循环结构(for.while.do-while)

  4. Java基本语法--程序流程控制

    流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构.分支结构.循环结构.本篇博客主要是对 ...

  5. 《Java基础知识》流程控制

    流程控制分类: 一.顺序结构如果没有流程控制(即没有分支结构和循环结构),Java方法里面的语句是一个顺序执行流,从上到下依次执行每条语句. 二.分支结构1.if语句if语句使用布尔表达式或者布尔值作 ...

  6. java 基础知识四 流程控制

    java   基础知识四 流程控制 Java流程控制包括顺序控制.条件控制和循环控制 顺序控制就是逐条执行 有if和switch两个分支 循环控制就是 又称为回路控制,根据循环初始条件和终结要求,执行 ...

  7. Java笔记(六)……程序流程控制

    判断结构 三种结构: 1: if(条件表达式) 2: { 3: 执行语句; 4: } 5:  6: if(条件表达式) 7: { 8: 执行语句; 9: } 10: else 11: { 12: 执行 ...

  8. Java基础教程(9)--流程控制

    一.分支结构 1.if语句   if语句会与其后的第一条语句或代码块结合,且只有当判断条件为true时才执行语句或代码块.例如,自行车只有在运动的时候才可以减速,就像下面这样: void applyB ...

  9. Java学习day4 程序流程控制一

    一.分支结构 条件语句:if...else if语句: 一个 if 语句包含一个布尔表达式和一条或多条语句,如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代 ...

随机推荐

  1. Adriod与HTML+JS的交互

    本篇主要实现的功能点: Android 调用HTML中的javascript脚本 HTML中的javascript脚本调用Android本地代码 Android 调用HTML中的javascript脚 ...

  2. Dagger2的基本概念与实际应用。

    本文系原创博客,文中不妥烦请指出,如需转载摘要请注明出处! Dagger2的基本概念与实际应用 Alpha Dog 2016-11-30  10:00:00 本文Demo的github地址:https ...

  3. 【Flask】微型web框架flask大概介绍

    Flask Flask是一个基于python的,微型web框架.之所以被称为微型是因为其核心非常简单,同时具有很强的扩展能力.它几乎不给使用者做任何技术决定. 安装flask时应该注意其必须的几个支持 ...

  4. LeetCode --> 771. Jewels and Stones

    Jewels and Stones You're given strings J representing the types of stones that are jewels, and S rep ...

  5. Notes:一致性哈希算法

    业务场景: 存在三个专门提供缓存服务的服务器,前端所需要的图片等静态资源被缓存于这三个服务器其中之一. 但是如何提高查找图片的速度呢? 可以采用哈希算法. 常规意义上的哈希算法: 通过hash(图片名 ...

  6. python socket编程制作后门木马(原创)

    不知道为啥,懒得解释怎么写出来的,直接上代码,爱看不看 Client:  简单连接服务器 #!/usr/bin/python #coding:utf-8 import socket import sy ...

  7. php的错误日志级别 error_report(转)

    ; E_ALL 所有错误和警告(除E_STRICT外); E_ERROR 致命的错误.脚本的执行被暂停.; E_RECOVERABLE_ERROR 大多数的致命错误.; E_WARNING 非致命的运 ...

  8. Spring MVC的handlermapping之SimpleUrlHandlerMapping初始化

    前面信息同BeanNameUrlHandlerMapping,这里不再过多分析,详情请看 :Spring MVC的handlermapping之BeanNameUrlHandlerMapping初始化 ...

  9. HashMap的底层原理

    简单说: 底层原理就是采用数组加链表: 两张图片很清晰地表明存储结构: 既然是线性数组,为什么能随机存取?这里HashMap用了一个小算法,大致是这样实现: // 存储时: int hash = ke ...

  10. vue 2.0之基础

    Vue Vue实例 创建实例: var vm = new Vue({ //code }) 数据与方法: 只有当实例被创建时 data 中存在的属性才是响应式的; Vm.b = 'h1' 是不会触发视图 ...