java和swift差别_swift语法和java的比较

标签:

1. 定义常量和变量

a. Swift语法

常量:

let MaxNumber = 10

变量:

var name = 1

b. Java语法

常量:

public final int MaxNumber= 10;

变量:

public String name = "morden";

这里要注意的是swift有类型标注(type annotation)这个语法:如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。但是因为swift编译器可以进行类型安全判定,所以一般为了代码简练,

可以不加类型标注,关于类型标注,后面会有提到。加类型标注的语法如下:

常量:

let MaxNumber :Int = 10

变量:

var name : String = "morden"

常量与变量名不能包含数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。也不能以数字开头,但是可以在常量与变量名的其他地方包含数字。

2. Swift和Java的输出语法

Swift:

print("hello world")

Java

System.out.println("hello world");

3. 注释

Swift和Java注释大体相同,都可以单行注释和多行注释。唯一不同点就是Swift支持多行注释可以嵌套在其它的多行注释中。

/*这是第一个多行注释的开头

/* 这是第二个被嵌套的多行注释*/这是第一个多行注释的结尾 */

4. 分号

Java要求每一行代码都有分号,而Swift不同,不要求每一行必须有分号,但是一种情况除外:当在同一行内写多条独立的语句时候,每个语句需要分号隔开

let apple : String = "apple" ; print("hello world");

5. 类型标注

类型标注:在Swift中,每次声明常量和变量的时候,不是一定要显式指定类型。如果你没有显式指定类型,Swift 会使用类型推断(type inference)来选择合适的类型。有了类型推断,编译器可以在编译代码的时候自动推断出表达式的类型。Swift 和Java都是一个类型安全(type safe)的语言。如果你申明的变量是String类型的时候,再对其进行赋值时候,传了int类型,编译器会报错。但是在语法上,这两个语言有所不同。

Java一般申明变量时候,会将类型放在前面,如下代码:

String name = "morden";

Swift会将类型放在后面,如下代码:

var name : String = "morden"

而有时候,我们申明变量时候,不加类型,编译器就会自己推断变量类型,这就是类型标注

在Swift中,具体类型标注代码如下:

let number = 42

number会被推测为 Int 类型

let anotherNumber = 3 + 0.14159

原始值 anotherNumber 没有显式声明类型,而表达式中出现了一个浮点字面量,所以表达式会被推断为Double类型。

6. 数值型字面量

Swift和Java在数值型字面量方面有很多异同,只有十进制和16进制表示是相同的。

Swift:

一个十进制数,没有前缀

一个二进制数,前缀是0b

一个八进制数,前缀是0o

一个十六进制数,前缀是0x

Java:

一个十进制数,没有前缀

一个二进制数,Java没有二进制的表示方式,一般都16进制表示

一个八进制数,前缀是0

一个十六进制数,前缀是0x

另外,Swift数值类字面量可以包括额外的格式来增强可读性。整数和浮点数都可以添加额外的零并且包含下划线,并不会影响字面量:

let paddedDouble = 000123.456let oneMillion=1_000_000

let justOverOneMillion= 1_000_000.000_000_1

参考链接:

http://special.csdncms.csdn.net/the-swift-programming-language-in-chinese/Introduction/template/chapter2/01_The_Basics.html

标签:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值