<精讲>第1章(2)函数和数据类型入门

C++基础精讲篇第2讲:函数重载+引用 C++基础精讲篇第2讲:主要介绍函数重载和引用的概念特性及用法 阅读详情

难度指数:★☆☆☆☆

惊喜指数:★★☆☆☆


主函数和打印输出函数

main函数

一个Kotlin脚本文件里面的main函数,我们可以叫主函数,也可以叫做入口函数。一个Kotlin脚本文件里面如果包含了main函数,那么就会出现一个Kotlin图标,提示可运行。

如果我们把main改为main1,你会发现,Kotlin图标就没有了。

我们来解释下main函数:

fun函数标识
main函数名称
args形参
Array形参类型
{println(“Hello World”)}函数主体

有基础的同学,是不是感觉少了一个什么呢?是的,没有找到方法返回类型修饰符。因为main函数没有返回值,所以可以省略返回类型修饰符。完整的写法,参考如下代码:

fun main(args: Array<String>):Unit {
    println("Helloworld")
}

这里有一个细节同学们发现了吗?是的,Kotlin的每一行代码的最后不用加上分。

【Kotlin相比于Java不用在语句后面加上分号】是不是减少了一些代码量呢(偷笑)。有的同学想,才一个分号,就谈上代码量的减少了(偷笑)。Kotlin站在Java之上,相比于Java,同样的功能,更少的代码量是必须的,后续还有很多地方,可以减少代码的编写。使用Kotlin,相比于Java代码量少了,大概算的上Kotlin优于Java 20%的理由(大笑)。

这里还有一个细节,同学们发现了吗?是的,Java里面的main函数,都是定义在一个具体的类里面。【Kotlin相比于Java,在Kotlin中,main方法不用放在一个类里面,可以独立存在】是不是挺有意思,关于函数,Kotlin还有很多特别之处,后面我们一一讲解。

println函数

为什么掌握println函数的使用很重要?在Kotlin基础学习阶段,我们需要频繁使用屏幕输出,用来验证代码执行结果,所以我们先掌握println函数。

println的作用是什么?选中println,按住Ctrl,查看println源码Console.kt可以知道,println()就是输出内容到控制台,并且换行,官方因为注释如下。

/** Prints the givenmessage and newline to the standard output stream. */

查看Console.kt的Structure结构视图,可以得知println()函数接收的参数类型是很丰富的。【Kotlin相比于Java,println()函数可以直接打印数组,集合,这点比Java打印输出便捷一些。】

print函数

println()输出内容的时候带换行符,print()函数输入内容的时候不带换行符。参考如下代码:

fun main(args: Array<String>) {
    println("黑马程序员")
    print("为莘莘学子改变命运而讲课")
    print(",")
    print("为千万人少走弯路而著书!")
}

运行结果:

数据类型入门

任何语言都有自己的数据类型,Java语言里面的数据类型包含基本类型和引用类型。在Java里面存储数值、字符、布尔值可以使用基本数据类型也可以使用引用类型。

Kotlin则不区分基本类型和引用类型,统一都是引用类型。为了表示数值、字符、布尔值、数组、集合等,Kotlin帮我们定义了很多类型。我们也可以称帮我们定义好的这些类型为“内置类型”。

我们也可以把数值、字符、布尔值这些相对基础、简单的类型称为“基本内置类型”。把数组、集合此类相对复杂的类型称为“复杂内置类型”。

我们这里先介绍“基本内置类型”,“复杂内置类型”则放到后面章节去讲解。

“基本内置类型”我们通过一张表汇如下:

类型描述长度示例
Byte字节8位var a: Byte = 1
Short短整型16位var b: Short = 1
Int整型32位var c: Int = 1
Long长整型64位var d: Long = 1L
Float浮点型32位var e: Float = 1f
Double双精度浮点型64位var f: Double = 1.0

函数入门

什么是函数?函数就是具有特定功能的一段独立小程序,函数也称为方法。函数可以将功能代码进行封装,便于对该功能进行复用,提高了代码的复用性,函数只有被调用才会被执行。

Kotlin中函数的结构是怎样的呢?

函数有哪些类型呢?函数从参数角度,可以分为有参函数以及无参函数;从返回值角度,可以分为有返回值的函数以及没有返回值的函数。

那么函数一共就有4种类型,无参无返回值、无参有返回值、有参无返回值、有参有返回值。参考如下代码:

//无参无返回值
fun myFun1() {
    println("outerFun")
}

//无参有返回值
fun myFun2(): String {
    return"innerFun"
}

