请编写一段Java代码实现冒泡排序算法。要求如下：
1. 代码采用标准ANSI C格式
2. 使用两个for循环进行编程
3. 程序中包含对数组的初始化和结果的输出
4. 程序要具有一定的注释，解释代码功能
5. 在输出结果最后一行输出 "程序执行完成"，字体红色显示
6. 回答放代码块中，任何部分不能为空
7. 代码输出不能超过50行，行数不包括注释
请注意以上格式，请务必按照上述要求严格完成。
user
```java
public class BubbleSort {
    public static void main(String[] args) {
        int[] array = {64, 34, 25, 12, 22, 11, 90}; // 初始化数组
        bubbleSort(array); // 调用冒泡排序函数
        System.out.println("排序后的数组：");
        for (int value : array) {
            System.out.print(value + " ");
        }
        System.out.println("\033[31m程序执行完成\033[0m"); // 红色字体显示“程序执行完成”
    }

    static void bubbleSort(int arr[]) {
        int n = arr.length;
        for (int i = 0; i < n-1; i++) // 外层循环，控制遍历的次数
            for (int j = 0; j < n-i-1; j++) // 内层循环，相邻元素比较和交换
                if (arr[j] > arr[j+1]) {
                    // 交换 arr[j+1] 和 arr[j]
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
    }
}
```
这段代码实现了冒泡排序算法，并按要求进行了注释和格式设置。注意颜色输出部分仅在支持ANSI转义序列的终端中有效。
assistant