Kotlin第一课Hello World —— Package、main、fun、import、变量、注释
我们还是用Hello World的例子展开,代码如下:
package com.my.examplefun main() {println("Hello World")
}
package(包)
所有的文件,通常以package声明开头,后面跟的是包名(本例中的com.my.example)。包名就类似于我们的地址,XX市.XX区.XX街道,每个人都属于某个地址,当然如果是黑户,没有地址怎么办呢,Kotlin也允许这样的情况存在,没有指明包的,该文件的内容属于无名字的默认包。
包名需要遵守下面的规范:
a. 为了尽量避免包名重复,通常是域名倒着写
b. 包名必须小写,不能有下划线
c. 通常不鼓励使用多个词,那有些特殊情况,必须要使用多个词,比如您就是不写北京市,非要写京津冀,能咋地,客官您息怒,可以可以,确实不能咋地,如果非要这么做,推荐使用驼峰风格(com.my.myExample)
为什么需要有个包名,主要是为了文件/方法/属性/类的可见性,这个在引入三方库的时候会比较明显,比如以北京这个维度,可能叫小明的同学有很多,但是细化到街道的维度可能就一个了
import
使用任何方法,属性,类等等,都需要import相应的包
在println上面,点击ctrl+鼠标左键,会进到Console.kt文件,我们翻到最上面,会发现,package kotlin.io,说明我们引用的println函数属于kotlin.io包,那为什么没有import呢,Kotlin平台,默认会导入kotlin.,kotlin.io.,kotlin.text.*等等,不需要再显示import
main
Kotlin的入口点是main函数,这个是百米赛道的起点,等你准备就绪,只等系统给你一个启动的信号。
变量
Kotlin 使用两个不同的关键字(即 val 和 var)来声明变量
- val 用于值从不更改的变量。使用 val 声明的变量无法重新赋值
- var 用于值可以更改的变量
有一天我们突发奇想,盖一座房子吧:
val WELCOME = "Let's build a house!"
然后需要有一块地,宽20米,不能变,
val width : Int = 20
长呢,暂定25米,因为没想好,后面可能会变
var length : Int = 25
细心的小伙伴,发现了一些问题:
- WELCOME 为什么大写?Kotlin要求,对于顶层常量(或const变量),命名要使用全大写,可以包含下划线WELCOME_TO_MARKET
- WELCOME没有类型,这里涉及到Kotlin的一个机制——类型推断,“Let’s build a house!”很明显是String类型,在赋初值时,编译器推断出WELCOME也为String类型,于是可以省略类型声明,同样的下面两个变量也可以省略类型
- 局部变量需要使用小写命名,遵循驼峰规则
更多关于变量的知识点,会在后续篇章,不断深入,此篇只是入门。
fun
Kotlin中,使用fun关键字来声明函数,函数呢就是一段用于实现某个功能的代码。,函数名称须使用有意义的不宜过长。
那接着我们上面的例子,算一下这个房子需要占地多少,于是增加一个函数,实现的功能是长*宽=面积:
fun area(length: Int, width: Int): Int {return length * width
}
函数有几个部分:fun关键字,函数名(area)参数(length和width),返回值(最后的Int),函数体(return length* width;)
为了培养大家的良好习惯,尽量遵守以下规则:
a.函数名称使用有意义的词组,尽量避免a()b()这样毫无意义的名称,不宜过长
b.首字母小写,多个词组使用驼峰风格,比如(weAreFamily)
c.参数使用name:type的表示方法,多个参数使用“,”隔开
注释
如果把程序比作房子,注释就是构造图或者说明书,对代码功能没有任何实际影响,但是可以增加可读性,别人可以更方便的了解你的代码。
Kotlin有一套编写代码文档的语言,成为KDoc,我们在此不展开讲,感兴趣的同学,可以仔细阅读编写Kotlin代码文档
对于比较长的注释以/*开头,以/结尾,单独一行
/***This is our first kotlin application*Copyright ...* @author: XXX*/
简短的注释/*和/可以写在一行
/** return area of land, using [length] and [width] */
当然,还可以更简单
var length : Int = 25//land length
Kotlin有提供丰富的标签,比如:
@param <名称>
用于函数的值参数或者类、属性或函数的类型参数
等等等等。。。
最后附上本章的代码:
/***This is our first kotlin application* Copyright ...* @author: XXX*/package com.my.exampleval WELCOME = "Let's build a house!"/** return area of land, using [length] and [width] */
fun area(length: Int, width: Int): Int {return length * width
}fun main() {println(WELCOME)var length = 25//land lengthval width = 20println("The area of land is " + area(length, width))
}
运行一下
大家应该都发现了,Kotlin语言的最大特性之一:
代码末尾不需要使用“;”结束
返回目录
Kotlin第一课Hello World —— Package、main、fun、import、变量、注释相关推荐
- 计算机课进制笔记,初学Python课程笔记-第一课(计算机基本概念+进制+环境变量)...
这是我第一次写博客,简单地聊聊当下的感受.其实,早在大学期间就有过把自己所学的一些知识点记录在某个平台,可供日后自己复习.只是本人并非计算机专业出身,平时写代码写得不是不多.直到毕业参与工作,从事软件 ...
- opencv 学习第一课 图像读取、显示、写入 代码注释版 保证你每一行都能读懂
import numpy as np import cv2 as cvimg = cv.imread('cat.jpg',0) #读入图片 cv.imshow('image1',img) #显示图片 ...
- 第一课:初识Java语言
第一课:初识Java语言 一.了解Java的历史由来. 1.为什么学习Java编程语言. (1)首先要了解编程语言的流行趋势,Tiobe.PYPL排行榜. (2)在这些排行榜上,Java语言的流行程度 ...
- kotlin 第一个程序_Kotlin程序添加两个矩阵
kotlin 第一个程序 Given two matrices, we have to add them. 给定两个矩阵,我们必须将它们相加. Example: 例: Input: matrix 1: ...
- kotlin 第一个程序_Kotlin程序减去两个矩阵
kotlin 第一个程序 Given two matrices, we have to subtract them. 给定两个矩阵,我们必须将它们相减. Example: 例: Input: matr ...
- java面向对象第一课,定义类,模拟人的行为:吃饭工作休息
java面向对象第一课,定义类,模拟人的行为:吃饭工作休息 /*** 定义类,模拟人的行为:吃饭工作休息*/ public class Person {//静态特征:成员变量 属性 fieldStri ...
- 第一课 大数据技术之Fink1.13的实战学习-部署使用和基础概念
第一课 大数据技术之Fink1.13的实战学习 文章目录 第一课 大数据技术之Fink1.13的实战学习 第一节 Fink介绍 1.1 Flink介绍背景 1.2 Flink 的应用场景 1.3 流式 ...
- 爬虫小白第一课、从安装python到写出第一个爬虫程序、Pycharm安装详解
本文原文链接 ↑↑↑ 目录 1什么是python 2怎么安装python 3安装python编辑器 4"写"你的第一个爬虫 5小结 python爬虫现在挺火,一方面全民学pytho ...
- Java第一课学习,开启学习之旅!
一个程序员的第一课都是用程序编写"Hello,world!",当然我也不例外! public class HelloWorld{public static void main(St ...
最新文章
- 【Pandas库】(4) 索引操作--重新生成索引
- 域名跳转301-LAMP环境搭建
- Petrozavodsk Summer-2016. Ural FU Dandelion Contest
- python对excel某一列求和-96、python操作excel求和
- 【转】三分钟了解Fiori背后的设计理念
- boost::geometry::disjoint用法的测试程序
- 分布式事务:RocketMQ实现分布式事务原理
- 输出该数二进制表示中1的个数。求取十进制数字元素1的个数 (3种方法)
- Ubuntu 下 svn 服务器的安装配置
- 如何卸载密码保护的Symantec Endpoint Protection
- C++ error C3867 请使用 ““ 来创建指向成员的指针
- visio 2013安装使用
- matlab中采样点是什么意思,各种采样含义
- 特征值、特征向量及相似矩阵
- iTOP-4418开发板RS85模块ioctl操作时间间隔修改
- gprs模块与服务器通信协议,gprs模块与服务器通信原理分析
- 【Node.js】关于Node.js接口的详解和案例--restful风格接口。案例:添加商品接口,添加员工接口,删除员工接口
- iOS开发 - 给Label加下划线、中划线
- C++/Qt:最小外接矩形
- chage(charger)