Java语言学习五(分支结构与循环结构)

在这里插入图片描述
基本上所有的编程语言都包括三大控制结构,不管是面向过程的编程语言,还是面向对象的编程语言,三大控制结构包括:
顺序结构(代码逐行往下执行,根据编程逻辑决定的)
分支结构(根据条件判断,代码如何跳转执行)
循环结构(当满足条件时循环执行某段代码,直到条件不符合为止)

顺序结构

比较简单,就是按照程序员的意志逐行编写代码,JVM解析器逐行执行代码,例如:

public class Test 
{
	public static void main(String[] args) 
	{
		int year = 2019;//语句一,定义整型变量year,并赋值2019
		float price = 20.5f;//语句二,定义单精度类型变量price,并赋值20.5
		System.out.println("year="+year);//语句三、将变量year输出到控制台显示
	}
}

分支结构

Java分支结构,语法分为这几种
在这里插入图片描述

public class Test 
{
	public static void main(String[] args) 
	{
		int year = 2019;//语句一,定义整型变量year,并赋值2019
		
		//判断语句一,只处理一个符合条件情况
		if(year>2018)
		{
			System.out.println("今年是大于2018的年份");
		}

		//判断语句二,处理两个条件情况
		if(year==2019)
		{
			System.out.println("今年是2019年");
		}
		else
		{
			System.out.println("今年不是2019年");
		}

		//判断语句三,处理多个条件情况
		if(year>=2019)
		{
			System.out.println("今年大于2019年");
		}
		else if (year>=2018)
		{
			System.out.println("今年大于2018年,但小于2019年");
		}
		else if (year>2017)
		{
			System.out.println("今年大于2017年,但小于2018年");
		}
		else
		{
			System.out.println("今年小于2017年");
		}

		//等值判断多路分支
		switch(year){
			case 2019:
				System.out.println("今年是2019年");
				break;
			case 2018:
				System.out.println("今年是2018年");
				break;
			case 2017:
				System.out.println("今年是2017年");
				break;
			default:
				System.out.println("其他");
				break;
		}
	}
}

判断结构条件分析

Java判断结构语法比较简单,条件中的运算符优先级仔细分析,例如下面Java题目:
在这里插入图片描述
在这里插入图片描述
题目考察了逻辑运算符和运算符的优先级,以及if语句如果没有{}前提下有效控制范围。
第7行中条件x==4为假,b2取反也为真,所以第7行的条件整体为假,第7行的if语句没有添加{}语句块,它的控制范围是其后面的一条语句,也就是它只能控制第8行,第9行是一定执行的;第10行中,if的条件有两个,第一个是赋值语句,它优先级高于逻辑运算符&&,所以优先执行,b2=true,第二个条件是b1,b1在第4行赋值为真,所以第10行条件为真,第11行将被执行。所以答案为:D,输出2 3

如下题,考察条件判断和异或操作
在这里插入图片描述
这个题目中分支语句的语法比较简单,关键是条件中异或判断
,针对boolean类型的异或判断结果需要记住,针对数字类型的异或结果需要推算出来:
boolean类型异或结果如下
true^true = false
false^false=false
true^false=true
false^true=true
数字类型异或结果如下(只针对一bit位示例)
1^1 = 0
0^0 =0
1^0 = 1
0^1 = 1

你可以将true等同于1,false等同于0,记忆比较容易。

题目中第6行(tail>distance)=2000>1999=true
(story2)==tail = 1000x2 == tail = true;
true^true = false,所以第6行条件为假,第7行不执行;
第8行中,(distance+1 !=tail) = (1999+1 != 2000) = false
(story
2 == distance) = (1000 x 2 == 1999) = false
false^false = false,所以第8行条件为假,第9行不执行
答案为:E

Switch分支结构决策变量类型

switch语句的决策变量类型是经常考察的知识点,switch只能做等值多路分支判断,它的决策变量只支持byte,short,int,Enum,String,其中Enum和String是Java1.5之后支持的。

public class Test 
{
	public static void main(String[] args) 
	{
		short age = 10;
		switch(age){
			default:
				System.out.println("其他");
				//break;
			case 1:
				System.out.println("Age=1");
				break;
			case 2:
				System.out.println("Age=2");
				break;
			case 3:
				System.out.println("Age=3");
				break;
		}

		TestEnum te = TestEnum.YELLOW;
		switch(te){
			default:
				System.out.println("其他");
				//break;
			case RED:
				System.out.println("RED");
				break;
			case GREEN:
				System.out.println("GREEN");
				break;
			case BLUE:
				System.out.println("BLUE");
				break;
		}
	}

	enum TestEnum{
		RED,GREEN,BLUE,YELLOW
	}
}

上面例程打印结果为:
在这里插入图片描述
这里考察了default和break语句,在switch分支结构中,每一个条件匹配完成后,一定添加上break语句,终止程序向下继续执行判断条件。

循环结构

循环结构所有编程语言所必须的逻辑控制,在编程设计中经常使用。在Java中循环结构分为三种,它们的语法如下:
在这里插入图片描述
在这里插入图片描述

使用for循环打印1-10数字

public class Test 
{
	public static void main(String[] args) 
	{
		for(int i=0;i<10;i++)
		{
			System.out.println("i="+i);
		}
	}
}

在这里插入图片描述
在这里插入图片描述

使用while循环,打印1-10个数字

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

在这里插入图片描述
在这里插入图片描述

使用do…while循环,打印1-10个数字

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

在这里插入图片描述
在这里插入图片描述

循环结构控制语句

continue;//终止本轮循环,剩余循环轮次继续执行
break;//终止全部循环,跳出循环体

public class Test 
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=3;i++)
		{
			if(i == 2)
				continue;
			System.out.println("i="+i);
		}
	}
}

在这里插入图片描述
在这里插入图片描述

public class Test 
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=3;i++)
		{
			if(i == 2)
				break;
			System.out.println("i="+i);
		}
	}
}

在这里插入图片描述
在这里插入图片描述

嵌套循环

循环体中嵌套循环体,在程序设计中经常使用,比如矩阵运算。它的语法与普通循环完全相同。
如下例程使用for嵌套循环打印9x9口诀表

public class Test 
{
	public static void main(String[] args) 
	{
		for(int i=1;i<10;i++)
		{
			for(int j=i;j<10;j++)
			{
				System.out.print(i+"*"+j+"="+(i*j));
				System.out.print("\t");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述
在这里插入图片描述

循环标签

跳出一层循环体可以使用break语句,如果需要跳出多层循环体,必须定义循环标签,比如从内层循环直接跳出外层循环。循环标签是Java面试题目中经常出现的。
参考下面Java认证考试题目

在这里插入图片描述
在这里插入图片描述
能够分析正确上面两个涉及循环标签的Java考试题目,循环标签也就基本掌握了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值