Kotlin尝试
Kotlin 是一种静态类型的编程语言,可在 Java 虚拟机上运行,也可以编译为 JavaScript 源代码。其主要发展来自位于俄罗斯圣彼得堡的 JetBrains 程序员团队。虽然语法与 Java 不兼容,但 Kotlin 旨在与 Java 代码进行交互操作,并且依赖于现有 Java 类库(例如集合框架)的 Java 代码。这个名字来自圣彼得堡附近的科特林岛(Kotlin Island)。—— wikipedia
1、Kotlin 初识
- 什么是 Kotlin?Kotlin (programming language) - Wikipedia
- Kotlin 作为服务器端开发语言与 Java 相比会如何?Kotlin作为服务器端开发语言与Java相比会如何? - 知乎
- 为什么使用 Kotlin,以及 Kotlin 的入门。Kotlin Programming Language
- Kotlin 的相关资讯。Kotlin (@kotlin) · Twitter
- 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尝试的更多相关文章
- Kotlin尝试之一:写代码前的准备
Kotlin是一种静态类型的编程语言,可在Java虚拟机上运行,也可以编译为JavaScript源代码. 其主要发展来自位于俄罗斯圣彼得堡的JetBrains程序员团队. 虽然语法与Java不兼容,但 ...
- 尝试Java,从入门到Kotlin(下)
上篇已提(tu)到(cao)Java中的各种坑.习惯了C#的各种特性和语法糖后,再转到Java感觉比较别扭.最后本着反正Java也不是很熟悉,干脆再折腾折腾其他语言的破罐子破摔的心态,逛了一圈JVM语 ...
- 尝试Java,从入门到Kotlin(上)
之前一直使用C#开发,最近由于眼馋Java生态环境,并借着工作服务化改造的契机,直接将新项目的开发都转到Java上去.积攒些Java开发经验,应该对.NET开发也会有所启发和益处. 从理论上说,Jav ...
- Android的Kotlin秘方(II):RecyclerView 和 DiffUtil
作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支 ...
- java太low,又舍不得jvm平台的丰富资源?试试kotlin吧(一)
尝试kotlin的起因 因为各种原因(版权,人员招聘),公司的技术体系从c#转到了java,我花了大概两周的时间来上手java,发现java的语法还是非常简单的,基本看着代码就知道什么意思.学习jav ...
- Android开发者的Kotlin:书
原文标题:Kotlin for Android Developers: The book 原文链接:http://antonioleiva.com/kotlin-android-developers/ ...
- Kotlin 介绍
Kotlin (0:00) 大家好,我是 Michael Pardo,今天我要给大家展示一下 Kotlin 这门语言,同时看看他如何让你在 Android 开发的时候更开心,更有效率. Kotlin ...
- 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试
1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...
- 使用Kotlin开发Android应用(I):简单介绍
使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...
随机推荐
- Codeforces 804D Expected diameter of a tree
D. Expected diameter of a tree time limit per test 3 seconds memory limit per test 256 megabytes inp ...
- linux基础命令之sed
什么是sed? sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管 道传输来的数据.主要针对行,也就是行编辑.默认是不编辑文件的,处理时,把当前 ...
- 科学计算三维可视化---Traits属性的功能
Traits属性的功能 Traits库为python的属性增加了类型定义的功能,除此之外他还提供了5个特殊的功能(可以为用户的界面响应提供基本能力):初始化:每个traits属性都有自己的默认值验证: ...
- Spring 3.2 @Autowired异常:expected single matching bean but found 2
在使用Sping做单元测试时候,对RequestMappingHandlerAdapter(从处理器包装过来的适配器)进行自动装配, 发现报:expected single matching bean ...
- 【leetcode 简单】 第九十四题 左叶子之和
计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 # Definition for a binary ...
- seq与Shell序列生成
有时候可能有这样的需要:用Shell生成类似0001这样的序列作为批次号,这里整理了一下个人的方法 方法一:通过seq命令 seq命令可以生成从某个数字到递增到另一数字的序列.用法如下: # seq ...
- Shell基础-Bash命令类型
Bash命令大体可以分为两类: 第一类是可执行文件,例如ls等 第二类是Bash内建命令,常见echo,cd等 bash命令优先级表:1别名 由alias指定 2关键字 3函数 由function ...
- php empty()与isset()
empty() : 检查一个变量是否为空. 判断一个变量是否被认为是空的.当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在.如果变量不存在的话,empty()并不会产生警告. em ...
- C# Func的同步、异步调用
using System; namespace ActionDemo { class Program { static void Main(string[] args) { Console.Write ...
- 解决 Electron 包下载太慢问题
项目下新建 .npmrc 文件,加入如下配置: electron_mirror=https://npm.taobao.org/mirrors/electron/ 即使用淘宝的源,重新 npm inst ...