流程控制语句

  • 流程控制语句
    • if else(分支结构)
    • for(循环结构)
    • switch case
      • 跳出循环在Java和go中的关键字:break
      • 继续下次循环在Java和go中的关键字:continue

流程控制语句

if else(分支结构)

Java:

 int score = 65;if (score >= 90) {System.out.println("A");} else if score > 75 {System.out.println("B");} else {System.out.println("C");}

go:

 score := 65if score >= 90 {fmt.Println("A")} else if score > 75 {fmt.Println("B")} else {fmt.Println("C")}&&if score := 65; score >= 90 {fmt.Println("A")} else if score > 75 {fmt.Println("B")} else {fmt.Println("C")}

for(循环结构)

Java:

        List<String> list = new ArrayList<>();for (int i = 0; i < list.size(); i++) {System.out.println(i);}&&for (String s : list) {System.out.println(s);}

go:

 for i := 0; i < 10; i++ {fmt.Println(i)}&&i := 0for ; i < 10; i++ {fmt.Println(i)}&&i := 0for i < 10 {fmt.Println(i)i++}//无线循环,可以通过break、goto、return、panic语句强制退出循环for {循环体语句}

switch case

Java于go最大的不同是Java每个case逻辑结束后,需要加break; 否则后面所有case都将判定为true, 并执行里面的逻辑代码;
Java:

 public static void main(String[] args) {final int NUM1=1;//常量  final类型int num1=1;int weekDay=3;switch (weekDay) {case 1:System.out.println("星期一");break;case 2:System.out.println("星期二");break;case 3:System.out.println("星期三");break;case 4:System.out.println("星期四");break;case 5:System.out.println("星期五");break;case 6:System.out.println("星期六");break;case 7:System.out.println("星期日");break;default:System.out.println("无效输入");}}

go:

func switchDemo1() {finger := 3switch finger {case 1:fmt.Println("大拇指")case 2:fmt.Println("食指")case 3:fmt.Println("中指")case 4:fmt.Println("无名指")case 5:fmt.Println("小拇指")default:fmt.Println("无效的输入!")}
}
&&
func testSwitch3() {switch n := 7; n {case 1, 3, 5, 7, 9:fmt.Println("奇数")case 2, 4, 6, 8:fmt.Println("偶数")default:fmt.Println(n)}
}
&&
func switchDemo4() {age := 30switch {case age < 25:fmt.Println("好好学习吧")case age > 25 && age < 35:fmt.Println("好好工作吧")case age > 60:fmt.Println("好好享受吧")default:fmt.Println("活着真好")}
}

Go语言中fallthrough语法可以执行满足条件的case的下一个case,是为了兼容C语言中的case设计的。
go:

func switchDemo5() {s := "a"switch {case s == "a":fmt.Println("a")fallthroughcase s == "b":fmt.Println("b")case s == "c":fmt.Println("c")default:fmt.Println("...")}
}

输出:

 ab

跳出循环在Java和go中的关键字:break

但是Java中break只能跳出其所在循环体,
而go语言中break语句还可以在语句后面添加标签,表示退出某个标签对应的代码块,标签要求必须定义在对应的for、switch和 select的代码块上。
举个例子:
go:

func breakDemo1() {BREAKDEMO1:for i := 0; i < 10; i++ {for j := 0; j < 10; j++ {if j == 2 {break BREAKDEMO1}fmt.Printf("%v-%v\n", i, j)}}fmt.Println("...")
}

继续下次循环在Java和go中的关键字:continue

go语言中,continue语句可以结束当前循环,开始下一次的循环迭代过程,仅限在for循环内使用。
在 continue语句后添加标签时,表示开始标签对应的循环。例如:
go:

func continueDemo() {forloop1:for i := 0; i < 5; i++ {// forloop2:for j := 0; j < 5; j++ {if i == 2 && j == 2 {continue forloop1}fmt.Printf("%v-%v\n", i, j)}}
}

Java程序员学习Go_流程控制语句相关推荐

  1. java程序员学习路线以及我的学习经验

    本文作者为优知学院创始人陈睿(mike),作者有10年以上技术&产品经验,曾任百度研发经理.携程定制旅游CTO. " 这是一篇完整的java程序员学习线路图,一共分为六个阶段. 我以 ...

  2. 2022年Java程序员学习规划图

    2022年Java初级程序员的学习路线图: 入门基础:Java SE基础-->Java Web(含数据库+H5+js+vue) 中级技术:Maven-->Git-->SSM框架 -- ...

  3. 菜鸟入门:Java程序员学习之路

     1. Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...

  4. java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  5. 转载一篇不错的文章:谈谈“野生”Java程序员学习的道路

    逛论坛看到的一篇不错的文章,特此转载:本文转载自:左潇龙  原文链接:点击打开链接 引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想 ...

  6. 【非广告】2021 入门级的 Java 程序员学习路线图 1.0

    Hello,大家好,我是阿粉,最近看文章发现一个 Java 学习路线图的资料,觉得很不错就拿过来分享给大家,目前这个版本是 1.0 的,之所以说这个是 1.0 的版本主要是因为还有一些高级内容没有加进 ...

  7. java程序员学习路线图

    一张图简单粗暴的告诉你什么是java程序员学习路线,什么是 java程序员进阶路线?

  8. 美团149道面试题,全会拿40Koffer没问题(Java程序员学习方向)

    一.数据结构与算法基础 · 说一下几种常见的排序算法和分别的复杂度. · 用Java写一个冒泡排序算法 · 描述一下链式存储结构. · 如何遍历一棵二叉树? · 倒排一个LinkedList. · 用 ...

  9. 写给自己的Java程序员学习路线图

    恩,做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的 ...

最新文章

  1. spring MVC做form提交Neither BindingResult nor plain target object for bean name 'command' available...
  2. Spark环境搭建(一)-----------HDFS分布式文件系统搭建
  3. 音视频技术开发周刊 | 172
  4. 2019-02-28-算法-进化(盛最多水的容器)
  5. MFC + Access 用户验证程序(初级数据库编程)
  6. 最全面的智能锁领域常见的无线传输协议类型
  7. Linux命令解释之yum
  8. java 键盘输入密码,(JAVA)从键盘输入一批字符,以@结束,按要求加密并输出
  9. dns学习笔记03-配置master区域
  10. arping指令linux,arping
  11. Shopee虾皮电商平台考试题附答案
  12. gradle系列-1-gradle -x test clean build
  13. 使用Excel中的公式计算日期
  14. vivos9设置繁体语言方法分享
  15. Nat. Rev. Genet. | 通过可解释人工智能从深度学习中获得遗传学见解
  16. cmd命令,最新的装逼利器
  17. 实战详解Maven部署(deploy)jar到私有仓库Nexus及如何引入私仓jar包
  18. [转]李战大师-悟透delphi-第二章 DELPHI与WIN32时空
  19. private static final long serialVersionUID=1L作用
  20. SASS的了解与使用

热门文章

  1. 比较FRAM和MRAM的区别
  2. 【MR】现代机器人学--迭代Newton-Raphson法计算UR5位置逆解
  3. LTE系统半实物仿真测试平台ETest
  4. mysql脑裂_GALERA ARBITRATOR - 数据库多主集群对应脑裂的解决方案
  5. 精密制造业行业_机械行业:精密制造业深度报告-11101.ppt
  6. sony ericsson dbk file 的查看
  7. 农场游戏开发记录十六
  8. WordPress4.6命令执行漏洞(CVE-2016-10033)复现教程---保姆级教程
  9. 5年内 科技会场没机器人端茶倒水就太low了
  10. C语言函数调用错误信息打印