Kotlin環境搭建與基礎語法入門

目標:完成開發環境配置,編寫第一個Kotlin程序,理解變量、數據類型和基本輸出。

1. 環境搭建

步驟1:安裝JDK

下載并安裝 JDK 17+(Kotlin兼容性最佳版本)。
配置環境變量 JAVA_HOME,并在終端驗證:

java -version
javac -version

步驟2:安裝IntelliJ IDEA

下載社區版(免費)或旗艦版:IntelliJ IDEA下載
安裝時勾選 Kotlin插件(默認已安裝)。

步驟3:創建第一個Kotlin項目

打開IntelliJ IDEA,選擇 New Project → Kotlin → JVM | IDEA。
輸入項目名稱(如KotlinFirstDay),點擊 Finish。
在src目錄下新建Kotlin文件(如Main.kt)。

2.編寫第一個“Hello World”程序

示例代碼

fun main() {println("Hello, Kotlin!")  // 輸出字符串val name = "Alice"         // 定義不可變變量println("My name is $name") // 字符串模板
}

關鍵點

fun main():Kotlin程序的入口函數。
println():輸出內容到控制臺。
val:聲明不可變變量(類似Java的final)。
字符串模板: 變量名或 變量名或 變量名或{表達式}(如"${name.length} letters")。

3. 變量與數據類型

示例1:變量聲明

fun main() {var age = 25          // 可變變量(類型推斷為Int)val pi = 3.14159      // 不可變變量(類型推斷為Double)val isStudent = true  // 類型推斷為Booleanprintln("Age: $age, Pi: $pi, Is student: $isStudent")
}

示例2:顯式類型聲明

fun main() {val name: String = "Bob"   // 顯式聲明為String類型val score: Int = 95       // 顯式聲明為Int類型val rate: Double = 99.9   // 顯式聲明為Double類型println("Name: $name, Score: $score, Rate: $rate")
}

關鍵點
var:可變變量,值可重新賦值。
val:不可變變量,初始化后不能修改。
類型推斷:Kotlin會根據賦值自動推斷類型,但顯式聲明更清晰。

4. 基礎數據類型

示例3:常用數據類型

fun main() {// 整數類型val byteNum: Byte = 127      // 8位val shortNum: Short = 32767   // 16位val intNum: Int = 2_147_483_647 // 32位(下劃線可讀性分隔)val longNum: Long = 9_223_372_036_854_775_807L // 64位(需加L后綴)// 浮點類型val floatNum: Float = 3.14f   // 32位(需加f后綴)val doubleNum: Double = 3.1415926 // 64位// 字符與布爾val char: Char = 'A'val boolean: Boolean = trueprintln("Byte: $byteNum, Long: $longNum, Char: $char")
}

關鍵點
整數類型:Byte、Short、Int、Long(后綴L)。
浮點類型:Float(后綴f)、Double。
字符類型:Char(單引號)。
布爾類型:Boolean(true或false)。

5. 實踐任務

任務1:編寫一個程序,輸出你的姓名、年齡和最喜歡的編程語言。
示例輸出:

Name: Alice, Age: 25, Favorite language: Kotlin

任務2:定義一個變量存儲圓周率(pi),計算并輸出半徑為5的圓的面積(公式:面積 = pi * r * r)。
示例輸出:

Circle area: 78.53975

答案:

fun main() {val pi = 3.14159val radius = 5.0val area = pi * radius * radiusprintln("Circle area: $area")
}

6. 總結

完成Kotlin開發環境搭建。
掌握main()函數、println()輸出和字符串模板。
理解var和val的區別,熟悉基本數據類型。
下個目標:學習控制流語句(if-else、when、循環)和條件表達式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88649.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88649.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88649.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CLion開發Qt桌面程序_git的簡單使用_小團體

OS:Windows Qt:6.8.1(6.x) Eg:學生信息管理系統 前言 Qt Creator編寫代碼不是太方便,使用CLion編寫代碼或許是個不錯的主意,CLion在此處主要是用于后端和測試的開發,界面方面還是…

C語言專題:8.函數指針(Function Pointer)

? 在 C 語言中,函數也是一種“對象”,它在內存中有地址。因此可以定義指向函數的指針,用于動態調用、回調處理、構建函數表等。 掌握函數指針是理解 C 語言“底層抽象”與“模塊化編程”的關鍵。 一、函數指針的基本概念 ? 函數指針是一個變…

快速傅里葉變換(FFT)是什么?

快速傅里葉變換(FFT)是什么? 快速傅里葉變換(FFT) 本質上是一種極其高效的算法,用來計算**離散傅里葉變換(DFT)**及其逆變換。它是數字信號處理、科學計算和工程應用中最重要的算法之一。 要理解 FFT&…

EEG分類 - Theta 頻帶 power

在EEG(腦電圖)信號處理的背景下,theta波段功率(Theta Band Power)是一個重要的特征,廣泛應用于認知、神經科學和臨床監測等領域。接下來,我將詳細介紹theta波段功率的定義、特性、計算方法以及在…

蒼穹外賣day3--公共字段填充+新增菜品

1.公共字段填充 1.1 問題分析 在新增員工或者新增菜品分類時需要設置創建時間、創建人、修改時間、修改人等字段,在編輯員工或者編輯菜品分類時需要設置修改時間、修改人等字段。這些字段屬于公共字段,也就是也就是在我們的系統中很多表中都會有這些字段…

