Kotlin-基礎語法練習二

接上一篇博客

每個 Kotlin 程序都是由兩種部分組成的:

  • 1、表達式(Expressions):用于計算值的部分,比如 2 + 3函數調用變量賦值等,它們通常會返回一個結果。
  • 2、語句(Statements):用于執行動作的部分,比如 if 條件判斷for 循環println() 打印語句等,它們主要是完成某種操作,而不一定返回值。

這些表達式和語句可以被組織在一起,形成所謂的 代碼塊(Blocks)
代碼塊就是一組用大括號 {} 包起來的代碼,通常用在函數、控制結構(如 if、when、for)等地方。

Example:

fun sumOf(a:Int,b:Int): Int{return a+b
}fun main(args: Array<String>){val a = 10val b = 5var sum = sumOf(a,b)var mul = a * bprintln(sum)println(mul)
}

Output:

15
50

Kotlin if expression -Kotlin if表達式:

語法規則

if(condition) condition met! 
else condition not met!

在這里插入圖片描述

Example:

fun main(args: Array<String>){val a = 1000val b = 999var c = 1122var max1 = if(a > b) a else bvar max2 = if(c > a) c else aprintln("The maximum of ${a} and ${b} is $max1 " )println("The maximum of ${c} and ${a} is $max2 " )
}

Output:

The maximum of 1000 and 999 is 1000 
The maximum of 1122 and 1000 is 1122 

Kotlin Statement

Example:

fun main(args: Array<String>){val sum: Intsum = 100// single statementprintln(sum)                             // Multiple statementsprintln("Hello");println("Geeks!")       
}

Output:

100
Hello
Geeks!

Kotlin Block

Example:

