`

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基础入门自学课件 第05章 流程控制(共17页).ppt

    Java基础入门自学课件 第05章 流程控制 流程控制是Java编程语言中非常重要的一个概念,它决定了程序的执行流程和逻辑结构。流程控制可以分为两大类:顺序结构、选择结构和循环结构。 顺序结构 顺序结构是最基本的...

    Java基础语法+流程控制

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

    JAVA基础课程讲义

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

    Java基础选择题(含答案).doc

    Java基础选择题(含答案) 这份资源摘要信息涵盖了 Java 语言的基础知识点,包括main()方法的返回类型、 Java 标识符、变量声明、赋值、运算符、控制流语句、方法调用、字符串处理等方面。 1. main()方法的返回...

    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基础笔试题(标准答案已整理).docx

    本文档总结了 Java 基础知识点,涵盖了 Java 语言的基本概念、变量、运算符、控制结构、函数、数组、面向对象编程、继承、多态、封装、final 关键字等方面的知识点。 一、Java 基础概念 Java 是一种面向对象的编程...

    传智播客_Java基础入门习题答案.doc

    Java 语言还支持多种操作符,例如算术操作符、比较操作符、逻辑操作符、赋值操作符等。 2. 控制流语句 Java 语言提供了多种控制流语句,例如if 语句、switch 语句、while 语句、for 语句等。这些语句可以控制程序的...

    Java基础编程练习题(50题及答案)2017.doc

    本文档总共包含 50 道 Java 基础编程练习题,涵盖了 Java 语言的基本概念、数据类型、运算符、控制流程、函数、数组、对象和类等方面。 其中,【程序 1】是一个菲波拉契数列问题,使用递归方式解决。【程序 2】是一...

    《Java基础入门》-课后习题.doc

    本资源摘要信息涵盖了Java基础入门的知识点,涉及到Java语言的基本概念、开发环境、语法结构、变量类型、运算符、控制结构、方法、数组等方面。 一、Java语言的基本概念 * Java语言的三大体系:JavaSE、JavaEE、...

    《Java基础入门》-课后习题答案--1-6.doc

    "Java基础入门" 本资源摘要信息中,我们将从《Java基础入门》课后习题答案中提取相关的知识点,并对其进行详细的解释和分析。 一、Java 开发入门 在 Java 开发入门中,我们学习了 Java 的基本概念,包括 Java EE...

    Java经典逻辑编程50题.docx

    这些基本语法是Java编程的基础,需要深入了解和掌握。 知识点5:递归函数 在程序1中,我们可以看到一个递归函数的应用。递归函数是一种常用的编程技巧,用于解决递归问题。但是,递归函数也需要注意递归深度和栈...

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

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

    Java100个经典例子

    本文将对 Java 编程语言的基础知识点进行总结,涵盖 Java 语言的基本概念、数据类型、变量、运算符、控制结构、数组、方法等。 1. Java 基本概念 Java 是一种面向对象的编程语言,它提供了封装、继承、多态三大...

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

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

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

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

    java基础教程第3版习题解答.doc

    本资源为 Java 基础教程第 3 版习题解答,涵盖了 Java 语言的基本概念、语法、数据类型、运算符、控制流程、方法、数组、字符串等方面的知识点。 变量和数据类型 * 标识符是 Java 中用来标识类名、变量名、方法名...

Global site tag (gtag.js) - Google Analytics