1. 1 不可撤销
  2. 2 小年兽 程嘉敏
  3. 3 手放开 李圣杰
  4. 4 迷人的危险3(翻自 dance flow) FAFA
  5. 5 山楂树之恋 程佳佳
  6. 6 summertime cinnamons / evening cinema
  7. 7 不谓侠(Cover 萧忆情Alex) CRITTY
  8. 8 神武醉相思(翻自 优我女团) 双笙
  9. 9 空山新雨后 音阙诗听 / 锦零
  10. 10 Wonderful U (Demo Version) AGA
  11. 11 广寒宫 丸子呦
  12. 12 陪我看日出 回音哥
  13. 13 春夏秋冬的你 王宇良
  14. 14 世界が终わるまでは… WANDS
  15. 15 多想在平庸的生活拥抱你 隔壁老樊
  16. 16 千禧 徐秉龙
  17. 17 我的一个道姑朋友 双笙
  18. 18 大鱼  (Cover 周深) 双笙
  19. 19 霜雪千年(Cover 洛天依 / 乐正绫) 双笙 / 封茗囧菌
  20. 20 云烟成雨(翻自 房东的猫) 周玥
  21. 21 情深深雨濛濛 杨胖雨
  22. 22 Five Hundred Miles Justin Timberlake / Carey Mulligan / Stark Sands
  23. 23 斑马斑马 房东的猫
  24. 24 See You Again Wiz Khalifa / Charlie Puth
  25. 25 Faded Alan Walker / Iselin Solheim
  26. 26 Natural J.Fla
  27. 27 New Soul Vox Angeli
  28. 28 ハレハレヤ(朗朗晴天)(翻自 v flower) 猫瑾
  29. 29 像鱼 王贰浪
  30. 30 Bye Bye Bye Lovestoned
  31. 31 Blame You 眠 / Lopu$
  32. 32 Believer J.Fla
  33. 33 书信 戴羽彤
  34. 34 柴 鱼 の c a l l i n g【已售】 幸子小姐拜托了
  35. 35 夜空中最亮的星(翻自 逃跑计划) 戴羽彤
  36. 36 慢慢喜欢你 LIve版(翻自 莫文蔚) 戴羽彤
  37. 37 病变(翻自 cubi) 戴羽彤
  38. 38 那女孩对我说 (完整版) Uu
  39. 39 绿色 陈雪凝
  40. 40 月牙湾 LIve版(翻自 F.I.R.) 戴羽彤
夜空中最亮的星(翻自 逃跑计划) - 戴羽彤
00:00 / 04:10

夜空中最亮的星 能否听清

那仰望的人 心底的孤独和叹息

夜空中最亮的星 能否记起

那曾与我同行 消失在风里的身影

我祈祷拥有一颗透明的心灵

和会流泪的眼睛

给我再去相信的勇气

越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请指引我靠近你

夜空中最亮的星 是否知道

那曾与我同行的身影 如今在哪里

夜空中最亮的星 是否在意

是等太阳先升起 还是意外先来临

我宁愿所有痛苦都留在心底

也不愿忘记你的眼睛

哦 给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行 哒~

我祈祷拥有一颗透明的心灵

和会流泪的眼睛 哦

给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行

小黄鸭系列java基础知识 | 基础语法:流程控制

基础语法:流程控制

前言

今天我们要探讨的是java的流程控制,流程简单来说就是就是做一件事的步骤,比如我们要创建一个java项目,第一步打开ide工具,第二步创建项目,第三步创建类,这就是一个流程,今天分享的就是java的流程控制语句,当然,对于上面简单的流程是不需要任何流程控制的,因为每一步都是确定的,但是在现实生活中大部分事务的流程都是复杂的,这时候流程控制就显得尤为重要了。就拿我每周更新公众号这件事来说,周一到周五,每天发送每日读书札记图片,如果是周六,推送一篇文章,发送每日读书笔记,没有特殊情况基本上都是这样,用流程图描述的话应该是这样的:

上面这个流程很简单,但是已经包含了我们今天要讲的流程控制的两部分:条件语句和循环语言。“今天有特殊情况吗”、“今天是周六吗”,这些都是条件语句,因为每天都要做这个事,所以整个事件又是一个不断循环重复的事件,概念层面的介绍就到这里,讲的好不好就这样😂,我们开始今天的核心内容。

流程控制

条件语句

条件语句简单讲就是根据不同的条件(逻辑判断),执行不同的操作

if语句

if是最简单的条件语句,也是最常用的条件语句

语法结构
if(条件语句) {
    要执行的操作
}
示例
int i = 0
if(i == 0) {
	System.out.print("i的值是0");
}

示例输出结果:

i的值是0

if-else语句

if-elseif的增强版,他分为两块,一块是满足条件执行的操作,一块是不满足条件执行的操作

语法结构
if(条件语句) {
    满足条件的操作
} else {
    不满足条件的操作
}

if-else本身也是支持多层嵌套的,具体语法如下:

