热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

新手小白学JAVA分支结构switch结构for循环

新手小白学JAVA分支结构switch结构for循环,Go语言社区,Golang程序员人脉社
1 分支结构

1.1 概述

顺序结构的程序虽然能解决计算、输出等问题
但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构

1.2 形式

if分支结构

1.3 练习:商品打折案例

创建包: cn.tedu.basic
创建类: TestDiscount.java
需求: 接收用户输入的原价。满1000打9折;满2000打8折;满5000打5折

package cn.tedu.basic;

import java.util.Scanner;

/**需求:接收用户输入的原价,满1000打9折,满2000打8折,满5000打5折*/
public class TestDiscount {
	public static void main(String[] args) {
		//1.提示用户输入原价
		System.out.println("请输入商品原价:");
		//2.接收用户输入的原价
		double price = new Scanner(System.in).nextDouble();                     
		//3.计算打折后的价格
		//3.1定义变量用来保存打折后的价格
		double count = price;//初始值是商品的原价
		//3.2判断用户的打折段位并打折
		if(price >= 5000) {//满5000
			count = price *0.5;//打5折
		}else if(price >= 2000) {//满2000
			count = price * 0.8;//打折8折
		}else if(price >= 1000) {//满1000
			count = price *0.9;//打9折
		}
//		if(1000 <= price && price<2000) {
//			count = price *0.9;
//		}else if(2000 <= price && price <5000) {
//			count = price * 0.8;
//		}else if(price >= 5000) {
//			count = price *0.5;
//		}
		//3.3输出用户实际支付的价格
		System.out.println("您实际应该支付:"+count);
	}
}
2 switch结构

2.1 概述

switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束

2.2 形式

switch结构

2.3 练习:数字匹配

创建包: cn.tedu.basic
创建类: TestSwitch.java

package cn.tedu.basic;
/**本类用来测试switch结构*/
/**
 * 总结:执行的顺序
 * 1.先拿到表达式的值(a),然后将a的值与case的值依次进行匹配
 * 2.当成功匹配到case的值后,会执行case后的代码
 * 3.判断此行代码是否有break,如果有,结束执行,如果没有,会继续向后穿透所有case,包括default
 * 4.如果没有匹配到任何的case,只会执行default的代码
 * */
public class TestSwitch {
	//1.创建入口函数main Alt+/补全代码
	public static void main(String[] args) {
		int a = 5;
		/**总结1:a 可以支持5种数据类型:byte short char int
		 * jdk1.5以后支持String*/
		switch(a) {
			//快速向下复制:Ctrl+Alt+向下键
			case 1 : System.out.println(1);break;
			case 2 : System.out.println(2);break;
			/**总结2:break表示结束当前的case,如果不加break,
			 * 会向后穿透所有的case,包括default*/
			case 3 : System.out.println(3);break;
			case 4 : System.out.println(4);break;
			
			/**总结3:default是保底选项,可加可不加
			 * default是如果没有case被匹配到时执行的默认选项
			 * 如果在default之前遇到了break,default才不会执行*/
			default : System.out.println(0);
		}
	}
}

2.4 练习: Switch中的String类型

使用类: TestSwitch.java

public class TestSwitch {
	public static void main(String[] args) {
		String s = "Monday";
		switch(s) {
			case "Monday" : System.out.println("星期一你好!"); break;
			case "Tuesday" : System.out.println("星期二你好!"); break;
			case "Wedsday" : System.out.println("星期三你好!"); break;
			case "Thursday" : System.out.println("星期四你好!"); break;
			case "Friday" : System.out.println("星期五你好!"); break;
			case "Saturday" : System.out.println("星期六你好!"); break;
			case "Sunday" : System.out.println("星期日你好!"); break;
			
			default:System.out.println("哪天都不是");
		}
	}
}

2.5 switch结构的注意事项

  1. switch 语句中的变量类型可以是: byte、short、int 、char、String(jdk1.5以后支持)
  2. switch 语句可以拥有多个 case 语句
  3. 每个 case 后面跟一个要比较的值和冒号,且此值的数据类型必须与变量的数据类型一致
  4. 当变量值与 case 语句值相等时,开始执行此case 语句的内容,执行完会判断此行代码是否有break,如果有,结束执行,如果没有,会继续向后执行穿透所有case,包括default
  5. switch 语句可以包含一个 default 分支,该分支一般是写在switch 语句的最后
  6. 如果在default之前的case有break,则default不会执行
3 循环结构

3.1 for概述

循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。
它由循环体中的条件,判断继续执行某个功能还是退出循环。
根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。

3.2 for形式

for循环结构

3.3 for循环执行顺序

我们明明只写了一句打印语句,为什么打印了多个数字呢?
希望通过下图帮你理解for循环的执行顺序:
for循环执行顺序

3.4 练习:打印0到10/打印10到0/打印8,88,888,8888,

创建包: cn.tedu.basic
创建类:Test6_For.java

package cn.tedu.basic;
/**本类用来测试循环结构for循环*/
public class TestFor {
	public static void main(String[] args) {
		//需求:打印0到10
		//for(开始条件;循环条件;更改条件){循环体;}
		//0 1 2 3 4 5 6 7 8 9 10
		//从哪开始:0
		//到哪结束:10
		//怎么变化:+1 ++
		for(int i = 0;i<=10;i++) {
			System.out.println(i);
		}
		System.out.println("**********************");
		//需求:打印10到0
		//10 9 8 7 6 5 4 3 2 1 0
		//从哪开始:10
		//到哪结束:0
		//怎么变化:-1  --
		//for(开始条件;循环条件;更改条件){循环体}
		for(int i = 10 ;i >= 0;i--) {
			System.out.println(i);
		}
		//需求:打印8,88,888,8888,
		//8 88 888 8888
		//从何开始:8
		//到哪结束:8888
		//如何变化:*10+8
		for(int i =8 ; i <= 8888 ; i=i*10+8) {
			System.out.print(i+",");//使用的是print(),打印后不换行
		}
	}
}

推荐阅读
  • 大数据基础:JavaSE_day06 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文深入探讨了C++对象模型中的一些细节问题,特别是虚拟继承和析构函数的处理。通过具体代码示例和详细分析,揭示了书中某些观点的不足之处,并提供了更合理的解释。 ... [详细]
  • 本文详细介绍了C语言中的指针,包括其基本概念、应用场景以及使用时的优缺点。同时,通过实例解析了指针在内存管理、数组操作、函数调用等方面的具体应用,并探讨了指针的安全性问题。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 六、流程控制语句
    选择结构if只有条件判断结果为真时才执行相应的操作循环结构for、whileuntil反复执行相同操作时,使用循环结构分支结构case根据变量值的匹配结果执行相 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
author-avatar
忧愁幻想_824
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有