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)
         ===代表类型相同,值相同
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 3,318评论 3 25
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,891评论 2 9
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,023评论 3 119
  • 好怀念啊 那些经典电影 画过一次霸王别姬就停不下来了 这次选择了重庆森林
    微芒__阅读 272评论 2 5
  • 趁着一夜的月光,打开电脑,手指放在键盘上的一瞬间就知道,那一段时光,是我追随他脚步的开始,也是我二十三年飘飘...
    PC哥哥家的园园阅读 490评论 0 2