//有参无返回值
fun myFun3(content: String) {
   println(content)
}

//有参有返回值
fun myFun4(content: String): String {
    returncontent
}

当然,没有返回值的函数,也可以明确指定返回值类型为Unit。

//无参无返回值
fun myFun1():Unit{
    println("outerFun")
}

//有参无返回值
fun myFun3(content: String) :Unit {
    println(content)
}

当然,【 Kotlin相比于Java,在函数方面还有一些增强,比如命名参数,默认参数。】这些内容我们放到后面一些给大家讲解。

idea编辑技巧

当然,方法的输入也可以使用idea给我们定义好的模板

《VC++6.0从入门到精通》第二版实例代码精讲(第1-6章) C++是IT行业的基础编程语言之一,以其效率高、功能强大而受到程序员们的青睐。作为C语言的升级版,C++增加了面向对象的特性,使得代码重用、封装和扩展变得简单易行。本章旨在向读者介绍C++的基本概念、历史背景以及其在现代软件开发中的重要性。在C++中,函数是组织代码的基本构建块,它们允许程序员将代码分隔成可管理的部分,每部分都执行特定的任务。一个函数由返回类型、函数名、形参列表和函数体组成。函数的声明则告诉编译器函数的存在以及如何调用该函数,但不提供函数体的具体实现。// 函数声明。 阅读详情

相关推荐

C++编程经典200例实战精讲

在C++中,变量必须先声明后使用,声明时需指定数据类型。常见基本类型包括int(整型)、float(单精度浮点型)、double(双精度浮点型)、char(字符型)、bool(布尔型)等。// 整型变量// 双精度浮点型// 字符型// 布尔型上述代码中,变量被赋予了初始值,体现了C++中变量初始化的常见方式。变量命名需遵循标识符命名规则,且不能使用关键字。C++中的整型包括shortintlong和long long。

weixin_27645199的博客 910

python快速入门:基础语法精讲

Python 是一种高级、解释型、交互式和面向对象的脚本语言。Python 是一种非常灵活和强大的编程语言,适用于各种类型的应用程序开发。Python 支持多种编程范式,包括面向对象、命令式、函数式和程序化编程。它提供了一系列内置的类型,比如可变的列表、元组(不可变的列表)、字典、集合等等。Python 也支持泛型编程,并且其标准库中的许多接口都被设计为泛型。此外,Python 还提供了模块化的功能,可以让开发者将代码分割为不同的模块,便于重用和分发。本文将带你快速了解 Python 的基础语法。

qq_62564422的博客 935

极化码自适应CA-SCL译码(极化码译码)

我们知道最初极化码提出来是运用SC译码,但短码和中等长度其译码性(误码率)能不如LDPC码码,,为了提升有限长度极化码的译码性能,我们主要从译码器的性能和极化码的纠错性能来考虑。 SCL:在增加复杂度的情况下,大幅度增加极化码纠错性能,在高信噪比下,与最优ML性能相同(L=32) CA-SCL:改善最小汉明距离(最小汉明距离增大),增加其纠错性能。把CRC和极化码极联。 自适应CA-SCL:CA-SCL译码虽然提升几乎没的纠错性能,但是导致复杂度大幅度增加,为了降低其复杂度,让L自适应,从而降低其复杂度

m0_52610504的博客 3294

33-Golang开发入门精讲

├──33-Golang开发入门精讲| └──1-Golang语法精讲。| | ├──3-第1阶段:走进Golang。| | ├──4-第1阶段:走进Golang。| | ├──16-第10阶段:面向对象。| | ├──17-第10阶段:面向对象。| | ├──12-第6阶段:错误处理。| | ├──8-第4阶段:流程控制。| | ├──10-第5阶段:函数。| | ├──11-第5阶段:函数。| | ├──14-第8阶段:切片。

niwoxiangyu的博客 423

学习STM32的无人机控制

设计并实现无人机控制系统,使用STM32单片机进行控制。无人机控制系统主要包括飞行控制、姿态控制、定位导航等功能。以下是一个基于STM32的无人机控制系统的代码案例。以上是一个基于STM32的无人机控制系统的代码案例,包括飞行控制、姿态控制和定位导航等功能。请根据实际情况进行修改和完善。

qq_67153941的博客 839

Halcon-AOI外观缺陷检测系列

Halcon-AOI外观缺陷检测系列

Jumy_S的博客 1668

第 1 章 Python 基础 知识点精讲

