今天有个小伙伴来问TJ君,说自己JAVA用的贼溜,想再学习下Kotlin,问TJ君上手难不难?

怎么说呢?其实TJ君一直觉得语言这方面,是触类旁通、一通百通的,既然JAVA已经贼溜了,想必学其他的语言也一定事半功倍。

不过呢,如果有好的辅助,肯定就更加容易学会拉,今天TJ君就和大家分享一个对比展示Java和Kotlin两种语言在语法上不同地方的项目from-java-to-kotlin,可以快速帮助会JAVA的小伙伴掌握Kotlin的编写技巧!

项目没有去讲大道理,而是用最实际的代码来展示不同之处,TJ君带你一起来看看:

打印日志

  1. //Java
  2. System.out.print("Amit Shekhar");
  3. System.out.println("Amit Shekhar");
  4. //Kotlin
  5. print("Amit Shekhar")
  6. println("Amit Shekhar")

常量与变量

  1. //Java
  2. String name = "Amit Shekhar";
  3. final String name = "Amit Shekhar";
  4. //Kotlin
  5. var name = "Amit Shekhar"
  6. val name = "Amit Shekhar"

null值的申明

  1. //Java
  2. String otherName;
  3. otherName = null;
  4. //Kotlin
  5. var otherName : String?
  6. otherName = null

for循环

  1. //java
  2. for (int i = 1; i <= 10 ; i++) { }
  3. for (int i = 1; i < 10 ; i++) { }
  4. for (int i = 10; i >= 0 ; i--) { }
  5. for (int i = 1; i <= 10 ; i+=2) { }
  6. for (int i = 10; i >= 0 ; i-=2) { }
  7. for (String item : collection) { }
  8. for (Map.Entry<String, String> entry: map.entrySet()) { }
  9. //Kotlin
  10. for (i in 1..10) { }
  11. for (i in 1 until 10) { }
  12. for (i in 10 downTo 0) { }
  13. for (i in 1..10 step 2) { }
  14. for (i in 10 downTo 0 step 2) { }
  15. for (item in collection) { }
  16. for ((key, value) in map) { }

方法定义

  1. //Java
  2. void doSomething() {
  3. // logic here
  4. }
  5. void doSomething(int... numbers) {
  6. // logic here
  7. }
  8. //Kotlin
  9. fun doSomething() {
  10. // logic here
  11. }
  12. fun doSomething(vararg numbers: Int) {
  13. // logic here
  14. }

是不是这样看这样学就更加直观明白?还有更多的不同之处等着小伙伴自己来看,觉得好的话,记得帮TJ君点个赞哦!项目地址如下:https://github.com/MindorksOpenSource/from-java-to-kotlin

TJ君将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU

通过对比语法差异,让会JAVA的你快速学会Kotlin的开源宝藏项目的更多相关文章

  1. Java 程序员快速上手 Kotlin 11 招

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:霍丙乾 近经常会收到一些 "用 Kotlin 怎么写" 的问题,作为有经验的程序员, ...

  2. Java 程序员快速上手 Kotlin 11招

    收录待用,修改转载已取得腾讯云授权 作者 | 霍丙乾 编辑 | 迷鹿 前言 最近经常会收到一些 "用 Kotlin 怎么写" 的问题,作为有经验的程序员,我们已经掌握了一门或者多门 ...

  3. C#与Java的语法差异

    C#与Java的语法差异C与Java的语法差异前言程序结构基本语法数据类型字符串变量与常量运算符判断语句循环语句访问权限方法数组结构枚举类继承多态运算符重载接口命名空间预处理器指令正则表达式异常IO泛 ...

  4. C++、Java语法差异对照表

    C++.Java语法差异对照表 C++ and Java Syntax Differences Cheat Sheet First, two big things--the main function ...

  5. Kotlin VS Java:基本语法差异

    Kotlin比Java更年轻,但它是一个非常有前途的编程语言,它的社区不断增长. 每个人都在谈论它,并说它很酷. 但为什么这么特别? 我们准备了一系列文章,分享我们在Kotlin开发Android应用 ...

  6. Sqlite基础及其与SQLServer语法差异

    1 TOP 这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录: SELECT TOP 10 * FROM [index] ORDER BY indexi ...

  7. Vue 事件的基本使用与语法差异

    "v-on:"可以简写为"@" "click"单击 "dblclick"双加 代码: <!doctype html ...

  8. JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  9. java 利用JAX-RS快速开发RESTful 服务

    JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311 .从 ...

随机推荐

  1. AOP操作-准备工作

    AOP操作(准备) 1,Spring 框架中一般基于 AspectJ 实现AOP操作 (1)什么是 AspectJ *AspectJ 不是 Spring 组成部分,独立AOP框架,一般把 Aspect ...

  2. new实例化和反射实例化有什么区别?

    在工厂设计模式中,使用反射实例化,子类可以随便增加,工厂类不需要做任何的修改 使用反射之后最大的好处就是解耦合

  3. linux中uniq命令全面解析

    目录 一 :uniq作用 二:uniq格式 1.参数 2.参数案例解析: linuxuniq简介 Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用. u ...

  4. python26day

    内容回顾 多态: ​ 一个类表现出的多种形态,实际上是通过继承来完成的 今日内容 super,调用父类的同名方法 按照mro顺序来寻找当前类的下一个类 封装 广义上的封装 方法属性名字前加了__,就变 ...

  5. mvvm与mvc的定义与区别

    mvvm: 即Model-View-ViewModel(模型-视图-视图模型)的简写. 模型(Model):后端传递的数据 视图(View):即前端渲染的页面 视图模型:是 mvvm 的核心,是连接 ...

  6. 【XR-4】文本编辑器

    直接做是困难的,不妨依照部分分来思考. - Subtask 3 首先会进入一个误区:维护修改,通过循环串的性质在 \(\tt KMP\) 自动机上优化遍历. 但可以发现这样很难处理,我们不妨 直接维护 ...

  7. unicode家族

    定义 如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言. Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储. UTF ...

  8. Spring @Cacheable 缓存不生效的问题

    最近在项目中使用了Ehcache缓存,使用方式是用Spring提供的 @Cacheable 注解的方式,这种方式简单.快速.方便,推荐使用. 在使用的过程中,遇到了缓存不生效的情况,经过分析处理,总结 ...

  9. MySQL 数据库SQL语句——高阶版本2

    MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...

  10. 2022寒假集训day2

    day1:学习seach和回溯,初步了解. day2:深度优化搜索 T1 洛谷P157:https://www.luogu.com.cn/problem/P1157 题目描述 排列与组合是常用的数学方 ...