激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

2020-11-01 22:52天命劍主 JAVA教程

這篇文章主要介紹了Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型的相關(guān)資料,需要的朋友可以參考下

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

一切都是對(duì)象.

在Kotlin中一切都是對(duì)象.Kotlin有一些基本類(lèi)型Boolean,Byte,Shot,Int,Long,Float,Double

在Kotlin中沒(méi)有原始類(lèi)型,以上這些類(lèi)型都是對(duì)象,比如

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

運(yùn)行結(jié)果如下

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

Kotlin支持16進(jìn)制字面值,二進(jìn)制字面值和科學(xué)記數(shù)法,官方文檔中沒(méi)有提到8進(jìn)制

所有基本的幾個(gè)數(shù)據(jù)類(lèi)型不會(huì)進(jìn)行顯式類(lèi)型轉(zhuǎn)換,這一點(diǎn)尤為重要!那么如何進(jìn)行轉(zhuǎn)換呢?如下:

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

可以使用toLong,toInt,toShort,toChar等函數(shù)進(jìn)行轉(zhuǎn)換,不僅如此,數(shù)組Array<>也是對(duì)象,不但可以通過(guò)asList函數(shù)轉(zhuǎn)換為L(zhǎng)ist對(duì)象,數(shù)組類(lèi)甚至包含了一個(gè)用于計(jì)算平均值的average函數(shù).實(shí)際上Kotlin數(shù)組真的很像Collection(雖然Array并沒(méi)有實(shí)現(xiàn)Collection接口).數(shù)組類(lèi)還有其他很多函數(shù),現(xiàn)在初學(xué)Kotlin還并不清楚用途.Kotlin畢竟太新,能找到的教程幾乎只有一本英文的官方文檔.(如果我能學(xué)完的話(huà)那么我的這些blog或許也能成為教程.)

我們還看到了一些有趣的東西,比如在字符串中使用${}進(jìn)行替換,字符串中的代碼會(huì)被執(zhí)行,最后的結(jié)果被插入到字符串中,這一點(diǎn)簡(jiǎn)直和UnixShell腳本里面的替換語(yǔ)法如出一轍,想來(lái)Kotlin也是受到了很多語(yǔ)言的啟發(fā).

這段代碼運(yùn)行結(jié)果如下

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

關(guān)于數(shù)組的初始化,也很有趣,如下:

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

前面已經(jīng)說(shuō)過(guò)了arrayOf()函數(shù)可以創(chuàng)建一個(gè)數(shù)組,Kotlin自動(dòng)判斷類(lèi)型,比如x就是Array類(lèi)型,那么y是什么類(lèi)型呢?

y最后會(huì)變成Array>類(lèi)型,Comparable是一個(gè)表示"可比較"含義的接口,Any代表任何類(lèi)型,問(wèn)號(hào)代表可以為null,雖然暫時(shí)看不懂,不過(guò)這并不影響.

除了arrayOf函數(shù),還有intArrayOf,longArrayOf,doubleArrayOf等等函數(shù)

除此之外,Array有自己的構(gòu)造函數(shù),第一個(gè)參數(shù)是數(shù)組元素個(gè)數(shù),第二個(gè)參數(shù)是一個(gè)lambda表達(dá)式或者說(shuō)一個(gè)函數(shù)或者說(shuō)一個(gè)迭代器(某種意義上可以看作一樣?xùn)|西),在Kotlin中一定程度上實(shí)現(xiàn)了統(tǒng)一.

lambda或者說(shuō)迭代器在Kotlin中使用非常普遍,相信大家已經(jīng)深有體會(huì) :-)經(jīng)常看到默認(rèn)的那個(gè)it(笑)

運(yùn)行結(jié)果不出所料,如下

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

iterator從0開(kāi)始哦!

i.plus(i)等同于i+i,plus就是加法函數(shù).Kotlin就是通過(guò)將操作符與函數(shù)進(jìn)行綁定實(shí)現(xiàn)了操作符重載的功能(這個(gè)以后再看)

