来入门一下kotlin吧

简介: Kotlin是什么?Kotlin是一种在java虚拟机上运行的静态类型的编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin是什么?
Kotlin是一种在java虚拟机上运行的静态类型的编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin的优势!
Kotlin可以编译成java字节码,也可以编译成JavaScript。方便在没有java虚拟机的主机上运行。(据说学会Kotlin,你就是一名全栈工程师 (/偷笑))

并且的2017年的 Google I/O大会上,Google宣布将Kotlin作为Android的官方开发语言。(这就意味着,作为一名“资深‘的android开发工程师,以后就必须得会Kotlin了)

Kotlin相对于java开发android有什么优势呢?(个人亲身体验)
拿辉哥的话说:一个字!简洁!(一直用java写android,当我用kotlin写了android的一个Demo之后,暂且不讨论它的底层等等,对于写法上,就是简洁!可能本章节体现的简洁不是很明显)

这一篇的入门,前提是你是有java基础的情况下。这样子你可以举一反三,才会看懂一部分。所以......往下看吧

Kotlin的使用!(这里以Android Studio 为例进行演示)
一、安装Kotlin插件
mac本用快捷键(command + ,)打开设置面板,找到Plugins 进行搜索 (如图所示)

img_7bee4579de3e1bb53a661e3f52b8244e.png
image.png

找不到不要紧,点击蓝色超链接。


img_633f35e6b392fc2a76e49a99483fef05.png
image.png

找到kotlin进行下载,然后重启Android studio即可。

二、开始将java代码转为kotlin(激动吗,有点小激动呢)
我们来新建一个项目,(这里步骤较多,占用图片资源大,但是很简单,不会的童鞋可以问问android的同学,或者可以问小黄哦,小黄已经得我真传,开始学习android了)

好了好了,废话不多说,开始转换。


img_404445fd1a8a5e969669d36d8ca3296f.png
image.png

像这种我们类名前面有蓝色背景,黑色字体C的为java代码,C代表的是 class。那么如何快速转换为kotlin代码呢?

img_65fe577975119ddb4d50154f75420d3e.png
image.png

我们找到顶部菜单栏的code选项,并且选中最下方的 Convert Java File to Kotlin File 开始转换

转换完成后,点击右上角 Configure,然后默认为最新版本直接点击 OK即可。

img_b8e8c0b83e617d8819c0f1dd333556b1.png
image.png

ok,完美转换

package kotlindemo.yjy.com.mykotlindemo

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

可能你还感觉并没有多大的改变,没关系,我们慢慢往下看。

三、开始简单实用kotlin开发android吧!(这里东西较多,会有与java开发作比对的部分)
1.来一句最简单的,hello world吧!

先来看看java代码:

public class MainTestActivity extends Activity {
    private TextView textView;

    @Override
 protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initview();
    }

    private void initview() {
        textView = findViewById(R.id.main_tv);
        textView.setText("hello world!");

    }
}

接下来是kotlin代码:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        initview()
    }
    fun initview(): Unit {
        main_tv.setText("hello world")
    }
}

kotlin代码免掉了findviewbyid的方法,这个依赖在创建项目时勾选kotlin会自动导入,或者手动导入都可以。

依赖代码放这里:(我想懂android的都知道怎么用,你懂android吗? /偷笑)

apply plugin: 'kotlin-android-extensions'

2.来一个比较大小的代码
先来看看java代码:

private int max(int num1, int num2) {
    if (num1 > num2) {
        return num1;
    } else {
        return num2;
    }
}

再来看看kotlin代码:

fun max(num1: Int, num2: Int): Int = if (num1 > num2) num1 else num2

一样的含义,也许你并不感觉kotlin有简洁多少,少许代码感觉不出来,那么继续往后看。

3.来看一下返回String类型的时候吧()

这次我们先看看kotlin代码:

fun getstr(str: String): String = str?.length.toString()

//kotlin为我们提供了避免string类型空指针,这行代码的意思是:str为不为null?为null就返回str的length,不为null就返回str原来的值。

