首页 > 编程语言 >java初步学习(基于黑马的课进行自学,初学者,不喜勿喷)6

java初步学习(基于黑马的课进行自学,初学者,不喜勿喷)6

时间:2022-08-20 08:45:18浏览次数:51  
标签:语句 case java 代码 break 初学者 格式 不喜 表达式

初步学习

流程控制语句

顺序结构

顺序结构指java运行结果的排序由代码的先后顺序决定

image

image

if语句

if的基本格式为
if (关系表达式){
语句体;
}
如果满足“()”内的关系表达式,则运行“{}”内的语句体,反之则不会运行
以该模型为例
需求:键盘录入一整数来表示身体状况,若该值大于2,则可以喝两瓶酒,反之则不行
所写代码
image
输入3
image
输入2
image
由此可见“if”语句的运行规律

if的注意点

1.大括号的开头可以另起一行书写,但尽量写在第一行末尾
2.在语句体中,如果只有一句代码,则可以不写大括号(个人建议不要省略)
3.如果对一个布尔类型的变量进行判断,不要用“==”

if的第二种格式

第二种格式为
if(关系表达式){
语句体1;
}else{
语句体2;
}
逻辑:若关系表达式的值为“true”则运行“语句体1”,若关系表达式的结果为“false”则运行“语句体2”
以该模型为例
键盘录入一个整数表示自己的余额,若余额大于500,则可以用钱买新卡包,反之则用金币买
所写代码
image
输入1100
image
输入300
image
由此可见“if”的第二种格式规律

if的第三种格式

第三种格式为
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体n;
}
执行流程
若“关系表达式1”结果为“true”则运行“语句体1”,若“关系表达式1”结果为“false”,则计算“关系表达式2”
若“关系表达式2”结果为“true”则运行“语句体2”,若“关系表达式2”结果为“false”,则计算“关系表达式3”
...
若上述关系表达式结果全为“false”,则运行“语句体n”
以该模型为例
键盘录入一个整数作为余额,若余额数高于1000,则购买488预购,若余额数高于700低于1000则购买256黄金合集,若余额数高于400低于700,则购买128普通合集,若余额数低于400,则什么都不买
所写代码如下
image
由于我太懒一个一个试太麻烦,就不在这里贴上结果了

switch语句

switch的基本格式为
switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
case值3:
语句体3;
brak;
default:
语句体n;
break;
}
格式说明:1.表达式:(将要匹配的值)取值为byte,char,int,short(不可使用布尔类型),JDK5以后可以用枚举,JDK7以后可以用String
2.case:后面跟的是要和表达式进行比较的值(被匹配的值)
3.break:表示中断,结束的意思,用来结束switch语句
4.default:表示所有情况都不匹配的时候,就执行该处的内容
5.case后面的值只能是字面量,不能是变量
6.case给出的值不语序重复
以该模型为例:
键盘录入一个值,表示今天想要玩的游戏,现在可以玩的游戏为“死亡细胞,炉石传说,LOL”,若没有想玩的游戏,则跑去内卷
所写代码如下
image
输入“魔兽世界”
image
答案当然是继续内卷辣!!!

注意点

default:1.default可以不放在代码末端(不过我感觉放在其他地方比较难受)
2.default可以省略,若表达式没有契合的“case”,则不会输出任何结果

case穿透:如果每行代码后面没有写“break”,则会导致case穿透
如下图
image
将“break”注释掉
运行并输入“死亡细胞”,运行结果如下
image
case穿透的执行流程:先用语句体的内容进行匹配,会从匹配到的“case”处执行下一个“case”,直到遇到“break”或者“}”,因为该代码中没有“break”,所以会导致case穿透

简化switch

若“case”内只有一行代码,可以使用以下格式
case 1 -> System.out.println("...")

标签:语句,case,java,代码,break,初学者,格式,不喜,表达式
From: https://www.cnblogs.com/growth-a/p/16586962.html

相关文章

  • 【Java进阶】五分钟快速掌握JVM优化概念、常用命令、工具、JUC、多线程、GC等知识
    〇、概述1、资料 2、内容概括 一、概念(一)JVM (二)JUC (三)GC二、命令(一)JVM优化命令 (二)JUC命令三、工具(一)jdk工具......
  • 学习javaweb第2天(MyBatis快速入门)
    Mybatis几乎免除所有的JDBC代码以及设置参数和获取结果集的工作演示mybatis快速入门1、创建user表,添加数据:在sqlyog中输入一下代码,生成mybatis数据库,并且生成tb_user表......
  • Java网络编程
    Java网络编程Java为了可移植性,不允许直接调用操作系统,而是由java.net包来提供网络功能。Java虚拟机负责提供与操作系统的实际连接。以下是java.net包中的常用的类。InetA......
  • 生成JavaDoc
    1.第一步:首先创建一个新的文件夹。2.第二步:选中所要生成的包。3.第三步:点击键盘shift两下,搜索tools,并选择生成javadoc(GenerateJavaDoc)这个选项。4.第四部:红色圈的都......
  • JavaSE——Properties集合
    Properties集合Properties作为Map集合的使用介绍:是一个Map体系的集合类Properties可以保存到流中或从流中加载属性列表中的每个键及其对应的值都是一个字符串基本......
  • 16-java面向对象
    面向对象构造器--快捷键:alt+insert快速生产构造器构造器:和类名相同没有返回值作用:new本质在调用构造方法初始化对象的值注意点:定义有参构造后......
  • Java SE 12 新增特性
    JavaSE12新增特性作者:Grey原文地址:JavaSE12新增特性源码源仓库:Github:java_new_features镜像仓库:GitCode:java_new_featuresString类中新增的APIJavaSE......
  • Java开发-新的包和类
    JAVA日期类演变:Date→Calendar→LocalDate【年月日】LocalTime【时分秒】 LocalDateTime【年月日时分秒】是在JDK8引入参考文档:JAVA日期类......
  • 2022-08-19 田龙跃 JAVAWEB项目(小论坛)
    JAVA小项目E-R图个人理解:E-R图中每个实体到我们对java中就是一个domin类,字段就是属性流程图注册流程图登录流程图JSTL标签jstl表达式:表达式的用法也是见名知义(和......
  • 15-java数组
    数组......