java - 什么是 int ai = a[i], j;做?

标签 java

我正在根据我从导师那里得到的代码解决插入排序问题,但我不知道这意味着什么 (int ai = a[i], j;)

public static void sort(int[] a) {
 // POSTCONDITION: a[0] <= a[1] <= ... <= a[a.length-1];
 for (int i = 1; i < a.length; i++) { // step 1
   int ai = a[i], j; // step 2
   for (j = i; j > 0 && a[j-1] > ai; j--) { // step 3
     a[j] = a[j-1]; // step 4
   }
   a[j] = ai; // step 5
   // INVARIANT: a[0] <= a[1] <= ... <= a[i];
 }

最佳答案

int ai = a[i], j;

这声明了一个变量ai,初始化为值a[i];和一个未初始化的变量 j

有些人认为在同一语句中声明两个或多个变量会造成混淆,应该避免(例如 banned by Google's style guide)。

关于java - 什么是 int ai = a[i], j;做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58582925/

相关文章:

java - 是否有重构 "block lambda to separate method"功能?

Java ajax 将值从 jsp 传递到 servlet

java - maven 无法执行目标 org.jvnet.jax-ws-commons :jaxws-maven-plugin:2. 3:wsimport

java - 可在服务器端访问用户数据的 Facebook 登录插件

java - 当消息数大于并发消费者数时,如何消费 Spring IntegrationFlow 中所需的所有消息?

java - 按字母顺序对 ArrayList<String[]> 进行排序

java - JUnit:比较结果报告的工具

java - Unmodifiable 可修改对象列表

java - "Column Count doesn' t 第 1 行的匹配值计数"E

java - 在 JUnit 测试中模拟按键