// Start of main block or outer block
fun main(args: Array<String>) {              val array = intArrayOf(2, 4, 6, 8)// Start of inner blockfor (element in array) {                println(element)}                                   // End of inner block}                                           
// End of main block

Output:

2
4
6
8

Control Flow-控制語句

Kotlin if-else expression

  • if statement

    • 語法規則
    	if(condition) {// code to run if condition is true}
    
    • 流程圖
      在這里插入圖片描述
      Example:
    fun main(args: Array<String>) {var a = 3if(a > 0){print("Yes,number is positive")}
    }
    

    Output:

    Yes, number is positive
    
  • if-else statement

    • 語法規則
    if(condition) { // code to run if condition is true
    }
    else { // code to run if condition is false
    }
    
    • 流程圖
      在這里插入圖片描述
      Example:

      fun main(args: Array<String>) {var a = 5var b = 10if(a > b){print("Number 5 is larger than 10")}else{println("Number 10 is larger than 5")}
      }
      

      Output:

      	Number 10 is larger than 5
      

      Example:

      fun main(args: Array<String>) {var a = 50var b = 40// here if-else returns a value which // is to be stored in max variablevar max = if(a > b){                  print("Greater number is: ")a}else{print("Greater number is:")b}print(max)
      }
      

      Output:

      Greater number is: 50
      
  • if-else-if ladder expression

    • 語法規則

      if(Firstcondition) { // code to run if condition is true
      }
      else if(Secondcondition) {// code to run if condition is true
      }
      else{
      }
      
    • 流程圖
      在這里插入圖片描述
      Example:

      import java.util.Scannerfun main(args: Array<String>) {// create an object for scanner classval reader = Scanner(System.`in`)       print("Enter any number: ")// read the next Integer valuevar num = reader.nextInt()             var result  = if ( num > 0){"$num is positive number"}else if( num < 0){"$num is negative number"}else{"$num is equal to zero"}println(result)}
      

      Output:

      Enter any number: 12
      12 is positive numberEnter any number: -11
      -11 is negative numberEnter any number: 0
      0 is zero
      
  • nested if expression

    • 語法規則
    if(condition1){// code 1if(condition2){// code2}
    }
    
    • 流程圖
      在這里插入圖片描述
      Example:

      import java.util.Scannerfun main(args: Array<String>) {// create an object for scanner classval reader = Scanner(System.`in`)       print("Enter three numbers: ")var num1 = reader.nextInt()var num2 = reader.nextInt()var num3 = reader.nextInt()var max  = if ( num1 > num2) {if (num1 > num3) {"$num1 is the largest number"}else {"$num3 is the largest number"}}else if( num2 > num3){"$num2 is the largest number"}else{"$num3 is the largest number"}println(max)}
      

      Output:

      Enter three numbers: 123 231 321
      321 is the largest number
      

Kotlin while loop

  • 語法規則

    while(condition) {// code to run
    }
    
  • 流程圖
    -
    Example:

    fun main(args: Array<String>) {var number = 1while(number <= 10) {println(number)number++;}
    }
    

    Output:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    Example:

    fun main(args: Array<String>) {var names = arrayOf("Praveen","Gaurav","Akash","Sidhant","Abhi","Mayank")var index = 0while(index < names.size) {println(names[index])index++}
    }
    

    Output:

    	PraveenGauravAkashSidhantAbhiMayank
    

Kotlin do-while loop

  • 語法規則

    do {// code to run
    }
    while(condition)
    
  • 流程圖
    在這里插入圖片描述
    Example:

    fun main(args: Array<String>) {var number = 6var factorial = 1do {factorial *= numbernumber--}while(number > 0)println("Factorial of 6 is $factorial")
    }
    

    Output:

    Factorial of 6 is 720
    

Kotlin for loop

  • 語法規則

    for(item in collection) {// code to execute
    }
    
  • Range Using a for loop-使用for循環

    Example1:

    fun main(args: Array<String>)
    {for (i in 1..6) {print("$i ")}
    }
    
    1 2 3 4 5 6
    

    Example2:

    fun main(args: Array<String>)
    {for (i in 1..10 step 3) {print("$i ")}
    }
    
    1 4 7 10
    

    Example3:

    fun main(args: Array<String>)
    {for (i in 5..1) {print("$i ")}println("It prints nothing")
    }
    
    It prints nothing
    

    Example4:

    fun main(args: Array<String>)
    {for (i in 5 downTo 1) {print("$i ")}
    }
    
    5 4 3 2 1
    

    Example5:

    fun main(args: Array<String>)
    {for (i in 10 downTo 1 step 3) {print("$i ")}
    }
    
    10 7 4 1
    
  • Array using for loop-使用for循環的數組
    Example1:

    fun main(args: Array<String>) {var numbers = arrayOf(1,2,3,4,5,6,7,8,9,10)for (num in numbers){if(num%2 == 0){print("$num ")}}
    }
    
    2 4 6 8 10
    

    Example2:

    fun main(args: Array<String>) {var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn")for (i in planets.indices) {println(planets[i])}}
    
    Earth
    Mars
    Venus
    Jupiter
    Saturn
    

    Example3:

    fun main(args: Array<String>) {var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn")for ((index,value) in planets.withIndex()) {println("Element at $index th index is $value")}
    }
    Element at 0 th index is Earth
    Element at 1 th index is Mars
    Element at 2 th index is Venus
    Element at 3 th index is Jupiter
    Element at 4 th index is Saturn
    
  • String using a for loop-使用for循環的字符串
    Example1:

    fun main(args: Array<String>) {var name = "Geeks"var name2 = "forGeeks"// traversing string without using index propertyfor (alphabet in name)   print("$alphabet ")// traversing string with using index propertyfor (i in name2.indices) print(name2[i]+" ")println(" ")// traversing string using withIndex() library functionfor ((index,value) in name.withIndex())println("Element at $index th index is $value")
    }
    

    Output:

    G e e k s f o r G e e k s  
    Element at 0 th index is G
    Element at 1 th index is e
    Element at 2 th index is e
    Element at 3 th index is k
    Element at 4 th index is s
    
  • collection using for loop-使用for循環的集合
    Example:

    fun main(args: Array<String>) {// read only, fix-sizevar collection = listOf(1,2,3,"listOf", "mapOf", "setOf")for (element in collection) {println(element)}
    }
    

    Output:

    1
    2
    3
    listOf
    mapOf
    setOf
    

Kotlin when expression

  • when as a statement
    Example1:

    fun main (args : Array<String>) {print("Enter the name of heavenly body: ")var name= readLine()!!.toString()when(name) {"Sun" -> print("Sun is a Star")"Moon" -> print("Moon is a Satellite")"Earth" -> print("Earth is a planet")else -> print("I don't know anything about it")}
    }
    
    Enter the name of heavenly body: Sun
    Sun is a Star
    Enter the name of heavenly body: Mars
    I don't know anything about it
    

    Example2:

    fun main (args : Array<String>) {print("Enter the name of heavenly body: ")var name= readLine()!!.toString()when(name) {"Sun" -> print("Sun is a Star")"Moon" -> print("Moon is a Satellite")"Earth" -> print("Earth is a planet")}
    }
    
    Enter the name of heavenly body: Mars
    Process finished with exit code 0
    
  • when as an expression

    Example1:
    注意 作為表達式else不能缺失,否則會報錯:Kotlin: 'when' expression must be exhaustive, add necessary 'else' branch

    fun main(args : Array<String>) {print("Enter number of the Month: ")var monthOfYear  = readLine()!!.toInt()var month= when(monthOfYear) {1->"January"2->"February"3->"March"4->"April"5->"May"6->"June"7->"July"8->"August"9->"September"10->"October"11->"November"12->"December"else-> "Not a month of year"}print(month)
    }
    
    Enter number of the Month: 8
    August
    

    Example2:

    fun main (args :Array<String>) {print("Enter name of the planet: ")var name=readLine()!!.toString()when(name) {"Mercury","Earth","Mars","Jupiter","Neptune","Saturn","Venus","Uranus" -> print("This is a planet")else -> print("This not a planet")}
    }
    

    Output:

    Enter name of the planet: Earth
    This is a Planet
    

    Example3:

    fun main (args:Array<String>) {print("Enter the month number of year: ")var num= readLine()!!.toInt()when(num) {in 1..3 -> print("Spring season")in 4..6 -> print("Summer season")in 7..8 -> print("Rainy season")in 9..10 -> print("Autumn season")in 11..12 -> print("Winter season")!in 1..12 -> print("Enter valid month of the year")}
    }
    
    Enter the month number of year: 5
    Summer season
    Enter the month number of year: 14
    Enter valid month of the year
    

    Example4:

    fun main(args: Array<String>) {var num: Any = "xx"when(num){is Int -> println("It is an Integer")is String -> println("It is a String")is Double -> println("It is a Double")}
    }
    

    Output:

    It is a String
    

    Example5:

    // returns true if x is oddfun isOdd(x: Int) = x % 2 != 0// returns true if x is evevnfun isEven(x: Int) = x % 2 == 0fun main(args: Array<String>) {var num = 8when{isOdd(num) ->println("Odd")isEven(num) -> println("Even")else -> println("Neither even nor odd")}}
    

    Output:

    Even
    

    Example6:

    // Return s True if company start with "xx"
    fun hasPrefix(company: Any):Boolean{
    return when (company) {is String -> company.startsWith("xx")else -> false}
    }fun main(args: Array<String>) {var company = "xx is a computer science portal"var result = hasPrefix(company)if(result) {println("Yes, string started with xx")}else {println("No, String does not started with xx")}
    }
    

    Output:

    Yes, string started with xx
    

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

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

相關文章

與Deepseek對話了解單片機基礎知識

keil5里的c語言編程的程序燒錄到單片機里具體過程是啥&#xff1f;如何能把機器語言轉換為電路控制&#xff1f; 步驟 所在位置 核心工具 輸入->輸出 比喻 1. 編譯 Keil5 (PC) 編譯…

利用背景圖片定位套打檔案封面

某些表單設計起來比較復雜&#xff0c;或只有表單的空白圖片資料。Nhdeep檔案目錄套打工具&#xff08;nhdeep官網www.nhdeep.com&#xff09;支持將已有的表單圖片作為模版背景圖片&#xff0c;然后使用文本框進行精準的位置定位&#xff0c;再進行文本替換。 背景圖片定位套…

微信HOOK 實現自動下載視頻

1、前言 在收發消息的接口中&#xff0c;圖片和文件這類接口是相對容易自動下載&#xff0c;但是視頻的下載是需要手動點擊的&#xff0c;并且只有這一種下載方式&#xff0c;實現自動化也比較困難&#xff0c;一些項目的開發中&#xff0c;需要自動下載收到的視頻并保存&#…

【GPT入門】第57課 詳解 LLamaFactory 與 XTuner 實現大模型多卡分布式訓練的方案與實踐

【GPT入門】第57課 大模型多卡計算1. 理論2.LLamaFacotory實踐3. xtuner3.1 介紹3.1 安裝3.2 xtuner訓練3.4 訓練后格式轉換3.5 合并基礎模型與lora模型3.6 參數說明3.7 訓練過程主觀檢驗1. 理論 deepspeed的三種訓練方式 zero-1&#xff0c;優化器狀態分片。的優勢體現在多卡…

部隊多媒體信息發布系統:賦能 IPTV 與電教化,加速軍營信息化變革

在科技飛速發展的當下&#xff0c;部隊的信息化建設也在不斷推進。多媒體信息發布系統作為一種創新的技術手段&#xff0c;正逐步融入部隊的各個領域&#xff0c;為部隊的現代化建設注入強大動力。?在部隊 IPTV 方面&#xff0c;多媒體信息發布系統展現出卓越的性能。它打破了…

FTP/TCP上傳下載文件

封裝C風格地ftplib為ftp.c和ftp.h文件&#xff1a;cftplient類&#xff08;主要成員變量&#xff1a;文件大小、文件修改時間、主要成員函數&#xff1a;get函數&#xff08;遠程文件名、本地文件名、核對文件時間&#xff09;、put函數&#xff08;本地文件名、服務端文件名、…

DeepSeek V3.1深度解析:一個模型兩種思維,邁向Agent時代的第一步!

名人說&#xff1a;博觀而約取&#xff0c;厚積而薄發。——蘇軾《稼說送張琥》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 目錄一、什么是DeepSeek V3.1&#xff1f;為什么這么火&#x1f680;1. 發布時間線回顧2.…

VsCode 便攜版(綠色版)下載及配置

下載 VsCode 便攜版&#xff0c;并確保所有配置和擴展都保存在一起&#xff0c;實現真正的“綠色版”效果 核心步驟概覽 核心原理是在 VSCode 的主程序目錄下創建一個名為 data 的文件夾&#xff0c;VSCode 啟動時如果檢測到這個文件夾&#xff0c;就會自動切換到便攜模式&am…

使用VLLM部署大模型embedding/chat 的API

模型下載&#xff1a;一般通過modelscope提供的方式進行下載&#xff0c;速度更快&#xff0c;huggingface下模型即便開啟了魔法也還是很慢&#xff0c;對于9B以上的模型都是至少15G的。 比如需要下載qwen3-embedding-8b的模型&#xff0c;可以通過提供的一段代碼自動進行下載到…

Blender模型動畫導入到UE5

UE5支持直接導入FBX文件&#xff0c;但在實際應用中筆者發現&#xff1a;剛開始使用的是UE5.3&#xff0c;在UE5.3中直接將.fbx文件拖入UE中導入后是一個個的零件&#xff0c;后來使用了datasmith插件等其他辦法&#xff0c;怎么都沒有達到想要的效果。后面升級UE5.4以后&#…

Promise詳解:Promise解決ajax回調嵌套問題

目錄 一、Promise是什么 二、回調地獄 三、Promise解決回調地獄的原理 四、promaise實例 一、Promise是什么 1、主要用于異步計算 2、可以將異步操作隊列化&#xff0c;按照期望的順序執行&#xff0c;返回符合預期的結果 4、可以在對象之間傳遞和操作promise&#xff0c…

【Kubernetes知識點】Pod調度和ConfigMaps

目錄 1.如何將特定Pod調度到指定的節點&#xff1f; 2.什么是節點的親和性&#xff1f; 3.什么是污點&#xff0c;它的主要用途是什么&#xff1f; 4.解釋ConfigMap的作用。 5.Secret和ConfigMap相比較有哪些優點。 6.解釋ResourceQuota的作用 1.如何將特定Pod調度到指定…

火車頭使用Post方法采集Ajax頁面教程

前面有寫過一篇瀑布流的采集方法&#xff0c;今天在添加一個POST方法來采集Ajax刷新頁面的教程。 之前的文章請看&#xff1a;火車頭采集動態加載Ajax數據&#xff08;無分頁瀑布流網站&#xff09; 如果遇到POST方法來架子Ajax數據&#xff0c;這和我之前寫的是兩個類型&…

【學習記錄】structuredClone,URLSearchParams,groupBy

structuredClone() 可以進行深拷貝&#xff0c;這里有詳細講解&#xff1a;Window&#xff1a;structuredClone() 方法 當需要處理包含嵌套對象或數組的復雜數據結構時&#xff0c;建議使用 structuredClone() 來保護原始數據。 舉例&#xff1a;別再用 … 擴展運算符了&#x…

30條AI編程指令

大家好&#xff0c;小機又來分享AI了。 前言&#xff1a; 凌晨三點&#xff0c;你還在像素級對齊那個永遠對不齊的按鈕&#xff1b;剛寫完的API文檔&#xff0c;產品經理一句"需求變了" 讓你瞬間崩潰&#xff1b;更扎心的是&#xff0c;實習生用AI十分鐘搞定了你要…

AI+虛擬仿真:以科技之光照亮希望的田野

在鄉村振興與農業現代化的全新征程中&#xff0c;農林專業人才肩負著科技賦能土地、守護綠色發展的重任。然而&#xff0c;現有的教育模式卻越發不適應農業人才的培養需求。“AI虛擬仿真”正在為農業現代化人才建設提供創新的技術引擎。市場風口與政策紅據統計&#xff0c;2024…

04_函數

第4課&#xff1a;函數 課程目標 掌握函數的定義和調用方法學習參數傳遞和返回值的使用理解函數的作用域和命名空間 1. 函數的基本概念 函數是一段可重復使用的代碼塊&#xff0c;用于執行特定的任務。 2. 函數的定義和調用 # 定義函數 def greet():print("你好&#xff0…

STM32學習筆記19-FLASH

FLASH簡介STM32F1系列的FLASH包含程序存儲器、系統存儲器和選項字節三個部分&#xff0c;通過閃存存儲器接口&#xff08;外設&#xff09;可以對程序存儲器和選項字節進行擦除和編程&#xff0c;讀取指定寄存器直接使用指針讀即可讀寫FLASH的用途&#xff1a;利用程序存儲器的…

電蚊拍的原理及電壓電容參數深度解析:從高頻振蕩到倍壓整流的完整技術剖析

1. 引言在炎炎夏日&#xff0c;蚊蟲成為人們生活中的一大困擾。電蚊拍作為一種高效、環保的物理滅蚊工具&#xff0c;憑借其便攜性和實用性在全球范圍內得到了廣泛應用。然而&#xff0c;許多用戶對這種看似簡單的小家電背后的工作原理知之甚少。電蚊拍是一種新型的滅蚊小家電&…