- 博客(29)
- 收藏
- 关注
原创 《Kotkin从小白到大牛》第27章:注解
第27章 注解在源代码中嵌入一些补充信息,这种补充信息称为注解(Annotation)。注解并不能改变程序运行的结果,不会影响程序运行的性能。有些注解可以在编译时给用户提示或警告,有的注解可以在运行时读写字节码文件信息。Kotlin中的注解本质上一种接口类型。Kotlin标准库中提供一些基本注解和元注解。基本注解会影响编译器的行为,如:@JvmName、@JvmField、@JvmStatic、@JvmOverloads和@Throws等,这些基本注解主要用于Kotlin与Java的混合编程中。元注解
2020-06-19 20:03:47 337
原创 《Kotlin从小白到大牛》第26章:反射
第26章 反射反射(Reflection)是程序的自我分析能力,通过反射可以确定类中有哪些函数、构造函数以及属性。反射机制在一般的应用开发中很少使用,主要用于框架开发。Kotlin语言本身提供了反射API,也可以通过调用Java语言反射API实现反射。通过反射机制能够动态读取一个类的信息;能够在运行时动态加载类,而不是在编译期。反射可以应用于框架开发,它能够从配置文件中读取配置信息动态加载类、调用函数和调用属性等。26.1 Kotlin反射APIKotlin反射API主要来自于kotlin.refl
2020-06-19 20:01:20 369
原创 《Kotlin从小白到大牛》第25章:轻量级SQL框架——Exposed
第25章 轻量级SQL框架——Exposed数据必须以某种方式来存储才可以有用,数据库实际上是一组相关数据的集合。例如,某个医疗机构中所有信息的集合可以被称为一个“医疗机构数据库”,这个数据库中的所有数据都与医疗机构的相关。数据库编程相关的技术很多,涉及具体的数据库安装、配置和管理,还要掌握SQL语句,最后才能编写程序访问数据库。本章重点介绍MySQL数据库的安装和配置,以及Exposed框架进行数据库编程。25.1 MySQL数据库管理系统在介绍Exposed框架前先介绍一下数据库管理系统。数据库
2020-06-19 19:59:56 1888
原创 《Kotlin从小白到大牛》第24章:Kotlin与Java Swing图形用户界面编程
第24章 Kotlin与Java Swing图形用户界面编程Kotlin目前没有自己的图形界面技术。开发人员可以借助于Java图形界面技术实现Kotlin图形界面应用程序。本章重点介绍Java Swing图形界面技术,如果你对Java Swing很熟悉可以跳过本章内容。图形用户界面(Graphical User Interface,简称 GUI)编程对于某种语言来说非常重要。Java的应用主要方向是基于Web浏览器的应用,用户界面主要是HTML、CSS和JavaScript等基于Web的技术,这些介绍要
2020-06-19 19:58:14 1540
原创 《Kotlin从小白到大牛》第23章:网络编程
第23章 网络编程现代的应用程序都离不开网络,网络编程是非常重要的技术。Kotlin标准库网络编程源自于Java提供java.net包,其中包含了网络编程所需要的最基础一些类和接口。这些类和接口面向两个不同的层次:1.基于Socket的低层次网络编程。Socket采用TCP、UDP等协议,这些协议属于低层次的通信协议,编程过程比较复杂。2.基于URL的高层次网络编程。URL采用HTTP和HTTPS这些属于高层次的通信协议,相对低层编程过程比较容易。所谓低层次网络编程并不等于它功能不强大。恰恰相反,正
2020-06-19 19:56:57 945
原创 《Kotlin从小白到大牛》第28章:项目实战1:开发PetStore宠物商店项目
第28章 项目实战1:开发PetStore宠物商店项目前面学习的Kotlin知识只有通过项目贯穿起来,才能将书本中知识变成自己的。通过项目实战读者能够了解软件开发流程,了解所学知识在实际项目中使用的情况,哪些是重点的,哪些是了解的。本章介绍通过Kotlin语言实现的PetStore宠物商店项目,所涉及的知识点:Kotlin面向对象、Lambda表达式、Swing、Exposed框架和数据库相关等知识,其中还会用到方方面面的Kotlin基础知识。28.1 系统分析与设计本节对PetStore宠物商店项
2020-06-19 19:54:55 1834
原创 《Kotlin从小白到大牛》第22章:Kotlin I/O与文件管理
第22章 Kotlin I/O与文件管理Kotlin I/O(输入与输出)是基于Java I/O流技术,但是Java I/O流技术使用起来比较繁琐,Kotlin提供了很多扩展,使代码变得简洁。本章介绍Kotlin I/O流和文件管理相关知识。22.1 Java I/O流概述Kotlin I/O流技术主要来自于Java I/O流技术,因此有必要先介绍一下Java I/O流技术。Java将数据的输入流和输出操作当作“流”来处理,“流”是一组有序的数据序列。“流”分为两种形式:输入流和输出流,从数据源中读取
2020-06-11 18:11:14 459
原创 《Kotlin从小白到大牛》第21章:Kotlin与Java混合编程
第21章 Kotlin与Java混合编程Kotlin毕竟还是一种新的语言,所以很多项目、组件和框架还是用Java开发的,目前Kotlin不能完全取代Java,因此有时会使用Kotlin调用Java写好的组件或框架。Kotlin在设计之初充分地考虑了与Java的混合编程。本章介绍Kotlin与Java混合编程。21.1 数据类型映射Kotlin虽然最终会编译为字节码在Java虚拟机上运行,它的一些数据类型会编译为Java中的数据类型。Kotlin中的一些数据类型与Java的一些数据类型有一定的映射关系的
2020-06-11 11:47:35 414
原创 《Kotlin从小白到大牛》第20章:协程
第20章 协程上一章介绍了线程,本章介绍的协程与线程类似都可以处理并发任务。协程在很多语言中都支持,但Java没有协程支持,Kotlin支持协程编程。本章介绍协程。20.1 协程介绍协程(Coroutines)是一种轻量级的线程,协程提供了一种不阻塞线程,但是可以被挂起的计算过程。线程阻塞开销是巨大的,而协程挂起基本上没有开销。在执行阻塞任务时,会将这种任务放到子线程中执行,执行完成再回调(callback)主线程,更新UI等操作,这就是异步编程。协程底层库也是异步处理阻塞任务,但是这些复杂的操作被
2020-06-11 09:37:01 229
原创 《Kotlin从小白到大牛》第19章:线程
第19章 线程无论PC(个人计算机)还是智能手机现在都支持多任务,都能够编写并发访问程序。多线程编程可以编写并发访问程序。本章介绍多线程编程。19.1 基础知识那么线程究竟是什么?在Windows操作系统出现之前,PC上的操作系统都是单任务系统,只有在大型计算机上才具有多任务和分时设计。随着Windows、Linux等操作系统出现,把原本只在大型计算机才具有的优点,带到了PC系统中。19.1.1 进程一般可以在同一时间内执行多个程序的操作系统都有进程的概念。一个进程就是一个执行中的程序,而每一个进
2020-06-10 17:18:14 552
原创 《Kotlin从小白到大牛》第18章:异常处理
第18章 异常处理很多事件并非总是按照人们自己设计意愿顺利发展的,而是有能够出现这样那样的异常情况。例如:你计划周末郊游,你的计划会安排满满的,你计划可能是这样的:从家里出发→到达目的→游泳→烧烤→回家。但天有不测风云,当前你准备烧烤时候天降大雨,你只能终止郊游提前回家。“天降大雨”是一种异常情况,你的计划应该考虑到这样情况,并且应该有处理这种异常的预案。为增强程序的健壮性,计算机程序的编写也需要考虑处理这些异常情况,Kotlin语言提供了异常处理功能,本章介绍Kotlin异常处理机制。18.1 从一
2020-06-10 16:04:01 336
原创 《Kotlin从小白到大牛》第17章:Kotlin中函数式编程API
第17章 Kotlin中函数式编程API为了提供对函数式编程的支持,Kotlin在集合和数组中提供了一些高阶函数,它们的参数和返回类型都是函数类型。因为集合和数组它们都是数据的容器,即按照某种算法实现的数据结构,这些数据在这些函数中“流动”最后输出结果。集合和数组中的这些高阶函数构成了Kotlin函数式编程API,本章介绍这些API。17.1 函数式编程API与链式调用函数操控的是数据,数据是放在集合或数组中的,而集合和数组在数学中计算可以分为:遍历、排序、过滤、映射、聚合等等。因此凡是支持函数式编程
2020-06-10 14:44:50 344
原创 《Kotlin从小白到大牛》第16章:数据容器——数组和集合
第16章 数据容器——数组和集合当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入。使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找。在计算机程序中会有很多数据,这些数据也需要一个容器将它们管理起来,这就是数据容器。数据容器本质是基于某种数据结构,常见的数据结构:数组(Array)、集(Set)、队列(Queue)、链表(Linkedlist)、树(Tree)、堆(Heap)、栈(Stack)和映射(Map)等结构。Kotlin中数据容器主要分为数组和集合。16.1 数组数组(A
2020-06-10 13:45:50 332
原创 《Kotlin从小白到大牛》第15章:泛型
第15章 泛型使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。泛型特性对Kotlin影响最大是在集合中使用泛型。本章详细介绍使用泛型。15.1 泛型函数泛型可以应用于函数声明、属性声明、泛型类和泛型接口,本节介绍泛型函数。15.1.1 声明泛型函数首先考虑一个问题,怎样声明一个函数来判断两个参数是否相等呢?如果参数是Int类型,则函数声明如下:private fun isEqualsInt(a: Int, b: Int): Boolean {return (a == b)}这个
2020-06-10 11:59:32 303 2
原创 《Kotlin从小白到大牛》第14章:函数式编程基石——高阶函数和Lambda表达式
第14章 函数式编程基石——高阶函数和Lambda表达式函数式编程思想虽然与面向对象一样立即悠久,但是支持函数式编程的计算机语言不过是近几年的事情。这些语言有Swift、Python、Java 8和C++11等,作为新生的语言Kotlin也支持函数式编程。本章将介绍Kotlin语言中函数式编程最重要的基础知识——高阶函数和Lambda表达式。14.1 函数式编程简介函数式编程(functional programming)与面向对象编程一样都一种编程范式,函数式编程,也称为面向函数的编程。在函数式编程
2020-06-10 11:07:46 589
原创 《Kotlin从小白到大牛》第13章:抽象类与接口
第13章 抽象类与接口设计良好的软件系统应该具备“可复用性”和“可扩展性”,能够满足用户需求的不断变更。使用抽象类和接口是实现“可复用性”和“可扩展性”重要的设计手段。13.1 抽象类Kotlin语言提供了两种类:一种是具体类;另一种是抽象类。前面章节接触的类都是具体类。这一节介绍一下抽象类。13.1.1 抽象类概念在12.4.1节介绍多态时,使用过几何图形类示例,其中Figure(几何图形)类中有一个onDraw(绘图)函数,Figure有两个子类Ellipse(椭圆形)和Triangle(三
2020-06-10 09:49:46 217
原创 《Kotlin从小白到大牛》第12章:继承与多态
第12章 继承与多态类的继承性是面向对象语言的基本特性,多态性的前提是继承性。Kotlin支持继承性和多态性。本章讨论Kotlin继承性和多态性。12.1 Kotlin中的继承为了了解继承性,先看这样一个场景:一位面向对象的程序员小赵,在编程过程中需要描述和处理个人信息,于是定义了类Person,如下所示://代码文件:chapter12/src/com/a51work6/section1/Person.ktpackage com.a51work6.section1import java.uti
2020-06-10 09:24:28 307
原创 《Kotlin从小白到大牛》第11章:面向对象编程
第11章 面向对象编程Kotlin语言目前还是以面向对象编程为主,函数式编程为辅。面向对象是Kotlin是重要的特性之一。本章将介绍Kotlin面向对象编程知识。11.1 面向对象概述面向对象的编程思想:按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建的软件系统就存在什么样的实体。例如:在真实世界的学校里,会有学生和老师等实体,学生有学号、姓名、所在班级等属性(数据),学生还有学习、提问、吃饭和走路等操作。学生只是抽象的描述,这个抽象的描述称为“类”。在学校里活动是学生个体,
2020-06-09 16:34:35 535
原创 《Kotlin从小白到大牛》第10章:函数
第10章 函数程序中反复执行的代码可以封装到一个代码块中,这个代码块模仿了数学中的函数,具有函数名、参数和返回值,这就是函数。Kotlin中的函数很灵活,它可以独立于类或接口之外存在,即顶层函数,也就是全局函数,之前接触的main函数就属于顶层函数;也可以存在于别的函数中,即局部函数;还可以存在于类或接口之中,即成员函数。本章重点介绍Kotlin函数基础内容,而高阶函数和函数类型将在第14章详细介绍。10.1 函数声明要使用函数首先需要声明函数,然后在需要的地方进行调用。函数的语法格式如下:f
2020-06-09 13:11:44 357
原创 《Kotlin从小白到大牛》第9章:程序流程控制
第9章 程序流程控制程序设计中的流程控制有三种结构,即顺序、分支和循环结构。Kotlin中的流程控制结构分类如下:o 分支结构:if和wheno 循环结构:while、do-while和foro 跳转结构:break、continue和return9.1 if分支结构分支结构提供了一种控制机制,使得程序具有了“判断能力”,能够像人类的大脑一样分析问题。分支结构又称条件结构,条件结构使部分程序可根据某些表达式的值被有选择地执行。在Kotlin语言中分支结构有if和when,本节先介绍if结构。9
2020-06-09 10:42:55 228
原创 《Kotlin从小白到大牛》第8章:运算符
第8章 运算符Kotlin语言中的运算符(也称操作符)在功能上都与Java、C 和C++极为相似。本章为大家介绍Kotlin语言中一些主要的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符和其他运算符。8.1 算术运算符Kotlin中的算术运算符主要用来组织数值类型数据的算术运算,按照参加运算的操作数的不同可以分为一元运算符和二元运算符。8.1.1 一元运算符算术一元运算符一共有3个,分别是-、++和–。具体说明参见表8-1。表8-1中,-a是对a取反运算,a++或a–是在表达式运算
2020-06-09 09:52:38 480
原创 《Kotlin从小白到大牛》第7章:字符串
第7章 字符串由字符组成的一串字符序列,称为“字符串”,在前面的章节中也多次用到了字符串,本章将重点介绍。7.1 字符串字面量Kotlin中的字符串字面量有两种:普通字符串,采用双引号(")包裹起来的字符串。原始字符串(raw string),采用三个双引号(""")包裹起来的字符串。7.1.1 普通字符串普通字符串字面量与Java语言采用双引号(")包裹起来的字符串,大部分计算机语言都是采用这种方式表示字符串。下面示例都是普通字符串字面量:“Hello World”
2020-06-08 16:21:31 709
原创 《Kotlin从小白到大牛》第6章:数据类型
第6章 数据类型数据类型在计算机语言中是非常重要的,在前面介绍变量或常量时已经用到一些数据类型,例如Int、Double和String等。本章主要介绍Kotlin的基本数据类型和可空类型。6.1 回顾Java数据类型Kotlin作为依赖于Java虚拟机运行的语言,它的数据类型最终被编译成为Java数据类型,所以本节先回顾一下Java数据类型的基础知识。Java语言的数据类型分为:基本类型和引用类型。基本类型变量在计算机中保存的是数值,当赋值或作为参数传递给函数时基本类型数据会创建一个副本,把副本赋
2020-06-08 15:08:10 338
原创 《Kotlin从小白到大牛》第5章:Kotlin编码规范
第5章 Kotlin编码规范俗话说:“没有规矩不成方圆”。编程工作往往都是一个团队协同进行,因而一致的编码规范非常有必要,这样写成的代码便于团队中的其他人员阅读,也便于编写者自己以后阅读。# 5.1 命名规范程序代码中到处都是标识符,因此取一个一致并且符合规范的名字非常重要。命名方法很多,但是比较有名的且被广泛接受的命名法包括下面两种。o 匈牙利命名,一般只是命名变量,原则是:变量名= 类型前缀 + 描述,如bFoo表示布尔类型变量,pFoo表示指针类型变量。匈牙利命名还是有一定争议的,在Kot
2020-06-08 14:03:59 489
原创 《Kotlin从小白到大牛》第4章:Kotlin语法基础
第4章 Kotlin语法基础本章主要为大家介绍Kotlin的一些语法,其中包括标识符、关键字、常量、变量、表达式、语句、注释和包等内容。4.1 标识符和关键字任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Kotlin标识符和关键字。4.1.1 标识符标识符就是变量、常量、函数、属性、类、接口和扩展等由程序员指定的名字。构成标识符的字符均有一定的规范,Kotlin语言中标识符的命名规则如下:1.区分大小写:Myname与myname是两个不同的标识符。2.首字符,可以是下划线()或
2020-06-05 15:25:29 386
原创 《Kotlin从小白到大牛》第3章:第一个Kotlin程序
第3章 第一个Kotlin程序本章以HelloWorld作为切入点,介绍如何编写和运行Kotlin程序代码。编写和运行Kotlin程序有多种方式,总的来说可以分为:1.交互式方式运行2.编译为字节码文件方式运行交互式方式运行可以采用REPL。编译为字节码方式运行就是使用IntelliJ IDEA或Eclipse创建一个项目,通过这些工具可以编译和运行Kotlin源文件。另外还可以使用文本编辑工具编写Kotlin源文件,再使用Kotlin编译器提供的kotlinc命令在命令提示行中编译Kotlin源
2020-06-05 11:59:30 387
原创 《Kotlin从小白到大牛》第2章:开发环境搭建
第2章 开发环境搭建《论语•魏灵公》曰:“工欲善其事,必先利其器”,做好一件事,准备工作非常重要。在开始学习Kotlin技术之前,先介绍如何搭建Kotlin开发环境是非常重要的一件事件。开发Kotlin工具主要的IDE(Integrated Development Environments,集成开发环境)工具有:IntelliJ IDEA、Eclipse和Android Studio,IntelliJ IDEA和Eclipse可以编写一般的Kotlin程序,使用Eclipse开发Kotlin程序需要安
2020-06-04 17:42:28 444
原创 《Kotlin从小白到大牛》第1章:开篇综述
第1章 开篇综述Java诞生到现在已经有20多年了,Java仍然是非常热门的编程语言之一,很多平台中使用Java开发。但由于历史的原因Java语法有些繁琐、冗余,而本书要介绍的Kotlin语言设计目标是取代Java语言,简化应用开发。1.1 Kotlin语言简介Kotlin语言是基于Java虚拟机(Java Virtual Machine 简称JVM)的现代计算机语言。作为一种Java虚拟机语言Kotlin编写的程序可以运行在任何Java能够运行的地方。1.1.1 Kotlin语言历史
2020-06-04 15:44:53 544
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人