Java程序员学习Go_流程控制语句
流程控制语句
- 流程控制语句
- 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_流程控制语句相关推荐
- java程序员学习路线以及我的学习经验
本文作者为优知学院创始人陈睿(mike),作者有10年以上技术&产品经验,曾任百度研发经理.携程定制旅游CTO. " 这是一篇完整的java程序员学习线路图,一共分为六个阶段. 我以 ...
- 2022年Java程序员学习规划图
2022年Java初级程序员的学习路线图: 入门基础:Java SE基础-->Java Web(含数据库+H5+js+vue) 中级技术:Maven-->Git-->SSM框架 -- ...
- 菜鸟入门:Java程序员学习之路
1. Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...
- java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...
不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...
- 转载一篇不错的文章:谈谈“野生”Java程序员学习的道路
逛论坛看到的一篇不错的文章,特此转载:本文转载自:左潇龙 原文链接:点击打开链接 引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想 ...
- 【非广告】2021 入门级的 Java 程序员学习路线图 1.0
Hello,大家好,我是阿粉,最近看文章发现一个 Java 学习路线图的资料,觉得很不错就拿过来分享给大家,目前这个版本是 1.0 的,之所以说这个是 1.0 的版本主要是因为还有一些高级内容没有加进 ...
- java程序员学习路线图
一张图简单粗暴的告诉你什么是java程序员学习路线,什么是 java程序员进阶路线?
- 美团149道面试题,全会拿40Koffer没问题(Java程序员学习方向)
一.数据结构与算法基础 · 说一下几种常见的排序算法和分别的复杂度. · 用Java写一个冒泡排序算法 · 描述一下链式存储结构. · 如何遍历一棵二叉树? · 倒排一个LinkedList. · 用 ...
- 写给自己的Java程序员学习路线图
恩,做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的 ...
最新文章
- spring MVC做form提交Neither BindingResult nor plain target object for bean name 'command' available...
- Spark环境搭建(一)-----------HDFS分布式文件系统搭建
- 音视频技术开发周刊 | 172
- 2019-02-28-算法-进化(盛最多水的容器)
- MFC + Access 用户验证程序(初级数据库编程)
- 最全面的智能锁领域常见的无线传输协议类型
- Linux命令解释之yum
- java 键盘输入密码,(JAVA)从键盘输入一批字符,以@结束,按要求加密并输出
- dns学习笔记03-配置master区域
- arping指令linux,arping
- Shopee虾皮电商平台考试题附答案
- gradle系列-1-gradle -x test clean build
- 使用Excel中的公式计算日期
- vivos9设置繁体语言方法分享
- Nat. Rev. Genet. | 通过可解释人工智能从深度学习中获得遗传学见解
- cmd命令,最新的装逼利器
- 实战详解Maven部署(deploy)jar到私有仓库Nexus及如何引入私仓jar包
- [转]李战大师-悟透delphi-第二章 DELPHI与WIN32时空
- private static final long serialVersionUID=1L作用
- SASS的了解与使用
热门文章
- 比较FRAM和MRAM的区别
- 【MR】现代机器人学--迭代Newton-Raphson法计算UR5位置逆解
- LTE系统半实物仿真测试平台ETest
- mysql脑裂_GALERA ARBITRATOR - 数据库多主集群对应脑裂的解决方案
- 精密制造业行业_机械行业:精密制造业深度报告-11101.ppt
- sony ericsson dbk file 的查看
- 农场游戏开发记录十六
- WordPress4.6命令执行漏洞(CVE-2016-10033)复现教程---保姆级教程
- 5年内 科技会场没机器人端茶倒水就太low了
- C语言函数调用错误信息打印