【语言对比】控制流语法对比

在了解各个语言支持的数据类型之后,接下来要对比的,就是各种语言支持的各种控制结构。

1、选择控制结构

Python的选择语句if/elif/else : 语法含义上和C++、JAVA语言没有区别,只是在语法格式上有所不同。首先,采用elif作为else if的缩写(其他的脚本语言中也大部分是这样),其次,对于每一个选择条件,有冒号作为截止,其他的语言都是采用{}来标识代码段的。Python中是没有类似于JAVA和C++中的switch语句的,至于原因,是因为python中有一个很好的方式能够代替switch,这里先卖个关子,以后再说。

2、循环控制结构

C++和JAVA中都支持for、while和do while这三种循环结构。Python中同样存在while和for循环,但是不支持do while循环。虽然Python中同样提供for循环,但是它for循环的语法,和C++中不太一样,但是和JAVA中支持的for in 是一样的。从下面的样例中可以看出来,Python中的for循环,只能是基于一个可以循环取值的sequence来操作的;它并不能支持支持我们从i=0循环到i=100;但是类似此类的循环逻辑是非常常见的,所以python通过一个函数range来弥补这个缺陷,我们通过range(100)取到的就是从0-99的自然数集合,通过对range(100)进行for循环,和从i=0一直++i到100的效果是一样的。

样例:

for i in a:

print i

while循环和C++以及java一样,都是通过True、False语句来判断是否继续循环,当然语法拼写上也略有差别:

while(a<100):

a = a+10;

print a

在C++中支持continue、break语句中断循环,JAVA中还支持通过标记退出到执行循环(用于嵌套循环中),Python中也支持break和continue语句退出循环。除此之外,它还提供了一个与for配套使用的else语句,用于完成循环正常结束后执行的逻辑,如果循环是break退出的,则这段逻辑不会被执行。

for i in a:

if i == 3:

break;

else:

print "i‘m else"

可以看出来,从控制语句上来说,python和c++以及java并没有很大的区别。但是在语法的书写上,不是很习惯,总是容易写错。对于增加的for else的逻辑,个人感觉意义不大,反而可读性不高,毕竟else的意思是不然就,很难记住其真正的含义是正常完成才执行。

【语言对比】控制流语法对比,布布扣,bubuko.com

时间: 2024-12-15 06:49:32

【语言对比】控制流语法对比的相关文章

几种常见语言的基本语法对比:数字处理

c++: 在不涉及到内存管理下,总体感觉很爽,又因为是unix自带编译器.非常爽.唯一一点就是枚举类型中的枚举值是好像是全局变量名.搞得枚举值命名很长. 语法基本没有太多停顿 ,这个例子中所涉及的语法部分和c#,java 很像. #include <iostream> using namespace std; enum enum_op { enum_op_add, enum_op_minus, enum_op_time, enum_op_divide }; int NumberCaculate

几种常见语言的基本语法对比:字符串

c++: 一段时间不写c++.简直又是忘光了.而其他语言几年不写.几个小时就回想起来了.还是c++太难了.各种用法.学的时候就没学明白. 写代码的时候,一直回想 ,如这个参数,是否用常引用.  vecotr是如何实现的?string是如何实现的.string[] 堆栈是如何放的. 只要涉及到堆.基本不用写代码了.一头郁闷包,算了c++.永别了.例子都不 敢写完.随便写下吧. #include <iostream> #include <vector> using namespace

从Android到iOS开发——(1)、objective-c与java语法对比

从Android到iOS开发--(1).objective-c与java语法 对比 从6月开始,因为有iOS项目要做,就开始了iOS开发之旅,截止今天,已经做了2个项目,给我的感受是iOS开发整体要比Android简单,但是开发细节上两者却又同样的烦恼.那么要想开发iOS,那么到底选择objective-c or swift,我的建议是前者,后者可以在swift2.0和xcode7 以后大家去学习会比较好些.好了,不废话了,下面咱们来看下objective-c和java语法上的比较,希望能让ja

c++和c语言的inline关键字对比

其实我一直比较喜欢C语言,对C++的了解少之又少,但是最近由于需要翻看起C++的书籍来.在C++沉思录当中,看到了这样一句话:“我还指出,由于这些成员函数定义在Trace类自身的定义内,C++会内联扩展它们,所以就使得即使在不进行跟踪的情况下,在程序中保留Trace对象也不必付出许多代价.——Koenig,<C++沉思录中文版>,page2”.K先生所举例的代码如下所示: 1 class 2 Trace{ 3 public : 4 Trace(){noisy = 0;} 5 void prin

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应:

没人能把一种程序语言的所有语法和关键字都记住,如果不知道,就查阅参考书

没人能把一种程序语言的所有语法和关键字都记住,不知道,就查阅参考书!!! 没人能把一种程序语言的所有语法和关键字都记住,不知道,就查阅参考书!!! 没人能把一种程序语言的所有语法和关键字都记住,不知道,就查阅参考书!!! 没人能把一种程序语言的所有语法和关键字都记住,不知道,就查阅参考书!!! 没人能把一种程序语言的所有语法和关键字都记住,不知道,就查阅参考书!!! 没人能把一种程序语言的所有语法和关键字都记住,不知道,就查阅参考书!!! 没人能把一种程序语言的所有语法和关键字都记住,不知道,就

Cocos2d-x 脚本语言Lua基本语法

Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲Lua语言的基础语法: 输出语句 变量定义及赋值 方法定义及调用 for迭代器的使用 --输出语句,"--"为Lua语言凝视 print("Hello Lua") --输出"Hello Lua" --定义变量.local为Lua的keyword,用来声

R语言笔记之语法篇

R语言基础之语法 分支结构Ifelse和 Ifelse函数 循环结构 for循环 while循环 repeat循环 breaknext 函数和包 1函数 1创建 2查看函数代码 3导入R文件 2包的安装和加载 1包的安装 2包的加载 向量化计算 1普通的加减乘除 2apply家族 1 applyxMARGIN2 2 lapply列表函数名函数其他参数 3 sapply列表函数名函数其他参数 4 mapply列表函数名函数其他参数 5 tapply向量因子因子列表函数函数名 3split 排序 数

看懂Gradle脚本(2)- Groovy语言的闭包语法

本篇文章讨论下面这一小段Gradle脚本: repositories { mavenCentral() } 闭包字面量 闭包字面量看起来像Java里的代码块:用一对儿花括号包起来.前面讨论过,方法调用的圆括号可以省略,补上圆括号之后,脚本看起来是这样: repositories({ // <-- mavenCentral() }) 如果闭包是方法的最后一个参数,那么闭包可以放在圆括号外面 也就是说,上面的代码写成这样也是可以的: repositories() { // <-- mavenCen