Java学习day05
Java学习day05
【switch】
属于选择结构,分支语句
语法结构:
/*
	switch(int或string类型字面值或变量)
	{
		case int或string类型字面值或变量 :
			java语句;
			break;	//若此处没有break则,继续执行下面的case语句,直到遇见break,switch执行结束
		case int或string类型字面值或变量 :
			java语句;
			break;
		...
		default :
			java语句;
			...
	}
**byte,short,char型的变量也可以放在switch、case之后,因为可以进行自动类型转换
JDK6,switch和case后 只能跟int类型
JDK7及之后,可以跟string类型,比如 case "星期一" :...;break; //注意加""
此外,case语句可以合并,比如:
int i = 1;
switch(i)
	case 1 : case 2 : case 3 : case 10:	//适用于多种情况,同样处理
	System.out.println("Test code");
实现
	+
	-
	*
	/
	%
	思路:
	1.键盘输入
	2.用switch判断
	3.输入三次
		第一个数字
		运算符
		第二个数字
显示场景:
		欢迎市容简单计算器系统:
		请输入第一个数字:10
		请输入运算符:
		请输入第二个数字:20
		运算结果:10 + 20 =  30
		
*/
public class SwitchTest01
{
	public static void main(String[] args)
	{
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("欢迎使用简单计算器系统!");
		System.out.print("请输入第一个数字:");
		int num1 = s.nextInt();	//注意格式Int
		System.out.print("请输入运算符:");
		String str = s.next();
		System.out.print("请输入第二个数字:");
		int num2 = s.nextInt();
		int result = 0;
		switch (str)
		{
			case "+": result = num1 + num2 ; break;	//不要写成case '+',注意String类型,而不是char
			case "-": result = num1 - num2 ; break;	
			case "*": result = num1 * num2 ; break;
			case "/": result = num1 / num2 ; break;
			case "%": result = num1 % num2 ; break;
			default: System.out.println("不合法字符") ;
}
			System.out.println(num1 + str + num2 + "=" + result);
	}
}
【循环结构】
- for
语法结构:
for ( 初始化表达式 ; 布尔表达式 ; 更新表达式 )
{
}
其中,()内的三个表达式都不是必须的,缺少任意一个或者多个都没问题,但 ; 不能少
初始化表达式先执行,且执行一次
判断布尔表达式真或者假
为真则执行循环体,执行完后执行更新表达式,再次执行循环体
直到布尔表达式为假,则结束循环。如果一开始为假,则不执行循环体。
死循环
for(;;)
{
System.out.println("死循环");
} //仅一行语句,大括号可以不加
【Crtl + C 结束运行】
for循环中定义的 i 其作用域仅限于所在循环体,无法在循环体外输出
for(int i = 0 ; ... ; ...)
{...}
【可以先定义在赋值】
int i ; i=1;
语句嵌套时,控制变量不要定义同一个字母
*******************************************************
/*使用for循环输出九九乘法表
*	1*1=1
*	2*1=2 2*2=4
*	3*1=3 3*2=6 3*3=9
*	4*1=4 4*2=8 4*3=12 4*4=16
*	5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
*	6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
*	7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
*	8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
*	9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
public class ForTest01
{
	public static void main(String[] args)
	{
		int i = 0;
		for (i = 1 ;i <= 9 ;i++)	//行数
		{
			for (int j = 1 ;j <= i ;j++)
			{
				System.out.print(i + "*" + j + "=" + i * j);
				System.out.print(" ");
			}
			System.out.print("\n");
		}
	}
}
**************************************************
【 while】
结构:
while(布尔表达式) //先判断表达式,true则执行循环体,false退出循环
{
循环体; //循环执行,执行完判断布尔表达式
}
死循环后的语句无法被访问,编译也许会报错
- do..while()
结构:
do{
循环体;
}while(布尔表达式);
先执行循环体,再判断表达式,循环体至少执行一次
* 控制循环的语句
【break】
不仅可以用于switch语句中的case
也可以用于终止循环语句,比如for循环
如遇到循环嵌套,则break终止离其最近的循环。
除非:

【continue】


------部分摘自B站动力节点教育集团
Java学习day05的更多相关文章
- Java 学习 day05
		01-面向对象(概述) 面向对象 -- 冰箱.打开:冰箱.存储:冰箱.关闭: 02-面向对象(举例) 使用和指挥 -- 对象,不需要关注过程,只关注结果: 一切皆对象,万物皆对象 -- 自<T ... 
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
		什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ... 
- 0035 Java学习笔记-注解
		什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ... 
- 分享篇——我的Java学习路线
		虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ... 
- Java学习笔记(04)
		Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ... 
- Java学习心得之 HttpClient的GET和POST请求
		作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ... 
- 0032 Java学习笔记-类加载机制-初步
		JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ... 
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
		垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ... 
- 0028 Java学习笔记-面向对象-Lambda表达式
		匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ... 
随机推荐
- 为什么网站URL需要设置为静态化
			http://www.wocaoseo.com/thread-95-1-1.html 为什么网站URL需要静态化?网站url静态化的好处是什么?现在很多网站的链接都是静态规的链接,但是网站 ... 
- 关于提高服务器的带宽策略bonding
			一:bonding的概念 所谓bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容.高可用或者负载均衡. 二:bonding的优势 1 网络负载均衡 2 提高带宽网络传输效 ... 
- 使用JS制作小游戏贪吃蛇
			先看效果图: 过程如下: 1.首先创建一张画布地图<div class="map"> </div>: 2.创建食物的自调用函数 (function (){ ... 
- Spring Validation-用注解代替代码参数校验
			Spring Validation 概念 在原先的编码中,我们如果要验证前端传递的参数,一般是在接受到传递过来的参数后,手动在代码中做 if-else 判断,这种编码方式会带来大量冗余代码,十分的不优 ... 
- Labview学习之路(一)程序框图中的修饰
			很多小伙伴知道在前面板有很多修饰符,比如上凸框,加粗下凹框等等,但是其实在程序框图中也是有修饰符的,他的位置比较隐蔽,并且修饰符很少,所以很多人基本没有用过.现在就给大家介绍一些这些程序框图种的修饰. ... 
- 游戏UI系统设计
			1.需要实现的功能 UI界面的管理(窗体加载.窗体显示.窗体隐藏.窗体销毁等) UI分层次(比如弹窗.广播信息需要在上层) UI界面的出场.入场动画 UI界面的显示效果(比如带透明背景.带高斯模糊背景 ... 
- Git在windows上的设置详解
			这几天在学习使用Git版本管理工具,发现期间的各种配置还是挺繁琐的,而且好多命令的确记不住,于是写个blog记录下来,方便以后查阅. 1. 首先到GitHub官网上下载最新的Git,然后装上,装的过程 ... 
- 【pytest】teardown里的yield和addfinalizer
			在之前介绍pytest中的fixture用法的文章中https://zhuanlan.zhihu.com/p/87775743,提到了teardown的实现. 最近在翻pytest官方文档的时候,又发 ... 
- Tomact的中文乱码设置
			在使用Tomact时,有时候使用中文时,窗口会把中文部分显示为乱码,这时需要修改相关配置,让其正常显示. 1.修改server.xml的配置,解决显示窗口的乱码 打开Tomcat下/bin/serve ... 
- PHP + Redis 生成自定义订单编号
			/** * 订单编号生成规则 * 14位 = 6位时间 + 5位自增 + 3位ID * @param string $prefix 前缀: 默认为order * @param int $userId ... 
