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的更多相关文章

  1. Java 学习 day05

    01-面向对象(概述) 面向对象 -- 冰箱.打开:冰箱.存储:冰箱.关闭: 02-面向对象(举例) 使用和指挥 -- 对象,不需要关注过程,只关注结果: 一切皆对象,万物皆对象  -- 自<T ...

  2. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  3. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  4. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  5. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  6. Java学习心得之 HttpClient的GET和POST请求

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...

  7. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  8. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  9. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

随机推荐

  1. JAVA开源软件的技术选型--开源软件诞生2

    技术准备--第2篇 用日志记录“开源软件”的诞生 赤龙ERP开源地址,点亮星标,支持一下,万分感谢 码云:https://gitee.com/redragon/redragon-erp github: ...

  2. Qt 怎样生成带图标的exe

    一.问题描述 当我们在 Windows 下用 VS 生成 exe 程序时,如果窗口程序指定了图标,那么生成的 exe 程序便是指定的图标模样. 但是,当使用 Qt Creator 编译程序却不同.即使 ...

  3. [ASP.NET Core开发实战]基础篇06 配置

    配置,是应用程序很重要的组成部分,常常用于提供信息,像第三方应用登录钥匙.上传格式与大小限制等等. ASP.NET Core提供一系列配置提供程序读取配置文件或配置项信息. ASP.NET Core项 ...

  4. PHP 日期与时间函数详解

    在开发过程中,我们经常碰到日期与时间戳相关的功能,今天趁此机会做个详细笔记. date_default_timezone_set('PRC'); /*把时间调到北京时间,php5默认为格林威治标准时间 ...

  5. 2. Bean Validation声明式校验方法的参数、返回值

    你必须非常努力,才能干起来毫不费力.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...

  6. amd、cmd、CommonJS以及ES6模块化

    AMD.CMD.CommonJs.ES6的对比 他们都是用于在模块化定义中使用的,AMD.CMD.CommonJs是ES5中提供的模块化编程的方案,import/export是ES6中定义新增的 什么 ...

  7. stf-多设备管理平台搭建

    项目地址: https://github.com/openstf/stf 安装.使用命令 # 安装stfbrew install rethinkdb graphicsmagick zeromq pro ...

  8. 【C#】静态构造方法与静态变量

    扯下闲篇先,本来今天预计整理下委托.事件.Lamada的笔记,然后再把单例模式的懒汉.饿汉模式看完. 在看到懒汉的双重加锁设计时,向同桌贩卖了下该设计的优点,结果反被同桌的一个问题难倒了~! 一. 有 ...

  9. three.js尝试(二)模拟游戏开发:3D人物在地图上行走

    本次尝试,模拟了一个小人物在场景中行走,使用简单模型建立了森林,图片纹理模拟草地,加载3D模型呈现人物,使用按键asdw模拟人物的行走,行走和站立时人物的切换等. 主要用到点:3D模型的加载,模型的动 ...

  10. leetcode刷题-55跳跃游戏

    题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 思路 贪心算法:记录每一个位置能够跳跃到的最远距离,如果 ...