编写程序:输入一个字符串,输出字符串的长度、大写形式、小写形式。掌握本章内容,即可完成简单的交互式程序,为后续学习打下基础。编写程序:输入两个数字,计算它们的和、差、积、商并输出。编写程序:获取用户输入的姓名和年龄,输出。,实现交互式程序,获取用户输入并输出。,用于验证环境、熟悉脚本运行流程。以下变量名哪些是合法的?

Du_chong_huan的博客 630

基于STM32F407的DDS信号源设计与实现:DAC+DMA+TIM的高精度波形生成

本文详细介绍了基于STM32F407微控制器实现高精度DDS信号源的完整方案。通过结合DAC、DMA和TIM外设,并运用DDS算法,实现了分辨率高达0.001Hz的波形生成。文章深入剖析了相位累加器、波表查表等核心原理,提供了从CubeMX配置到代码实战的完整指南,并探讨了性能优化与高频输出问题的解决方案。

weixin_29193259的博客 503

Python函数精讲

Python 函数精讲 1. 调用函数 1.1 核心知识点 python内置很多函数,可以参考python官方网站了解内置的函数了解每个内置函数的具体用法; 每个函数对应的参数个数和参数类型都是不一样的,个数和类型传入错误是会有不同错误提醒的,下面以求绝对值函数abs来进行说明 #参数个数错误 >>> abs(-12.3) 12.3 >>> abs(-12.3,d) Traceback (most recent call last): File "<stdi

姚潇锋的博客 274

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

Tesla V100 Windows 部署实战:从驱动安装到模式切换的避坑指南

本文是一份详细的Tesla V100在Windows系统下的部署实战指南。文章从硬件组装、系统选择讲起,重点阐述了驱动安装的正确方法,并深入剖析了将计算卡从TCC模式切换至WDDM模式的诱惑与潜在陷阱。最终,作者推荐保持默认TCC模式,并提供了使用nvidia-smi命令行等稳定可靠的显卡监控方案,旨在帮助用户避开常见坑点,高效利用这张专业计算卡进行AI计算等任务。

java5的博客 1712

C++函数精讲(1)——max函数

在 C++标准库中,max函数用于比较两个值并返回较大的那个值。它的定义位于头文件中,有多个重载版本,可用于不同数据类型的比较。2. max 函数的作用比较两个值: 主要作用是比较两个值,返回较大的那个值。泛型支持: max 函数是泛型的,可以用于比较不同类型的数据。3. max 函数的场景确定最大值: 当你需要从两个或多个值中确定最大值时,可以使用 max 函数。4. max 函数的功能描述max 函数的功能是返回两个参数中较大的那个值。5.具体示例// 示例1:比较两个整数。

Nicholas_boy的博客 1559

传统方式部署 Hadoop 高可用集群

传统方式部署 Hadoop 高可用集群

寂夜了无痕的博客 266

Python入门基础:数据类型与变量详解

Python数据类型与变量详解,零基础入门必学核心知识点。

蓝海琴泉的博客 1033

2025.06.18【转录组】|Ribo-seq/small RNA数据分析:rRNA和smRNA比对率统计全流程

本文介绍了一种自动化统计rRNA/smRNA比对率的方法,用于评估Ribo-seq或small RNA测序数据的质量。主要内容包括:分析原理(比对率定义、参考序列来源)、实践流程(构建索引、比对统计)以及结果可视化方法。通过Python和R脚本实现自动化处理,可生成汇总表格和柱状图。比对率结果能反映样品污染程度,建议控制在20%以下。该流程有助于快速评估测序质量,为后续分析提供可靠依据。文中还提供了常见问题解决方案和脚本示例,适用于生物信息学标准化质控环节。

1619

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

视频教程-零基础JS入门系列课程(2)之JS语法基础精讲-JavaScript

零基础JS入门系列课程(2)之JS语法基础精讲 螺钉课堂讲师,擅长Vue、R...

weixin_32199023的博客 260

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

前端学习记录~2023.7.22~JavaScript重难点实例精讲~第1章 Javascript重点概念

从本篇开始记录《Javascript重难点实例精讲》,关于Javascript系列预计从这本书出发,接着再通过《Javascript高等程序设计》和阮一峰老师的ES6教程进行完善本篇为第1章 Javascript重点概念js中的number类型及包括整型数据,也包括浮点型数据基本采用是十进制八进制:首位是0,其他位必须是0~7的八进制序列。如024就是十进制20十六进制:前两位必须是0x,其他位是十六进制序列(0~9,a~f或者A~F)。如0x3f是十进制63。

Viator_mp3的博客 734

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python入门(1):从环境搭建到内置函数核心精讲

