`

JAVA基础 之 逻辑控制

    博客分类:
  • java
阅读更多

概述:

Java语句(流程控制、逻辑控制)

关键字:if、switch、while、do while、for、break、continue、return

 

package com.cxy.base;

/**
 * @author cxy
 */
public class BaseTest2
{
	public static void main(String[] args)
	{
		int i=1;
		//最简单的if,当然这里的else可以不写
		if(i==1)
		{
			System.out.println("i等于1");
		}else
		{
			System.out.println("i:"+i);
		}
		
		//嵌套if:一个if块 或者 else块内 还有if语句。
		if(i<2)
		{
			if(i==1)
			{
				System.out.println("i等于1");
			}else
			{
				System.out.println("i小于2但是不等于1");
			}
		}else
		{
			System.out.println("i大于2");
		}
		
		//多重if:多个if (例A)  
		if(i==1){ /*你的操作*/ }
		if(i==2){ /*你的操作*/ }
		
		//if-else if (例B)  
		if(i==1){ /*你的操作*/ } 
		else if(i==2) { /*你的操作*/ }
		/* 注意上面例A和例B的区别
		 * 例A 是无论i等不等于1 他都会去判断i等不等于2
		 * 例B 是只有i不等于1的时候程序才会去判断i等不等于2
		 * 其实个人感觉if-else if的模式 即可以说是多重if,又可以说是嵌套if,这两方面的特点都具备,不过更加严格来讲还是嵌套
		 * */
		
		//if-else如果情况很多 会导致代码很臃肿,这时候您可以考虑使用switch
		switch (i)
		{
			case 1:
			{
				//你的操作
				break;
			}
			case 2:
			{
				//你的操作
				break;
			}
			default:
				break;
		}
		/* 解释:
		 * 1.如果i(switch括号中的变量)等于1(case 1),那么执行这种case下的代码块,如果都不是那么就执行default代码块
		 * 2.switch括号中的变量 的类型只能是 byte、short、char、int,不过从java7开始可以是String类型了
		 * 3.每个case方法体都建议有一个break,否则会出现非预期的结果(当然除非你知道结果就是那样的)
		 * 4.下面例子只能在java7下运行,请运行后注释掉所有的break再看结果
		 * */
		String flag="abc";
		switch (flag)
		{
			case "aaa": 
			{ 
				System.out.println("case abc");
				break;
			}
			case "abc": 
			{ 
				System.out.println("case abc");
				break;
			}
			case "bbb": 
			{ 
				System.out.println("case bbb");
				break;
			}
			default:
			{
				System.out.println("这里没有找到适合flag的情况");
				break;
			}
		}
		System.out.println("------------------------");
		
		//while 和 do while
		System.out.print("while测试:");
		int j=0;  //改成5
		while(j<5)
		{
			System.out.print(j+"  ");
			j++;
		}
		System.out.println();
		System.out.print("do while测试:");
		j=0;  //改成5
		do
		{
			System.out.print(j+"  ");
			j++;
		}
		while(j<5);
		//这里注意while和do while的区别,while是先判断再执行,而do while先执行(无论第一次是否满足条件)再判断
		//这里将两处j的值改成5看一下结果
		//使用这两个关键字 要注意死循环问题,while后的表达式一定要有成为false的时候,否则程序会一直循环下去
		System.out.println("");
		System.out.println("------------------------");
		
		/* for 常用的循环方式
		 * for后面的()中有两个分好,3个表达式
		 * 第一个表达式:初始化一些东西,一般是控制循环的变量
		 * 第二个表达式:循环条件,是true的时候才会继续循环(所以一定要保证这里有一些时刻会是false,否则就出现死循环)
		 * 第三个表达式:控制循环变量的变化(以保证程序可以正常结束,不是死循环)
		 */
		System.out.print("for测试:");
		for(int k=0;k<6;k++)
		{
			System.out.print(k+"  ");
		}
		System.out.println("");
		System.out.println("------------------------");
		
		/* break、continue、return
		 * break:强制终止循环(跳出循环),switch下是跳出case判断
		 * continue:结束本次循环,开始执行下次循环
		 * return:原意用在方法返回值,但是如果方法内有循环体,那么可以通过return来侧面控制循环
		 * */
		System.out.print("break、continue测试:");
		for(int k=0;k<6;k++)
		{
			if(k==2){ continue; } //当k是2的时候 结束这次循环(不会打印),开始下次循环
			if(k==4){ break; } //当k是4的时候,直接结束循环(虽然k还仍然在可循环条件范围内)
			System.out.print(k+"  ");
		}
		System.out.println("");
		//结果:break测试:0  1  3
		System.out.println("------------------------");
		
		//首先这个是一个嵌套循环,循环体内还有循环
		//在if中 分别修改break、continue、return体验他们的不同
		for(int n=0;n<3;n++)
		{
			for(int m=0;m<3;m++)
			{
				if(m==1)
				{
//					continue;
//					break;
//					return;
				}
				System.out.print(n+","+m+"   ");
			}
			System.out.println();
		}
		//得出结论:return使得整个方法返回不仅仅是结束一个循环那么简单,如果你一个方法中存在循环,请慎用return去控制循环结束
		System.out.println("------------------------");
		
		System.out.println("程序正常结束");
	}
}

 

声明:

1.原创文章,转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

1
4
分享到:
评论
6 楼 stephenwang1011 2013-03-08  
snkcxy 写道
stephenwang1011 写道
你return没讲清楚

哪里不清楚 拷贝例子 然后把 continue、break、return分别去掉注释运行 可以看到效果
return main方法直接就结束 了,他跳出的是方法
当然main当中一般我们不这样用,自定义的一个方法 中 如果有循环 那么可以用return来直接结束这个循环,当然他和break的区别就是 break还会执行循环体以外的 但是return连这个方法都结束了。

哈哈 看错了 不好意思!
5 楼 snkcxy 2013-03-08  
stephenwang1011 写道
你return没讲清楚

哪里不清楚 拷贝例子 然后把 continue、break、return分别去掉注释运行 可以看到效果
return main方法直接就结束 了,他跳出的是方法
当然main当中一般我们不这样用,自定义的一个方法 中 如果有循环 那么可以用return来直接结束这个循环,当然他和break的区别就是 break还会执行循环体以外的 但是return连这个方法都结束了。
4 楼 stephenwang1011 2013-03-08  
你return没讲清楚
3 楼 snkcxy 2013-03-05  
huangyunbin 写道
其实感觉你说的任何一种都比较麻烦,而且也没有封装复杂性。

呵呵 是呢 感觉程序写的太复杂了,都是一些边缘性的问题演示
2 楼 huangyunbin 2013-03-05  
其实感觉你说的任何一种都比较麻烦,而且也没有封装复杂性。
1 楼 saltedfish 2013-02-26  
     

相关推荐

    java基础之逻辑控制语句-条件结构

    该思维导图文件主要是介绍Java的逻辑控制语句,包括运算符、布尔类型、条件结构等内容,通过图的展现,初学者可以大致了解一些内容,在此基础上进行学习和拓展,进一步提升自己的能力。

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-091-Java基本语法-控制语句-switch语句-字符串作为比较对象.avi 北京动力节点-Java编程零基础教程-092-Java基本语法-控制语句-switch语句-举例1.avi 北京动力节点-Java编程零...

    Java基础语法+流程控制

    Java基础课件Java基础语法一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一...

    JAVA基础课程讲义

    布尔逻辑表达符 30 位运算符 30 扩展运算符 31 字符串连接符 31 三目条件运算符 31 运算符优先级的问题 31 自动类型转换 32 基本类型转化时常见错误和问题 33 方法 33 简单的键盘输入和输出 33 本章思考作业 34 上机...

    java基础入门教程

    在 这 次 会 上 ,Java的 创 始 人 之 一 James Gosling 说 :"Java 不仅 仅只 是 applets, 它 能 做任 何 事 情 ",Dta 咨 询 公 司 的 高 级软 件 工 程 师 Rich Kadel说 :"Java 不仅 仅 是 一 种 程 序 设计 语言 ,...

    Java基础知识点.html

    Java基础思维导图对应html版本资源: 类加载器 ClassLoader 反射 Stream 流 函数式编程 Lambda 表达式 网络编程-协议 网络编程-端口 网络编程-IP 多线程 IO流-字节流 IO流-字符流 IO流-转换流 File Map HashMap ...

    java运算符流程控制数组基础题目

    日常作业积累,不需要请不要进行下载。

    Java基础-第二单元习题+答案.docx

    系统性的内容: 习题按照Java基础课程的第二单元内容组织,从基本语法到流程控制、函数和面向对象编程等多个方面进行了系统性的涵盖。这有助于学习者逐步建立坚实的Java编程基础。 答案详细解释: 与每个习题相对应...

    教学课件+Java基础知识+PPT课程+Java教学

    Java基础知识课件 1. 引言 Java是一种广泛使用的编程语言,以其跨平台兼容性和健壮性而闻名。Java最初由Sun Microsystems(现为Oracle Corporation的一部分)开发,并于1995年发布。 2. Java的特点 -跨平台兼容性:...

    Java语言基础下载

    第四章: Java语法基础 47 学习目标 47 基本语法元素 48 Java关键字 49 基本Java数据类型 50 变量声明和赋值 52 引用(Reference)类型 52 存储器分配和布局 53 this引用 55 Java编码约定 56 运算符的优先级 58 升级...

    java编程基础,应用与实例

    第1章 什么是Java程序设计语言 1 1.1 Java语言诞生背景 1 1.2 Java语言的特点 1 1.2.1 可移植性(universality) 1 1.2.2 安全性(security) 1 1.2.3 Java Virtual Machine(JVM) 2 1.2.4 面向对象的程序...

    java基础案例与开发详解案例源码全

    3.4.4 逻辑操作符48 3.4.5 位操作符49 3.4.6 移位运算符49 3.4.7 其他操作符50 3.5 表达式52 3.5.1 表达式简介52 3.5.2 表达式的类型和值52 3.5.3 表达式的运算顺序52 3.5.4 优先级和结合性问题52 3.6 选择结构54 ...

    java核心基础汇总.docx

    流程控制:Java中的流程控制语句包括条件语句、循环语句和异常处理语句等,可以控制程序的执行流程。 面向对象:Java中的面向对象编程主要包括类、对象、继承、多态等概念。类是一种抽象的数据类型,对象是类的实例...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用Java理解程序逻辑.pdf

    分阶段训练:引领学员入门,加大训练量,训练学员程序逻辑和写代码的能力,夯实学员的基础;  2.分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养...

    用Java写的猜数游戏,零基础Java必看,教你理清业务逻辑

    用Java写的猜数游戏,用到了流程控制语句,循环语句,循环语句的叠加使用,布尔类型的判断利用

    Java程序设计基础:多分支ifelse语句.pptx

    1.Java程序设计中,可以通过if语句来实现最基本的逻辑判断; 2.if语句可以根据判定条件的结果,来决定执行给出的多种操作之一; if语句主要作用 01 if语句类型 02 1. 单分支if语句 2. 双分支if-else语句 3. 嵌套if...

    java简单计算器开发GUI图形化界面设计与实现(项目源码+课程设计报告)

    Java 语言的语法、数据类型、流程控制等基本知识和面向对象程序设计思想的 Java 实现;了解 Java 常用的系统类;学习异常处理、线程、图形用户界面设计、 网络通信等内容。使学生的专业知识进一步完善和丰富,为...

    java 编程入门思考

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    Java初学者入门教学

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

Global site tag (gtag.js) - Google Analytics