![Mindorks](https://img.shields.io/badge/mindorks-opensource-blue.svg)
![Mindorks Community](https://img.shields.io/badge/join-community-blue.svg)
打印日志
1 2
| System.out.print("Amit Shekhar"); System.out.println("Amit Shekhar");
|
1 2
| print("Amit Shekhar") println("Amit Shekhar")
|
常量与变量
1 2
| String name = "Amit Shekhar"; final String name = "Amit Shekhar";
|
1 2
| var name = "Amit Shekhar" val name = "Amit Shekhar"
|
null声明
1 2
| String otherName; otherName = null;
|
1 2
| var otherName : String? otherName = null
|
空判断
1 2 3
| if (text != null) { int length = text.length(); }
|
1 2 3
| text?.let { val length = text.length }
|
字符串拼接
1 2 3
| String firstName = "Amit"; String lastName = "Shekhar"; String message = "My name is: " + firstName + " " + lastName;
|
1 2 3
| val firstName = "Amit" val lastName = "Shekhar" val message = "My name is: $firstName $lastName"
|
换行
1 2 3
| String text = "First Line\n" + "Second Line\n" + "Third Line";
|
1 2 3 4 5
| val text = """ |First Line |Second Line |Third Line """.trimMargin()
|
三元表达式
1
| String text = x > 5 ? "x > 5" : "x <= 5";
|
1 2 3
| val text = if (x > 5) "x > 5" else "x <= 5"
|
类型判断和转换 (声明式)
1 2 3
| if (object instanceof Car) { } Car car = (Car) object;
|
1 2 3
| if (object is Car) { } var car = object as Car
|
类型判断和转换 (隐式)
1 2 3
| if (object instanceof Car) { Car car = (Car) object; }
|
1 2 3
| if (object is Car) { var car = object }
|
多重条件
1
| if (score >= 0 && score <= 300) { }
|
1
| if (score in 0..300) { }
|
更灵活的case语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| int score = String grade; switch (score) { case 10: case 9: grade = "Excellent"; break; case 8: case 7: case 6: grade = "Good"; break; case 5: case 4: grade = "Ok"; break; case 3: case 2: case 1: grade = "Fail"; break; default: grade = "Fail"; }
|
1 2 3 4 5 6 7 8
| var score = var grade = when (score) { 9, 10 -> "Excellent" in 6..8 -> "Good" 4, 5 -> "Ok" in 1..3 -> "Fail" else -> "Fail" }
|
for循环
1 2 3 4 5 6 7 8 9 10 11 12 13
| for (int i = 1; i <= 10 ; i++) { } for (int i = 1; i < 10 ; i++) { } for (int i = 10; i >= 0 ; i--) { } for (int i = 1; i <= 10 ; i+=2) { } for (int i = 10; i >= 0 ; i-=2) { } for (String item : collection) { } for (Map.Entry<String, String> entry: map.entrySet()) { }
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| for (i in 1..10) { } for (i in 1 until 10) { } for (i in 10 downTo 0) { } for (i in 1..10 step 2) { } for (i in 10 downTo 1 step 2) { } for (item in collection) { } for ((key, value) in map) { }
|
更方便的集合操作
1 2 3 4 5 6 7 8 9 10 11 12 13
| final List<Integer> listOfNumber = Arrays.asList(1, 2, 3, 4); final Map<Integer, String> keyValue = new HashMap<Integer, String>(); map.put(1, "Amit"); map.put(2, "Ali"); map.put(3, "Mindorks"); final List<Integer> listOfNumber = List.of(1, 2, 3, 4); final Map<Integer, String> keyValue = Map.of(1, "Amit", 2, "Ali", 3, "Mindorks");
|
1 2 3 4
| val listOfNumber = listOf(1, 2, 3, 4) val keyValue = mapOf(1 to "Amit", 2 to "Ali", 3 to "Mindorks")
|
遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| for (Car car : cars) { System.out.println(car.speed); } cars.forEach(car -> System.out.println(car.speed)); for (Car car : cars) { if (car.speed > 100) { System.out.println(car.speed); } } cars.stream().filter(car -> car.speed > 100).forEach(car -> System.out.println(car.speed));
|
1 2 3 4 5 6
| cars.forEach { println(it.speed) } cars.filter { it.speed > 100 } .forEach { println(it.speed)}
|
方法定义
1 2 3 4 5 6 7
| void doSomething() { } void doSomething(int... numbers) { }
|
1 2 3 4 5 6 7
| fun doSomething() { } fun doSomething(vararg numbers: Int) { }
|
带返回值的方法
1 2 3 4
| int getScore() { return score; }
|
1 2 3 4 5 6 7 8
| fun getScore(): Int { return score } fun getScore(): Int = score
|
无结束符号
1 2 3 4
| int getScore(int value) { return 2 * value; }
|
1 2 3 4 5 6 7 8
| fun getScore(value: Int): Int { return 2 * value } fun getScore(value: Int): Int = 2 * value
|
constructor 构造器
1 2 3 4 5 6 7 8 9 10 11
| public class Utils { private Utils() { } public static int getScore(int value) { return 2 * value; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Utils private constructor() { companion object { fun getScore(value: Int): Int { return 2 * value } } } object Utils { fun getScore(value: Int): Int { return 2 * value } }
|
Get Set 构造器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| public class Developer { private String name; private int age; public Developer(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Developer developer = (Developer) o; if (age != developer.age) return false; return name != null ? name.equals(developer.name) : developer.name == null; } @Override public int hashCode() { int result = name != null ? name.hashCode() : 0; result = 31 * result + age; return result; } @Override public String toString() { return "Developer{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
|
1
| data class Developer(val name: String, val age: Int)
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| public class Utils { private Utils() { } public static int triple(int value) { return 3 * value; } } int result = Utils.triple(3);
|
1 2 3 4 5
| fun Int.triple(): Int { return this * 3 } var result = 3.triple()
|
你需要知道一些比较重要的事
如果你觉得这个项目对你有帮助 :heart:
Check out Mindorks awesome open source projects here
License
1 2 3 4 5 6 7 8 9 10 11 12 13
| Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|