除了基本類(lèi)型,數(shù)組類(lèi)型,還有其他的類(lèi)之外,Kotlin還有很多有趣的類(lèi)型(當(dāng)然他們都是對(duì)象),比如Range就是Kotlin中的一種極其有趣的類(lèi)型,如下:

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

Range,顧名思義,就是一個(gè)范圍,這個(gè)函數(shù)第一句代碼定義x為IntRange類(lèi)型(當(dāng)然也存在DoubleRange,LongRange等),

根據(jù)1.rangeTo(5)我們可以猜測(cè)x就代表1到5這樣一個(gè)范圍,那么這樣的范圍有什么用呢?

很明顯可以用在循環(huán)中(不是所有的Range都可以用在循環(huán)中,要想在循環(huán)中使用Range,必須實(shí)現(xiàn)iterator)

從for(a:Int in x) print("$a\t")一句我們可以看出,Range實(shí)際上可以用來(lái)限制循環(huán)控制變量的范圍

這段代碼輸出如下

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

當(dāng)然對(duì)于Kotlin這樣追求簡(jiǎn)潔到極致的語(yǔ)言,使用val x:IntRange = 1.rangeTo(5)實(shí)在是太麻煩了,

你可以直接使用var y = 1..5達(dá)到相同的效果,不僅如此,在for循環(huán)中a:Int也可以簡(jiǎn)化為a

編譯器可以自動(dòng)判斷數(shù)據(jù)類(lèi)型,其實(shí)在前面的代碼中所有的數(shù)據(jù)類(lèi)型聲明都可以省略,就像這樣

Kotlin基礎(chǔ)教程之?dāng)?shù)據(jù)類(lèi)型

大多數(shù)變量的類(lèi)型,編譯器會(huì)自動(dòng)判斷,我之所以把類(lèi)型寫(xiě)出來(lái)是為了讓諸位更容易看清楚代碼.

如果你仔細(xì)發(fā)現(xiàn)的話(huà),在Kotlin中還有很多簡(jiǎn)化代碼的方法,盡量少敲鍵盤(pán)是這個(gè)語(yǔ)言很大的特點(diǎn).

另外,這是我們第一次看到控制流(for循環(huán)),控制流的東西我打算留到后面,畢竟Kotlin的基本語(yǔ)法特性是在太多了(當(dāng)然也是考慮到在控制流之前應(yīng)該先了解操作符,畢竟Kotlin可是支持操作符重載的(笑)).

另外:在Kotlin中Unit類(lèi)型相當(dāng)于Java中的void,Unit有時(shí)也可以省略.

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

延伸 · 閱讀

精彩推薦
497
主站蜘蛛池模板: 九九看片 | 色欲香天天天综合网站 | 久久精品免费国产 | 国产精品一区二区免费在线观看 | 成人免费一区二区三区视频网站 | 大胆在线日本aⅴ免费视频 永久免费毛片 | 中国女人内谢8xxxxxx在 | 人人看人人舔 | 中国女警察一级毛片视频 | 欧美在线观看视频一区 | 中文字幕精品亚洲 | 九九视屏 | 亚洲欧美日韩久久精品第一区 | 久久99深爱久久99精品 | 91香草视频 | 一区二区三区黄色 | 久久网页| 水多视频在线观看 | 曰批全过程40分钟免费视频多人 | 一本色道精品久久一区二区三区 | 法国性xxx精品hd专区 | 99久久久国产精品 | 亚洲欧美日韩一区二区三区在线观看 | 亚洲精品a级 | 国产91精品久久久 | 婷婷久久影院 | 日韩av影片在线观看 | 亚洲国产高清视频 | 亚洲精品免费播放 | 国产精品免费观在线 | 欧美一级毛片一级毛片 | 欧美成人高清视频 | 国产精品呻吟 | 久久经典视频 | 91精品国产刺激国语对白 | 最新91在线视频 | 欧美成人一区免费视频 | 亚洲精品久久久久久 | 国产精品av久久久久久久久久 | 欧美日韩一区,二区,三区,久久精品 | 久久精品国产清自在天天线 |