再来看看java代码:

private String getStr(String str) {
    return str;
}

//上面的代码一看,直接返回,如果str为空怎么办呢,java会给我们直接报空指针异常。要是为了避免空指针异常就得用下面的改进版。

private String getStr(String str) {
    if (str != null) {
        return str;
    } else {
        return "";
    }
}

用改进版的代码跟kotlin一比,这次终于知道简洁在哪里了吧。

4.来看看变量的定义与使用

来看看kotlin代码:


//定义string类型的变量,
var i = "a"
//或者
var i1: String = "a"
//定义int类型的变量
var a = 1
//或者
var a1: Int = 3
//表示不可修改的参数(类似于java的final)
val c1 = "abc"

可以看出,koltin可以不指定类型,当kotlin不指定类型的时候,kotlin会自己转义,有引号的默认为string,没有引号的数字会自动转成int。

再来看看java代码:

//定义String类型的变量
String i = "a";
//定义int类型的变量
int a = 1;
//修饰不可修改的参数。或者说只可以赋值一次。
final String c1 = "abc";

不难看出,java的代码所有的变量都必须指定一个类型,因为java是强类型语音,这就是为什么我们跟后台同学们调试参数的过程中总是出现问题的原因。如果改用kotlin会不会这个问题就少了呢,我也不好说,哈哈。

恭喜你已经看完了,看完之后别人问你会kotlin吗?你可以自豪的说,我已经入门了。

这一节课就到这里,学习语言最基础的东西。 后续还会更新内容,有更简洁的东西。

相关文章
|
11月前
|
Java Kotlin
开心档-软件开发入门之​Kotlin 基本数据类型​
开心档-软件开发入门之​Kotlin 基本数据类型​
21 0
|
12月前
|
Java 开发工具 Android开发
Kotlin入门学习
Kotlin入门学习
59 0
|
10天前
|
安全 Java Android开发
Kotlin入门实用开发技巧与注意事项
本文源自公众号“AntDream”。Kotlin是由JetBrains开发的现代编程语言,自2017年成为Android官方开发语言后迅速流行。本文作者分享了Kotlin的实用技巧,包括变量声明、空安全、扩展函数等,帮助初学者避免常见问题。
42 15
|
11月前
|
Java Unix 编译器
开心档-软件开发入门之​Kotlin 使用命令行编译​
开心档-软件开发入门之​Kotlin 使用命令行编译​
40 0
|
11月前
|
Java Kotlin
开心档-软件开发入门之​Kotlin 条件控制
开心档-软件开发入门之​Kotlin 条件控制
28 0
|
11月前
|
Java Unix 编译器
开心档-软件开发入门之​Kotlin 使用命令行编译​
开心档-软件开发入门之​Kotlin 使用命令行编译​
|
11月前
|
Java iOS开发 Kotlin
开心档-软件开发入门之​Kotlin 基本数据类型​
开心档-软件开发入门之​Kotlin 基本数据类型​
|
Java Kotlin
开心档-软件开发入门之​Kotlin 基本数据类型
前言 本章将会讲解 Kotlin 基本数据类型 目录 Kotlin 基本数据类型 字面常量 比较两个数字 类型转换 位操作符 字符 布尔 数组 字符串 字符串模板
|
NoSQL MongoDB 数据库
开心档-软件开发入门之Kotlin 基础语法
前言 目录 Kotlin 基础语法 包声明 默认导入 函数定义 可变长参数函数 lambda(匿名函数) 定义常量与变量 注释 字符串模板 NULL检查机制 类型检测及自动类型转换 区间 实例测试 实例 本章将会讲解 Kotlin 基础语法 在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。
|
JSON 算法 安全
Kotlin协程入门食用指南
我们需要处理并发过程中的调度问题,使应用程序在这种操作过程中不至于阻塞,而造成应用崩溃。为此,官方推出了协程来编写非阻塞并发代码来解决以上需求,让我们对协程进行相关知识点学习
372 0