C++、Java、JavaScript和python几个语句的对比介绍
C++、Java、JavaScript和python语言的for语句
C++、Java和JavaScript的for语句的语法类似如下:
for (初始条件; 循环条件; 循环后操作) {
// 循环体代码
}
初始条件是在进入循环之前执行的语句,初始化循环变量的值;循环条件是在每次循环开始之前判断的条件,控制循环是否继续执行;循环后操作是在每次循环结束之后执行的操作。循环体代码是每次循环时要执行的操作。
Python的 for语句一般是对一个序列进行遍历,其语法如下:
for 变量 in 序列:
# 循环体代码
Python中,for循环主要用于对一个序列进行迭代遍历。在for语句中,可以使用一个变量来依次表示序列中的元素,并在每次循环迭代时执行循环体代码。
C++和Java中都没有类似于Python和JavaScript的for-in语句
Python的for-in语句
语法如下:
for 变量 in 字典:
# 循环体代码
以下代码使用Python的for-in语句遍历字典的键和值:
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
# 遍历字典的键
for key in my_dict:
print(key)
# 遍历字典的值
for value in my_dict.values():
print(value)
# 遍历字典的键值对
for key, value in my_dict.items():
print(key, value)
需要注意的是,在Python中,for-in语句会按照字典的键的顺序进行遍历,但是字典的键值对的顺序是无法保证的。
JavaScript的for-in语句
在JavaScript中,for-in语句可以用于遍历对象的可枚举属性(包括自有属性和继承属性)。语法如下:
for (var 变量 in 对象) {
// 循环体代码
}
以下代码使用JavaScript的for-in语句遍历一个对象的属性:
var person = {name: "Alice", age: 25, city: "New York"};
// 遍历对象的属性
for (var key in person) {
console.log(key + ": " + person[key]);
}
需要注意的是,在使用for-in语句遍历对象属性时,可能会遍历到一些不需要的属性,比如对象原型链上的属性。为了避免这种情况,可以使用Object.hasOwnProperty()方法判断属性是否为对象自有属性。例如:
for (var key in person) {
if (person.hasOwnProperty(key)) {
console.log(key + ": " + person[key]);
}
}
这样就只会遍历对象自有属性。
Python没有C/C++、JavaScript、Java语言的do..while循环语句,而C/C++、JavaScript、Java语言的while和for循环语句没有else子句
Python中没有C/C++、JavaScript、Java语言的do..while循环结构。C/C++、JavaScript和Java语言中while和for循环语句没有else子句。
Python中的while和for循环语句都可以有(不是必须有)else子句,else子句在循环正常结束后执行(这意味着如果循环条件一开始就为假,那么else子句将不会执行),而在循环体被break语句打断跳出循环时不执行else子句。
下面是Python中while和for循环语句有else子句完成示例
count = 0
while count < 5:
print(count)
count += 1
else:
print("Loop finished")
输出:
0
1
2
3
4
Loop finished
for i in range(5):
print(i)
else:
print("Loop finished")
输出:
0
1
2
3
4
Loop finished
C++、Java和JavaScript中的switch语句
C++、Java和JavaScript中的switch语句的基本结构非常相似,语法如下:
switch(expression)
{
case value1:
// 代码块
break;
case value2:
// 代码块
break;
...
default:
// 代码块
}
其中expression是一个条件表达式,用于确定要执行哪个分支。每个分支由一个case标签和相应的代码块组成,表示与特定值匹配的情况。如果匹配成功,则执行相应的代码块,并且可以使用break关键字来终止switch语句的执行,避免进入下一个分支。如果没有任何一个分支匹配成功,则可以使用default标签定义一个默认分支,以处理未匹配的情况。
Python中没有 switch 语句。