Kotlin 是一种静态类型的编程语言,可在 Java 虚拟机上运行,也可以编译为 JavaScript 源代码。其主要发展来自位于俄罗斯圣彼得堡的 JetBrains 程序员团队。虽然语法与 Java 不兼容,但 Kotlin 旨在与 Java 代码进行交互操作,并且依赖于现有 Java 类库(例如集合框架)的 Java 代码。这个名字来自圣彼得堡附近的科特林岛(Kotlin Island)。—— wikipedia

  1. Kotlin 初识
  2. Kotlin 入门:在 IDEA 中运行 Kotlin 程序
  3. 用命令行编译 Kotlin 程序

1、Kotlin 初识

  1. 什么是 Kotlin?Kotlin (programming language) - Wikipedia
  2. Kotlin 作为服务器端开发语言与 Java 相比会如何?Kotlin作为服务器端开发语言与Java相比会如何? - 知乎
  3. 为什么使用 Kotlin,以及 Kotlin 的入门。Kotlin Programming Language
  4. Kotlin 的相关资讯。Kotlin (@kotlin) · Twitter
  5. kotlin-docs & Programming Kotlin http://pan.baidu.com/s/1hrHLtfY

2、Kotlin 入门:在 IDEA 中运行 Kotlin 程序

Step-1: 前提是需要有一个较高版本的 IntelliJ IDEA,先创建一个新的 Kotlin工程,名字随便取。

Step-2: 创建一个 Kotlin类 —— hello.kt

Step-3: 编写 Kotlin代码 并运行程序。

/**
* Created by xkfx on 2017/6/7.
*/
fun main(args: Array<String>) {
println("Hello world!");
}

3、在命令行编译 Kotlin 程序

1、在 Windows 上安装 Kotlin

在 GitHub 上下载 kotlin-compiler-1.1.2-2.zip,网速慢的话点这里

将压缩包解压放在自己喜欢的位置,然后仿照“配置JDK环境变量”的方式配置 Kotlin 的环境变量。如果在命令行下输入 kotlinc 显示类似如下界面,说明配置成功。

编写一个 hello.kt,如下

fun main(args: Array<String>) {
println("Hello, World!")
}

使用 kotlinc hello.kt 编译上面的文件,这时会在同一目录下生成一个 HelloKt.class,尝试用 java命令来运行 HelloKt,结果会是 NoClassDefFoundError

那么,应该如何运行这段代码呢?根据官网的介绍大概是以下两种方式。

方式一:使用 Kotlin 命令运行这段代码

D:\labs>kotlinc hello.kt

D:\labs>kotlin HelloKt
Hello, World!

方式二:使用本地JVM 运行含有 Kotlin代码的 JAR包

官方的命令为:kotlinc hello.kt -include-runtime -d hello.jar

运行上述命令之后将得到一个hello.jar,运行这个JAR包:java -jar -hello.jar

D:\labs>java -jar hello.jar
Hello, World!

这样就证明了——Kotlin 是完全与原始JVM 兼容的!

Kotlin尝试的更多相关文章

  1. Kotlin尝试之一:写代码前的准备

    Kotlin是一种静态类型的编程语言,可在Java虚拟机上运行,也可以编译为JavaScript源代码. 其主要发展来自位于俄罗斯圣彼得堡的JetBrains程序员团队. 虽然语法与Java不兼容,但 ...

  2. 尝试Java,从入门到Kotlin(下)

    上篇已提(tu)到(cao)Java中的各种坑.习惯了C#的各种特性和语法糖后,再转到Java感觉比较别扭.最后本着反正Java也不是很熟悉,干脆再折腾折腾其他语言的破罐子破摔的心态,逛了一圈JVM语 ...

  3. 尝试Java,从入门到Kotlin(上)

    之前一直使用C#开发,最近由于眼馋Java生态环境,并借着工作服务化改造的契机,直接将新项目的开发都转到Java上去.积攒些Java开发经验,应该对.NET开发也会有所启发和益处. 从理论上说,Jav ...

  4. Android的Kotlin秘方(II):RecyclerView 和 DiffUtil

    作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支 ...

  5. java太low,又舍不得jvm平台的丰富资源?试试kotlin吧(一)

    尝试kotlin的起因 因为各种原因(版权,人员招聘),公司的技术体系从c#转到了java,我花了大概两周的时间来上手java,发现java的语法还是非常简单的,基本看着代码就知道什么意思.学习jav ...

  6. Android开发者的Kotlin:书

    原文标题:Kotlin for Android Developers: The book 原文链接:http://antonioleiva.com/kotlin-android-developers/ ...

  7. Kotlin 介绍

    Kotlin (0:00) 大家好,我是 Michael Pardo,今天我要给大家展示一下 Kotlin 这门语言,同时看看他如何让你在 Android 开发的时候更开心,更有效率. Kotlin ...

  8. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试

    1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...

  9. 使用Kotlin开发Android应用(I):简单介绍

    使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...

随机推荐

  1. python map对象

    工作中遇到需要将List对象中的元素(list类型)转化为集合(set)类型,转化完成之后需要需要访问其中的元素. 第一步,使用map方法进行转换 data = [[1, 3, 4], [2, 3, ...

  2. Kubernetes Downward API

    目录 说明 环境变量方式 将pod信息注入为环境变量 将容器资源信息注入为环境变量 volume挂载方式 作用 说明 我们知道,每个Pod在成功创建出来之后,都会被系统分配唯一的名字.IP地址,并且处 ...

  3. Java基础-Date类常用方法介绍

    Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...

  4. 使用IDEA复用代码时常见问题

    使用IDEA复用代码时常见问题 觉得有用的话,欢迎一起讨论相互学习~Follow Me 作为新手在直接复用别人的java代码并使用IDEA进行二次开发时,经常出现一些奇怪的问题,在此做一些总结~ In ...

  5. 转:NSString / NSData / char* 类型之间的转换

    1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; char fnameStr[10]; memcpy(fnameStr, [fname ...

  6. jsp中jsp:forward 与 redirect区别

    部分转载:http://hi.baidu.com/168zlf/item/2f4b2ad4351b881c20e2500c 在网上看到一些帖子,总结了一些区别,可以从以下几个方面来看: 1.从地址栏显 ...

  7. Challenge 18

    Challenge 18给你一个长度为 n 的非负整数序列 a 和 m 个询问 l, r, p, k,表示询问在 a[l .. r] 中 a[i]%p=k 的 i 的个数. 思路: 将序列分为根号n块 ...

  8. Linux部署node环境

    # wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz# tar -axvf node-v8.11.4-linux-x ...

  9. IIS 无法显示网页问题

    今天服务器上的项目突然无法访问,之前也碰到过,都是重启服务器解决的,因为重启IIS无效,另外检查发现w3wp.exe进程正常,其他端口及相关的都没什么问题,最后无奈只能想到用重启来解决了,今天又出现这 ...

  10. sklearn_k邻近分类

    # K邻近分类#--------------------------------# coding:utf-8 import pandas as pd from sklearn.neighbors im ...