一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|

服務器之家 - 編程語言 - JAVA教程 - Kotlin基礎教程之數據類型

Kotlin基礎教程之數據類型

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

這篇文章主要介紹了Kotlin基礎教程之數據類型的相關資料,需要的朋友可以參考下

Kotlin基礎教程之數據類型

一切都是對象.

在Kotlin中一切都是對象.Kotlin有一些基本類型Boolean,Byte,Shot,Int,Long,Float,Double

在Kotlin中沒有原始類型,以上這些類型都是對象,比如

Kotlin基礎教程之數據類型

運行結果如下

Kotlin基礎教程之數據類型

Kotlin支持16進制字面值,二進制字面值和科學記數法,官方文檔中沒有提到8進制

所有基本的幾個數據類型不會進行顯式類型轉換,這一點尤為重要!那么如何進行轉換呢?如下:

Kotlin基礎教程之數據類型

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

我們還看到了一些有趣的東西,比如在字符串中使用${}進行替換,字符串中的代碼會被執行,最后的結果被插入到字符串中,這一點簡直和UnixShell腳本里面的替換語法如出一轍,想來Kotlin也是受到了很多語言的啟發.

這段代碼運行結果如下

Kotlin基礎教程之數據類型

關于數組的初始化,也很有趣,如下:

Kotlin基礎教程之數據類型

前面已經說過了arrayOf()函數可以創建一個數組,Kotlin自動判斷類型,比如x就是Array類型,那么y是什么類型呢?

y最后會變成Array>類型,Comparable是一個表示"可比較"含義的接口,Any代表任何類型,問號代表可以為null,雖然暫時看不懂,不過這并不影響.

除了arrayOf函數,還有intArrayOf,longArrayOf,doubleArrayOf等等函數

除此之外,Array有自己的構造函數,第一個參數是數組元素個數,第二個參數是一個lambda表達式或者說一個函數或者說一個迭代器(某種意義上可以看作一樣東西),在Kotlin中一定程度上實現了統一.

lambda或者說迭代器在Kotlin中使用非常普遍,相信大家已經深有體會 :-)經常看到默認的那個it(笑)

運行結果不出所料,如下

Kotlin基礎教程之數據類型

iterator從0開始哦!

i.plus(i)等同于i+i,plus就是加法函數.Kotlin就是通過將操作符與函數進行綁定實現了操作符重載的功能(這個以后再看)

除了基本類型,數組類型,還有其他的類之外,Kotlin還有很多有趣的類型(當然他們都是對象),比如Range就是Kotlin中的一種極其有趣的類型,如下:

Kotlin基礎教程之數據類型

Range,顧名思義,就是一個范圍,這個函數第一句代碼定義x為IntRange類型(當然也存在DoubleRange,LongRange等),

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

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

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

這段代碼輸出如下

Kotlin基礎教程之數據類型

當然對于Kotlin這樣追求簡潔到極致的語言,使用val x:IntRange = 1.rangeTo(5)實在是太麻煩了,

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

編譯器可以自動判斷數據類型,其實在前面的代碼中所有的數據類型聲明都可以省略,就像這樣

Kotlin基礎教程之數據類型

大多數變量的類型,編譯器會自動判斷,我之所以把類型寫出來是為了讓諸位更容易看清楚代碼.

如果你仔細發現的話,在Kotlin中還有很多簡化代碼的方法,盡量少敲鍵盤是這個語言很大的特點.

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

另外:在Kotlin中Unit類型相當于Java中的void,Unit有時也可以省略.

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一区二区三区视频日产 | 欧美理论片手机在线观看片免费 | 男人女人叉叉叉 | 国产亚洲视频网站 | 免费在线视频一区 | 欧美日韩在线观看区一二 | 校园春色偷拍自拍 | 2019国内自拍大神视频 | 亚洲高清国产品国语在线观看 | 99久久久久久久 | 精品网站 | 免费的强动漫人物 | 欧美激情 亚洲 | 久久精品99国产精品日本 | 秘书在办公室疯狂被hd | 9lporm自拍视频在线 | 久久性综合亚洲精品电影网 | 欧美精品v日韩精品v国产精品 | 国外欧美一区另类中文字幕 | 欧美另类bbbxxxxx另类 | 国产综合成人久久大片91 | 欧美午夜精品久久久久久黑人 | 欧美国产日韩在线 | 日本xxxx在线视频免费 | 欧美亚洲桃花综合 | 扒开双腿疯狂进出爽爽动态图 | 亚洲乱码尤物193yw在线播放 | 色综合亚洲精品激情狠狠 | aⅴ导航站| 99久久久久国产 | 好深快点再快点好爽视频 | 性伴交换多p | 激情五色月 | 欧美整片完整片视频在线 | 精品卡1卡2卡三卡免费网站 | 日韩在线第一区 | 国产精品免费_区二区三区观看 | 青草国产在线观看 | 欧美日韩一二三区免费视频观看 | 日韩精品中文字幕久久 | 99ri在线视频网 |