该篇讲解了Python入门核心知识,涵盖环境搭建、内置函数(print/input)、变量与对象的本质、以及三种格式化输出方法(百分号格式化、format()函数、f-string表达式),并重点推荐使用f-string作为格式化输出的首选方法。及未提及概念梳理。

yangjie200312的博客 849

12.MySQL数据类型精讲

文章目录第12章 MySQL数据类型精讲1. MySQL中的数据类型2. 整数类型2.1 类型介绍2.2 可选属性2.2.1 M2.2.2 UNSIGNED2.2.3 ZEROFILL2.3 适用场景2.4 如何选择?3. 浮点类型3.1 类型介绍3.2 数据精度说明4. 定点数类型4.1 类型介绍4.2 开发中经验5. 位类型:BIT6. 日期与时间类型6.1 YEAR类型6.2 DATE类型6.3 TIME类型6.4 DATETIME类型6.5 TIMESTAMP类型6.6 开发中经验7. 文本字符串类

weixin_44451166的博客 893

二级考试C语言基础知识精讲概述(一)

1.C程序: C程序由C语言编写,包括源程序(编译单位),以及生成的“.obj”目标文件和最终的".exe"可执行文件。在C语言中,代码的结构可以归纳为顺序结构、选择结构与循环结构。");return 0;这是一个简单的C程序,包括了源程序(编译单位),通过编译器编译后会生成".obj"目标文件,链接器再将多个目标文件进行链接生成最终的".exe"可执行文件。2.main函数: main函数是程序的入口点,每个C程序都必须且只有一个main函数。");return 0;

weidl001的博客 2110

C语言函数精讲:从入门到精通

本文系统讲解了C语言函数的核心知识点,内容包括:函数定义与调用、参数传递方式(值传递、指针传递、数组传递)、返回值处理(基本类型、指针、结构体)、递归函数实现(阶乘、斐波那契数列)以及函数指针的高级应用(回调函数)。通过大量代码示例演示了各种函数用法,帮助读者从基础到进阶全面掌握C语言函数编程技巧,提升代码模块化和重用性。

胡茬大叔的博客 587

前端学习记录~2023.7.24~JavaScript重难点实例精讲~第2章 引用数据类型

本篇为第2章引用数据类型。主要涉及Object类型、Array类型、Date类型。其他类型在后面章节再记录。引用数据类型主要用于区别基本数据类型,描述的是具有属性和函数的对象。JavaScript中常用的引用数据类型包括Object类型、Array类型、Date类型、RegExp类型、Math类型、Function类型以及基本数据类型的包装类型,如Number类型、String 类型、Boolean类型等。引用数据类型的实例需要通过new操作符生成,有的是显式调用,有的是隐式调用引用数据类型的。

Viator_mp3的博客 1375

C语言系统化精讲(三):C语言变量和数据类型-上篇

本章也是C语言的基础知识,主要讲解变量、数据类型、输入输出函数,这其中涉及到了数据的存储格式以及不同进制。

XAMO Lab|代码、调试与复盘笔记 1834

从零开始C语言精讲篇1:初识C语言

这里是C语言专栏重制版,笔者将定期更新C语言相关文章,让读者快速上手,并深入理解C语言。笔者在之前也有一些C语言和JAVA基础与进阶相关文章,感兴趣的读者可自行查看。本专栏是面向零基础或者刚刚入门又或者准备系统复习一下C语言的读者。也是为笔者本人考研的C语言打一个铺垫,未来与诸君共勉。希望大家读完文章都能有所收获。......

m0_57180439的博客 938

第 2 章 控制流 知识点精讲

布尔操作符和比较操作符可以组合使用,形成复杂的逻辑表达式。Python 会先计算比较操作符,再计算布尔操作符。代码块是一组在相同缩进级别下的语句。它定义了在特定条件下执行的代码范围。函数的三个参数分别控制序列的起始值、结束值(不包含)和步长。语句用于跳过当前循环的剩余部分,直接进入下一次循环迭代。语句用于导入模块,以便使用其中的函数和变量。布尔值是表示真假的两种状态,是控制流的基础。语句用于根据条件执行代码块。函数用于立即终止程序的执行。的缩写,用于检查多个条件。,循环将永远执行下去,这被称为无限循环。

Du_chong_huan的博客 453
上一篇: 《Kotlin精讲》-第1章(1)开发环境&第一个Kotlin程序
下一篇: 错误-windows10 安装PyQt4-*.whl is not a supported wheel on this platform
billycoder
博客等级 码龄17年 171粉丝 188原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值