Kotlin是一种静态类型的编程语言,可在Java虚拟机上运行,也可以编译为JavaScript源代码。

其主要发展来自位于俄罗斯圣彼得堡的JetBrains程序员团队

虽然语法与Java不兼容,但Kotlin旨在与Java代码进行交互操作,并且依赖于现有Java类库(例如集合框架)的 Java代码。

这个名字来自圣彼得堡附近的科特林岛(Kotlin Island)。——wikipedia

  1. 了解Kotlin
  2. IntelliJ IDEA入门
  3. 使用命令行编译器

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、IntelliJ IDEA入门

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

Step2:创建一个Kotlin Class——hello.kt

Step3:编写代码并运行程序。

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

3、使用命令行编译器

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运行这个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自带的编译器,并使用kotlinc、kotlin命令的更多相关文章

  1. codeblocks安装(自带gcc编译器)

    下载安装自带c编译器的的codeblocks. 网址:http://www.codeblocks.org/downloads/26 自带gcc编译器的版本 codeblocks-16.01mingw- ...

  2. testNG 学习笔记 Day2 配置testNG自带的监听器

    IntelliJ IDEA配置testNG自带的监听器的时候,操作如下菜单栏中 run ----> 下拉菜单中的 Edit Configurations ----> 新矿口中TeatNG下 ...

  3. Kotlin协程第一个示例剖析及Kotlin线程使用技巧

    Kotlin协程第一个示例剖析: 上一次https://www.cnblogs.com/webor2006/p/11712521.html已经对Kotlin中的协程有了理论化的了解了,这次则用代码来直 ...

  4. Visual Stdio C++ 编译器、链接器常用命令

    概览: cmd常用命令配合使用: del 删除指定文件 同erase cls 清屏 rd 删除空目录文件夹 dir 显示目录 cd 在当前盘符跳转指定目录(不同盘符跳转用盘符号)(分别表示根目录 上一 ...

  5. Windows自带强大的入侵检测工具——Netstat 命令 查询是否中木马

    Netstat命令可以帮助我们了解网络的整体使用情况.根据Netstat后面参数的不同,它可以显示不同的网络连接信息.Netstat的参数如图,下面对其中一些参数进行说明.如何检测本机是否有被中木马, ...

  6. 转 关于window10安装jdk,配置环境变量,javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题。

    今日拿到一台新的window10笔记本电脑,非常熟练的安装了JDK(因为在学校经常给同学安装JDK - -)但是发现java java -version命令都可以使用,唯独javac命令出现不是内部或 ...

  7. Qt配置cmake;运行带参数的程序

    配置cmake编译器,步骤如下: 步骤1:  Qt下新建一个project. 步骤2:  在该project目录下创建一个CMakeLists.txt文件,并按规范编写该文件. Tip: projec ...

  8. 配置mac自带的Apache服务器

    第一步: 484  cd /etc/apache2 备份httpd.conf文件,以防万一 486  sudo cp httpd.conf httpd.conf.bak 如果操作错误,可以通过 491 ...

  9. 在Editplus中配置java的(带包)编译(javac)和运行(java)的方法

    配置的前提是电脑安装了JDK并且配置好了相关的环境变量(JAVA_HOME,path和classpath). 配置好后在命令行中输入javac和java验证是否配置成功: 如果出现上面的情况则说明配置 ...

随机推荐

  1. JVM学习笔记(三):类文件结构

    代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 实现语言无关性的基础是虚拟机和字节码存储格式.Java虚拟机不和包括Java在内的任何语言绑定,只与&quo ...

  2. 【BZOJ1485】[HNOI2009]有趣的数列(组合数学)

    [BZOJ1485][HNOI2009]有趣的数列(组合数学) 题面 BZOJ 洛谷 题解 从小往大填数,要么填在最小的奇数位置,要么填在最小的偶数位置. 偶数位置填的数的个数不能超过奇数位置填的数的 ...

  3. 【BZOJ1024】[SCOI2009]生日快乐(搜索)

    [BZOJ1024][SCOI2009]生日快乐(搜索) 题面 BZOJ 洛谷 题解 看到这个数据范围就感觉是爆搜.我们爆搜左右分成多少块,这样子左右的面积已知,再枚举一下横着切还是竖着切,这样子就可 ...

  4. NOI2018旅游记

    这居然是我第一次参加非NOIP的NOI系列赛事,有点小期待啊 前几天的UNR我暴露出了许多问题,而且翻了好多分,不过令人震惊的是假设Day1不停电(导致已经写好的T3没交上去)我居然有rk10,虽然并 ...

  5. VUE.JS 窗口发生变化时,获取当前窗口的高度。

    VUE.JS # 窗口发生变化时,获取当前窗口的高度. mounted () { const that = this; window.onresize = () => { return (() ...

  6. Java Try-with-resources

    目录 资源管理与 Try-Catch-Finally,旧风格 Try-with-resources 管理多个资源 自定义 AutoClosable 实现 Try-with-resources 是 ja ...

  7. webService与分布式与微服务与SOA的关系

    SOA:是面向服务体系架构. webservice是SOA的一种实现技术.webservice基于两种协议:soap和rest协议.现在常用的是rest协议. web service (web 服务) ...

  8. string::replace

    #include <string> #include <cctype> #include <algorithm> #include <iostream> ...

  9. css原生变量var()

    了解css/css3原生变量var 阮一峰css变量教程 深入学习css自定义属性(css变量)

  10. 获取SQL Server数据库中的表和字段描述

    获取所有dbo表的扩展属性: SELECT * FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', default, NULL, ...