-
1 # 葉曉2018
-
2 # 藍胖子easy
哈嘍,你好,我是七步的天,我有五年多的開發經驗,Java和Kotlin這兩個程式語言,我在工作中單獨用Java或者Kotlin開發過專案,也混和使用Kotlin和Java做過專案。
我認為入門可以Android直接學習和使用Kotlin語言。另外,有時間的時候也要把Java學習了,對技術的提升大有裨益。雖然Java和Kotlin 的互操作性很好,但是目前的在實際的Android 端開發工作中,也都是用Kotlin。而且Java和Kotlin 兩種語言的設計思想是不同的。
下面我來說說一些Kotlin很棒的地方。
語法更簡練,更加安全的指標操作,Null 安全
(1)在Kotlin中,一切皆是物件。不存在int,double等關鍵字,只存在Int, Double等類。
所有的物件都透過一個指標所持有,而指標只有兩種型別:var 表示指標可變,val表示指標不可變。為了獲得更好的空安全,Kotlin中所有的物件都明確指明可空或者非空屬性,即這個物件是否可能為null。
//型別後面加上?,表示可為空
var money: String? = “120”
val moneys = money?.toInt();
(2)使用 Kotlin 提升應用品質。@Nullable 和 @NonNull 型別已納入到 Kotlin 的型別系統中,可幫助您避免 NullPointerException。此外,Kotlin 還有許多其他語言功能,可幫助您避免常見的程式設計錯誤
可互操作說到互操作性,你可以在 Kotlin 程式碼中呼叫 Java 程式碼,或者在 Java 程式碼中呼叫 Kotlin 程式碼。Kotlin 可完全與 Java 程式語言互操作,因此你可以根據需要在專案中新增任意數量的 Kotlin 程式碼。
?表示式的強大對於判斷物件是否為null,在Java需要用if判斷,現在只需要使用?萬用字元拆包判斷,如果為null,只要某個操作物件為null,則整個表示式直接返回null,不會丟擲異常。更加安全。
(1)從前我們使用Java判斷的時候:
if(view != null){ if(view.getParent() != null){ if(view.getParent() instanceof ViewGroup){ ((ViewGroup)view.getParent()).removeView(view); } }}(2)現在使用Kotlin進行判斷:
(view?.parent
as? ViewGroup)?.removeView(view)對比就可以發現,Kotlin更加方便了。
$符拼接變數和表示式同時,Kotlin還引入了字串模板,可以在字串中直接訪問變數和使用表示式:
小結Kotlin還有很多優秀的新特性值得我們去學習和探索。另外,學習Java也有很多好處,現在的後臺開發以及大資料之類的應用與Java也都密不可分。
共同探討問題,共同進步。
-
3 # 科技魔盒
主要採用的是Java語言,c語言與c++都是andriod一些底層工具部件,會呼叫就行了,不用深入研究,另外其實各種程式語言都是大同小異,只有精通其中一個程式語言,其他的語言也叫就可以會了百分八十左右,所以我建議,如果想在Android方向發展,只要學好Java程式語言就可以了,希望可以幫到你
-
4 # 攻防基地
入門安卓,建議從用java
理由:
1.java在程式語言排行榜第一
2.java歷史悠久,資料多
3.安卓開發最開始就是java,很多程式碼例子,教程書籍等,大部分採用java,方便解決問題
用java熟悉安卓之後,可以學習使用kotlin了,學會java了,kotlin區別不大,很快就可以上手
-
5 # 熱愛技術的小牛
Google 一直在權衡是否讓它的 Android 開發者從使用 Java 語言來構建應用程式切換到使用 Kotlin 語言。
Google Android Studio 的技術負責人 Jeffrey van Gogh 表示,這個問題在 Google 發出的“Android 應用程式開發應該優先使用 Kotlin”的這份宣告中被提出來了。
但是 Android 開發“Kotlin-first”意味著什麼?在今年的 Google I/O 大會上,van Gogh 對使用 Java 和 Kotlin 開發的後果作了詳細地說明。
“當然,我們在很多方面將繼續支援 Java 程式語言,”他在出示下面這張表時說道。
640?wx_fmt=jpeg
“但是,如果你看看其他的地方,比如我們的線上培訓示例,我們將首先使用 Kotlin 程式語言,然後我們將"盡力而為(best effort)"地使用 Java。當然,還有一些功能,比如多平臺專案和 Jetpack Compose UI 工具包,這些功能只會用 Kotlin 語言提供。”
Google 已經在一系列自己的產品中開始使用 Kotlin 語言的這一現實,很好地回答 Android 開發者是否應該從 Java 切換到 Kotlin 這個問題。對於 Google 而言,已經開始使用 Kotlin 的產品包括 Google Drive、Google Home、Nest 和 Android SystemUI。
“請不要把“Kotlin-first”理解成你需要用 Kotlin 來重新改寫你所有的 Java 程式碼。這不是我們希望你做的,”他說道,此外,他還補充道,Google 本身也沒有打算用 Kotlin 重寫現有的所有軟體。
“看看 Android Studio,這是成千上萬行的程式碼。現在只有 10% 的 Android Studio 的特定程式碼是用 Kotlin 寫的。”
“我們採取的做法是,我們只用 Kotlin 來編寫新的功能。這是可行的,因為 Kotlin 與 Java 具有很強的互操作性。你可以用 Kotlin 編寫單個類,並將其它所有的類交給 Java;或者用 Kotlin 編寫 99% 的程式碼,而將剩餘的部分交給 Java。”
他補充說,還需要考慮一些複雜因素,比如說 App 開發所處的階段,他說顯然在專案開始的時候就使用 Kotlin 來實現新功能更加有意義。
他還說,另一個問題是開發團隊內部對 Kotlin 到底有多大的熱情。
“這取決於你的團隊。他們對 Kotlin 語言感興趣嗎?他們對採用它有安全感嗎?”他說。
van Gogh 同時指出,採用 Kotlin 也有一些不利因素需要權衡。比如開發人員需要一段時間才能熟悉 Kotlin 的慣用方法,來編寫出符合規範的程式碼。
他說:“Kotlin 語言有很好的特性,更高的生產率和滿意度,但你必須考慮學習曲線,人們需要時間來學習 Kotlin 的慣用方法,來編寫出符合規範的程式碼。”
“我們看到大多數人在第一週開始寫 Kotin 時,他們實際上是在用 Kotlin 寫 Java 程式碼,他們花了三到六個月的時間才真正開始寫符合 Kotlin 習慣的程式碼。”
他說,由於 Kotlin 編譯器通常比使用 Java 的速度慢,軟體構建過程也需要更長的時間,不過 Google 正在“努力”提升編譯器的速度。
他補充說,當使用 Kotlin 時,生成的 APK(用於在安卓裝置上安裝應用程式的軟體包)也相對較大。
他說,Google 在 Android 系統上有“一大堆正在進行的 Kotlin 工作”,包括 Jetpack Compose 的開發工作、用於 Jetpack 的新 Kotlin 擴充套件(KTX)API 的開發工作,正在努力提升最新的 1.3.30 版 Kotlin 中的編譯器速度的構建工作,以及改進工具、文件和示例程式碼的開發工作。
-
6 # 一個程式設計師的奮鬥史
先說說結論,當然首選Java。
首先從友好型來說,Java我們可以在網上找到大量的優秀文件、原始碼等學習資料。
其次,再來看看招聘需求,基本招聘上Android開發的,100%你得懂點Java吧;可是Kotlin並不是必須的,只能作為你得加分項。下面是在某勾招聘網站的一項Android開發職位描述。
Kotlin 是什麼?是“更好的 Java”。只有用慣了Java而又想繼續改進工作效率的人,才會真正去“用”Kotlin。在你真正掌握Java、掌握面向物件思想後,再去學習Kotlin,將會是手到擒來。
學是為了用,如果只是為了寫“Hello World”那就無所謂了,隨便哪個都可。
-
7 # 朱雄業
這兩是兄弟,差別不大的,不用糾結,會了一個再用另外一個不會有困難。
下載一個Android studio,做一個例子,那個語言自己看的順眼用得舒服,就用那個。
回覆列表
入門建議學習Java,Java是排行榜第一的語言,本人Java開發大資料開發,第一Java的語法簡潔易懂入門快,第二web安卓大資料都要有很好的Java基礎,第三國內大廠java依舊是主流,第四Java的學習資源多。希望對你的問題有幫助。