swift和python语法区别_Swift OC JavaScript Java Python语法总结

前言

在这几种编程语言中,可以大概的分成两类,强类型语言与弱类型语言。强类型语言指的是在声明变量及函数参数时,需要指定某个数据类型。弱类型语言则是相反,在程序执行该语句时才去判断该变量(常量)的类型,弱类型语言又称解释型语言,在程序运行时才去执行该语句,无需所有代码编译成目标代码(机器语言)后才执行。

指针

高级语言发展至今为了让开发者更加简单及快速的开发,已经渐渐的把指针这个概念淡淡弱化,在这几个语言中目前只有OC存在着指针的概念,因为OC在设计之初就是为了在C语言上面添加面向对象思想而诞生的。但了解指针能够更好的清楚数据结构及算法等概念,以达到更好的编程思想及有效的设计逻辑。

废话不多少,马上就来

我们会从常量,变量,运算符,流控制目的是为了总结这几种语言在语法上的区别,巩固现在已学的知识。

变量 常量

在例子中午会用int等基本数据类型与objcet(对象)类型来对比这两种类型直接的差异

//常量 变量

#Swift

var a = "str" ;

let b = 1 ;

#Objective-C (OC)

NSString* a = @"str";

int const b = 1 ;

#Java

String a = "str";

final int b = 1;

#Python

a = "str" ;

B = 1 ;

#JavaScript(ES6)

var a = "str";

let b = "str";

const c = 1

编译型语言swift,OC,Java中,比较特别的是在swift中,当该变量(常量)声明的那一刻系统就会根据值的类型去指定变量(常量)的类型,并不是swift语言是弱类型语言。

在解释性语言中Python,JavaScript中,稍有区别的是,Python并没有常量这个概念,进过百度了一番后常量通常会用大写字母来表示(需考究)。JavaScript在ES6中声明变量(常量)有let字段,var变量,const常量,let字段声明的是在该代码块中的变量,let的作用域只在于该代码块中。

函数

//函数

#Swift

func a(num:int) => int{

return num ++

}

#Objective-C (OC)

-(int)a:(int)num {

return num++;

}

#Java

public int a(int num) {

return num++;

}

#Python

def a(num) :

return num++;

#JavaScript(ES6)

function a (num){

return num++;

}

声明函数语法除了OC外大概相同,须注意Swift用func ,Python用def,JavaScript用function.

总结:在编译型语言中声明变量(常量)中,需要指定该类型。解释型语言无需声明类型

1.OC:

在基本数据类型int float double 类型中直接用该int float double,在继承NSObject的类中需要对该类型后添加*

在函数的结构为:【-(返回类型)方法名With参数1:(参数类型)参数1 参数2:(参数类型)参数】;

2.Swift:

声明时会根据该值去指定类型,也可以通过let a:int = 1 强制指定类型

在函数的结构为:【是否公开 func 方法名(参数1:参数类型,参数2:参数类型)】

3.Java

指定该类型时无论是int 还是其他无需添加*

在函数的结构为:【是否公开 返回类型 方法名(参数类型 参数1, 参数类型 参数2) 】

4.Python

在函数的结构为:【def 方法名(参数1,参数2):】

Python语句中无 {}语法,需要是用:来代替{ ,所以Python是需要严格遵守缩进原则

5.JavaScript

在函数的结构为:【function 方法名(参数1,参数2)】

打印调试:

Objective-C: NSLog(@"%@",@"string");

Swift: print("string");

Java: system.out.println("string");

Python: print("string");

JavaScript: console.log("string");

运算符 流控制

整理出相同与不同的地方,由于语言的语法不同,但是思路相同,在此我用swift来表示

相同

#加减乘除 自加 自检

var a = 10;

a =a + 5 => a +=5; //加

a =a - 5 => a -=5; //减

a =a * 5 => a *=5; //乘

a =a / 5 => a /=5; //除

a++; //自加

a--; //自减

#判断语句

if (条件为真) {

条件真执行语句

}else{

条件假执行语句

}

#遍历语句

for (int i=0,i<10;i++) {

遍历语句

}

#分支语句

switch (参数){

case 条件1:{

条件1执行语句

break;

}

case 条件2:{

条件2执行语句

break;

}

default:

}

}

不相同

1.java中的布尔值声明中 用boolean声明,其他语言都用Bool

2.swift中的布尔值只能接受true,false 不支持yes ,no

3.swift 不支持 a+=1 a=+1 该操作

4.swift 不支持 for循环,只支持 for i in ..<10,

5.在JavaScript语句中

= 代表赋值

== 代表值相同 (由于JavaScript是解释型语言,“1” == 1 是为true)

===代表类型相同,值相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值