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. apt代理设置

    内网apt使用代理 /etc/apt/apt.conf Acquire::http::Proxy "http://guest:password@ip:port";

  2. svnsync备份

    参考:https://www.cnblogs.com/zz0412/p/svnsync.html https://blog.csdn.net/windone0109/article/details/4 ...

  3. MySQL内存计算器

    MySQL如何使用内存? 首先,介绍MySQL使用内存的一些方法: 1. 会话级别的内存消耗(连接私有内存):如sort_buffer_size等,每个会话都会开辟一个sort_buffer_size ...

  4. pycharm 取消自动保存

    pycharm默认是自动保存的,习惯自己按 ctrl + s 的可以进行如下设置: 菜单File -> Settings... -> Appearance & Behavior - ...

  5. bzoj千题计划136:bzoj3931: [CQOI2015]网络吞吐量

    http://www.lydsy.com/JudgeOnline/problem.php?id=3931 在最短路网络上跑最大流 #include<queue> #include<c ...

  6. 设计模式之————依赖注入(Dependency Injection)与控制反转(Inversion of Controller)

    参考链接: 依赖注入(DI) or 控制反转(IoC) laravel 学习笔记 —— 神奇的服务容器 PHP 依赖注入,从此不再考虑加载顺序 名词解释 IoC(Inversion of Contro ...

  7. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)

    源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...

  8. angularJS $watch $apply $digest

    看O'Reilly的书看到$watch这部分,不过没看懂,网上很多资料也含糊不清,不过还是找到了几个好的,简单记录一下. 一句话说明,$watch是用来监视变量的,好了直接上代码 <html&g ...

  9. Fiddler 使用

    一.模拟post请求 User-Agent: FiddlerContent-Type: application/json; charset=utf-8Content-Length: 138Conten ...

  10. 推荐一些我所用的firefox 附加组件。

    firefox之所以强大,很大程度上是因为它有着超多的扩展组件,来实现许多有趣的功能.这几天把我装的firefox附加组件整理下,个人认为是一般上网常用或者可以说是必备的组件,o(∩_∩)o ,晒晒. ...