接上一篇博客

每个 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;许多用户对这种看似简单的小家电背后的工作原理知之甚少。电蚊拍是一种新型的灭蚊小家电&…