if(条件语句) {
    满足条件的操作
} else if(条件语句2) {
    满足条件2的操作
} else if(条件语句2) {
    满足条件3的操作
    .......
} else if(条件语句n){
    满足条件n的操作
}else {
    不满足条件的操作
}
示例
int a = 6;
if(a > 0) {
    System.out.println("a大于0");
} else {
    System.out.println("a小于等于0");
}

示例输出结果:

a大于0
示例2
int a = 6;
if(a > 10) {
    System.out.println("a大于10");
} else if(a > 5) {
    System.out.println("a小于10大于5");
} else if(a > 0) {
    System.out.println("a小于5大于0");
} else {
    System.out.println("a小于等于0");
}

示例输出结果

a小于10大于5

switch语句

相比于ifswitch更适合精确匹配的流程控制,因为switch需要的是条件值,而不是条件语句。这里需要注意的是,条件值目前只能是charbyteshortintStringenumCharacterByteShortInteger,而且如果你的jdk版本是在JDK1.7以前的,是不支持String的,String1.7增加的。

语法结构
switch (条件值) {
    case 匹配值1: 
        // 当为匹配值1时,要执行的操作
        break;
    case 匹配值2:
        // 为匹配值2时,要执行的操作
        break;
    case 匹配值3:
        // 为匹配值3时,要执行的操作
        break;
    default:
        // 默认值,即不等于上面所有值是执行的操作
        break;
}
示例
int a = 3;
switch (a) {
    case 1:
        // 当a为1时,要执行的操作
        System.out.println("a的值是1");
        break;
    case 2:
        // a为2时,要执行的操作
        System.out.println("a的值是2");
        break;
    case 3:
        // a为3时,要执行的操作
        System.out.println("a的值是3");
        break;
    default:
        // 默认值,即a不等于上面所有值是执行的操作
        System.out.println("a的值不在1、2、3中");
        break;
}

示例输出结果:

a的值是3

为什么每个case后面都要加一个break,因为不加的话,从他匹配到的case开始,后面所有case的代码都会被执行,如果把上面的break都拿掉的话,那最后的输出结果就会变成:

a的值是3
a的值不在1、2、3中

有兴趣的小伙伴可以自己去尝试哦

三目运算

三目运算一般出现在赋值语句中,需要注意的是,在使用三目运算的时候,一定要做NPE(空指针)判断

语法结构
要赋值的变量 = 条件语句 ? 条件为真的值 : 条件为假的值
示例
int a = 3;
int c = a > 0 ? a : 0;
System.out.println("c = " + c);

示例执行结果:

c = 3

循环语句

编程的目的就是为了提高效率,减少重复操作,所以循环语句为这个目的提供了可能,我无法想象没有循环语句的编程世界……

for循环

for循环是最基本最简单的循环语句,基本上所有的语言都有for而且结构也大同小异

语法结构
for(初始值; 执行循环的条件; 执行完循环要进行的操作) {
    要循环的操作(循环体)
}
示例
for (int i = 0; i < 1000; i++) {
	System.out.println("我是云中志");
}

示例运行结果:

我是云中志
...省略999个...

简单说一下,上面的示例就是循环打印输出“我是云中志”,如果不用循环操作,那我得累死(手写1000个System.out.println,我怕是要疯了)。上面的循环条件是i < 1000,每次循环完成后i加1,当然你也可以这样写:

 int i = 0;
for (; i < 1000;) {
    System.out.println("我是云中志");
    i++;
}

如果你连中间的循环条件也不想要了,那个他就变成了死循环,他可以一直执行下去,直到地老天荒😂

for (;;) {
     System.out.println("我是云中志");
 }

while循环

for循环类似

语法结构
while(循环执行条件) {
  需要循环执行的操作(循环体)
}
示例
int k = 0;
while (k < 1000) {
    System.out.println("我是云中志");
    i++;
}

有没有感觉和我们上面变形的for很像

while的死循环

while(true) {
	System.out.println("我是云中志");
}

do-while循环

和前面两个循环不同的是,do-while循环是先执行后判断,所以对于do-while循环而言,他至少会执行一次

语法结构
do {
  需要循环的操作(循环体)
} while(执行循环的条件)
示例
int m = -3;
do {
	System.out.println("我是云中志");
	m++;
}while (m > 0);
System.out.println("m的值:" + m);

最终的运行结果:

我是云中志
m的值:-2

虽然这里的m小于0,但是循环依然依然执行了一次,这也是do-while和其他循环最大的不同

结语

今天我们介绍了java的流程控制,主要内容就是条件语句和循环操作,总体来说流程控制部分还是很简单的,但是简单并不意味着不重要,可以这样说我们所有的业务操作,都离不开流程控制,离开了流程控制,那绝大多数业务是没有办法完美实现的,所以在初学阶段一定要掌握好流程控制。下周我们要回到数据类型,探讨数据类型的包装类。好了,今天就到这里吧。小伙伴们放假回家了吗?

posted @ 2021-02-06 12:08  云中志  阅读(91)  评论(0编辑  收藏  举报