if表达式
说明 | JAVA | Rust |
---|---|---|
if表达式,Rust语言的条件不需要()包裹, | if(...){ //TODO } | if ... { // TDODO } |
if ... else 表达式, | if(...) { //TODO } else if(...) { //TODO } | if ... { //TODO } else if ... { //TODO } |
if 表达式可以用来赋值 | let big_n = if n < 10 && n > -10 { 10 * n } else { // 自动截取 n / 2 }; println!(big_n, 6); | 无此能力 |
无限循环表达式
说明 | Java | Rust |
---|---|---|
无限循环预计,Rust相对Java新增Loop关键词。 | while(true) { //TODO}; for(;;){//TODO}; | while true {//TODO}; loop{//TODO} |
Loop 循环可赋值 | fn main() { let mut counter = 0; let result = loop { counter += 1; if counter == 10 { break counter * 2; } }; println!("The result is {result}"); } | 无 |
While 和 do ...while循环语句
跳转语句
for语句
说明 | Java | Rust |
---|---|---|
for 通用语句 | String[] arr = { “a”, “b”, “c”, “d” }; for (int i = 0; i < arr.length; i++) { | let a = [10, 20, 30, 40, 50]; for i in 0..5 { println!("a[{}] = {}", i, a[i]); } |
for each循环 | String[] arr = { “a”, “b”, “c”, “d” }; for (String a : arr) { | let mut vec_array = vec["1","2","3"]; for var in expression { //TODO } |
匹配语句
说明 | Java | Rust |
---|---|---|
匹配语句,JAVA是switch case组合;而Rust是math => 的形式。用通配符"_"来代表其他情况和default一致的能力。但Rust的匹配分支不能像Java 的多个case合用一个处理逻辑。 | switch(expression) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 } | let tokyo = 1; let paris = 0; let chicago = 3; let changecun = 7; for i in [tokyo,paris,chicago,changecun].iter(){ match i{ 0 => println!("欧洲城市"), 1 => println!("亚洲城市"), 2 => println!("非洲城市"), 3 => println!("美洲城市"), _ => println!("月球城市"), } } |