java:请看一下我的表达式错在哪里

问题遇到的现象和发生背景

杨辉三角:在if语句中判断元素是否为第一个或者最后一个

用代码块功能插入代码,请勿粘贴截图

public class YangHui {

public static void main(String[] args) {

    int[][] yangHui = new int[10][];

    for (int i = 0; i < yangHui.length ; i++) {
        //给每一个数组开空间
         yangHui[i] = new int[i + 1];

         for (int j = 0; j < yangHui[i].length ; j++) {
            //出现问题的语句
             if (yangHui[i][j] == yangHui[i][0] || yangHui[i][j] == yangHui[i][yangHui[i].length - 1]) {
                 yangHui[i][j] = 1;
             }else {
                 yangHui[i][j] = yangHui[i - 1][j] + yangHui[i - 1][j - 1];
             }
         }
     } 

    for (int i = 0; i < yangHui.length ; i++) {
        for (int j = 0; j < yangHui[i].length ; j++) {
            System.out.print(yangHui[i][j] + "\t");
        }

        System.out.println();
    }
}

}

运行结果及报错内容

1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111

我的解答思路和尝试过的方法

if (yangHui[i][j] == yangHui[i][0] || yangHui[i][j] == yangHui[i][yangHui[i].length - 1]) 所表达的意思是什么?

判断元素是第一个,你要去判断j==0,而不是yangHui[i][j] == yangHui[i][0]
你这是在判断第j个元素和第0个元素是否相等,不是在判断元素是第几个
j才是第几个
yangHui[i][j] 是第j个的值

这是一个条件比较,里面包含两个判断。只要任一判断成立,此条件即满足。
圈的部分就是条件1和条件2。

img