每次選擇都是成本

概述 我們每個人都在做選擇,而且無時無刻不在做選擇。 有的人有的選,而有的人卻沒得選。 因此從側面來說,有的選反而更是一種幸福。 我們學習的目的就是為了讓我們自己在未來能有更好地選擇,也可以底氣十足地選擇不去做什么&a…

AI in CSR Writing: Revolutionizing Clinical Trial Reports

一、AI在CSR撰寫中的實際應用 1.1 自動化數據整合與報告生成 1.1.1 數據提取與匯總 AI自動從EDC、實驗室系統、安全數據庫提取數據,生成統計圖表和表格,如人口統計學、療效終點、安全性事件表,減少人工操作。 1.1.2 動態報告生成 基于預設模板,AI自動填充數據結果,如自動…

《Java反射到底該不該用?性能、靈活性與可維護性三者博弈》

大家好呀!今天我們要聊一個Java中超級強大但也需要謹慎使用的特性——反射機制(Reflection) 🎭。我會用最通俗易懂的方式,帶大家徹底搞懂這個"程序界的魔術師"! 一、什么是Java反射?🤔 想象一下…

從Java API調用者到架構思考:我的Elasticsearch認知升級之路

前言:我的Elasticsearch學習歷程 作為一名Java開發者,記得第一次使用ES的Java High Level REST Client時,我被它強大的搜索能力所震撼,但也為復雜的集群調優所困擾。經過多個項目的實戰積累和系統性學習,我終于建立了對…

高云GW5AT-LV60 FPGA圖像處理板

GW5AT-LV60開發板體積小巧,長100mm寬為61.8mm,還沒有一部Ipone SE2體積大,該板卡采用了核心板和載板分離的形式,核心板的形式可方便開發者在項目中根據實際需求來開發自己的載板,只需要為核心板提供5V的電源就能滿足基…

[XILINX]ZYNQ7010_7020_軟件LVDS設計

若該文為原創文章,未經允許不得轉載風釋雪QQ:627833006WX:Cheng18375816918CSDN博客: 風釋雪FPGA知乎:風釋雪FPGA 1.版本說明 日期作者版本說明2024xxxx風釋雪初始版本 2.概述 ZYNQ 7010/7020 HR/HP Bank LVDS Rx/TX; 3.目標 ZYNQ 7010 LVD…

桌面小屏幕實戰課程:DesktopScreen 11 SPI 水墨屏

飛書文檔https://x509p6c8to.feishu.cn/docx/doxcnlzpIgj3gosCZufBTCZxlMb SPI說明 SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上占用…

SpringCloud Gateway 組件的使用

作者:小凱 沉淀、分享、成長,讓自己和他人都能有所收獲! 我發現了一個很有意思的縮寫單詞 gw、wg,都是網關的意思。因為 gw gateway、wg wangguan,所以在各個系統開發中,既有 gw 也有 wg 的存在。而網關…

隨機地址生成器 - Cloudflare Workers

分享一個完全開源免費部署在 Cloudflare Workers 上的隨機地址生成器,支持全球 24 個國家/地區。 🔗 工具地址: https://address.chat-tempmail.com ? 特性 🌍 支持生成 24 個國家/地區的地址📱 響應式設計,完美支持…

CNN不是一個模型?

CNN不是一個模型? 結論: CNN 是模型架構而非具體模型,其定位類似深度學習領域的 「設計框架」,而非 LSTM(具體單元結構)或決策樹(具體算法實體)。CNN 的 「具體模型」 需要結合網絡…

愛基百客與真邁生物達成戰略合作,共推多組學科研服務升級

近日,武漢愛基百客生物科技有限公司(以下簡稱“愛基百客”)與真邁生物正式簽署戰略合作協議。此次戰略合作將聚焦表觀組學、單細胞時空組學等前沿科研領域,聯合打造基于自主創新技術的多組學科研服務方案,為科研人員提…

吳恩達:從斯坦福到 Coursera,他的深度學習布道之路

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊) 吳恩達:從斯坦福到 Coursera,他的深度學習布道之路 在人工智能…

開疆智能CCLinkIE轉ModbusTCP網關連接測聯無紙記錄儀配置案例

本案例是通過CCLinkIE轉ModbusTCP網關將記錄儀數據傳送到三菱PLC,具體操作過程如下。 (1) 無紙記錄儀與PT100傳感器連接正確后,將無紙記錄儀和PC通過網線連接,給無紙記錄儀上電,設置無紙記錄儀的IP地址及網…

【軟考高級系統架構論文】# 論軟件設計方法及其應用

論文真題 軟件設計 (Software Design,SD) 根據軟件需求規格說明書設計軟件系統的整體結構、劃分功能模塊、確定每個模塊的實現算法以及程序流程等,形成軟件的具體設計方案。軟件設計把許多事物和問題按不同的層次和角度進行抽象,將問題或事物進行模塊化分解,以便更容易解決…

Spring Boot 3.x 項目搭建 (一)

以下是一個基礎 Spring Boot 項目的創建指南,整合了官方推薦方式和實用配置,幫助您快速搭建可運行的項目骨架。 🌟 一、項目創建方式 1. 在線工具 Spring Initializr(推薦) 步驟: 訪問 Spring Initializr…