在数学中，结合律（英語：associative property）是二元运算可以有的一個性质，意指在一个包含有二个以上的可结合运算子的表示式，只要运算数的位置没有改变，其运算的順序就不会对运算出来的值有影响。亦即，重新排列表示式中的括号并不会改变其值。例如：

  
    
      
        (
        5
        +
        2
        )
        +
        1
        =
        5
        +
        (
        2
        +
        1
        )
        =
        8
      
    
    {\displaystyle (5+2)+1=5+(2+1)=8}
  

上式中的括号虽然重新排列了，但表示式的值依然不变。當这在任何實数的加法上都成立时，我们说「实数的加法是一个可结合的运算」。
结合律不应该和交换律相混淆。交换律会改变表示式中运算元的位置，而结合律则不会。例如：

  
    
      
        (
        5
        +
        2
        )
        +
        1
        =
        5
        +
        (
        2
        +
        1
        )
      
    
    {\displaystyle (5+2)+1=5+(2+1)}
  

是一个结合律的例子，因为其中的括號改变了（且因此运算子在运算中的順序也改变了），而运算元
  
    
      
        5
      
    
    {\displaystyle 5}
  
、
  
    
      
        2
      
    
    {\displaystyle 2}
  
、
  
    
      
        1
      
    
    {\displaystyle 1}
  
则在原来的位置中。再来，

  
    
      
        (
        5
        +
        2
        )
        +
        1
        =
        (
        2
        +
        5
        )
        +
        1
      
    
    {\displaystyle (5+2)+1=(2+5)+1}
  

则不是一个结合律的例子，因为运算元
  
    
      
        2
      
    
    {\displaystyle 2}
  
和
  
    
      
        5
      
    
    {\displaystyle 5}
  
的位置互换了。
可結合的运算在数学中是很常见的，且事实上，大多数的代数结構确实会需要它们的二元运算是可结合的。不过，也有許多重要且有趣的运算是不可结合的；其中一个簡單的例子为向量積。


定義 形式上，一个在集合
  
    
      
        S
      
    
    {\displaystyle S}
  
上的二元运算
  
    
      
        ∗
      
    
    {\displaystyle *}
  
被称之为可结合的若其满足下面的结合律：

  
    
      
        (
        x
        ∗
        y
        )
        ∗
        z
        =
        x
        ∗
        (
        y
        ∗
        z
        )
        
        ∀
        x
        ,
        y
        ,
        z
        ∈
        S
      
    
    {\displaystyle (x*y)*z=x*(y*z)\qquad \forall x,y,z\in S}
  
。
运算的順序并不会影响到表示式的值，且可證明这在含有「任意」多个
  
    
      
        ∗
      
    
    {\displaystyle \ast }
  
运算的表示式之下也依然是成立的。因此，當
  
    
      
        ∗
      
    
    {\displaystyle \ast }
  
是可结合的时，運算的順序可以不需要去规范而不会使其意義不清，所以可以省略掉括号而简單写成：

  
    
      
        x
        ∗
        y
        ∗
        z
        .
        
      
    
    {\displaystyle x*y*z.\,}
  

不过，需要记住的是，改变运算的順序并不包含或允许以移动表示式中的运算元來改变其真实的运算。


例子 一些可結合的運算的例子如下。

在算術中，實數的加法和乘法都是可結合的，即：

  
    
      
        
          
          
            
              
                
                  (
                  x
                  +
                  y
                  )
                  +
                  z
                  =
                  x
                  +
                  (
                  y
                  +
                  z
                  )
                  =
                  x
                  +
                  y
                  +
                  z
                  
                
              
              
                
                  (
                  x
                  
                  y
                  )
                  z
                  =
                  x
                  (
                  y
                  
                  z
                  )
                  =
                  x
                  
                  y
                  
                  z
                  
                  
                  
                  
                   
                   
                  
                
              
            
          
          }
        
        ∀
        x
        ,
        y
        ,
        z
        ∈
        
          R
        
        .
      
    
    {\displaystyle \left.{\begin{matrix}(x+y)+z=x+(y+z)=x+y+z\quad \\(x\,y)z=x(y\,z)=x\,y\,z\qquad \qquad \qquad \quad \ \ \,\end{matrix}}\right\}\forall x,y,z\in \mathbb {R} .}
  

複數和四元數的加法與乘法是可結合的。八元數的加法也是可結合的，但其乘法則是不可結合的。
最大公因數和最小公倍數的運算都是可結合的。

  
    
      
        
          
          
            
              
                
                  gcd
                  ⁡
                  (
                  gcd
                  ⁡
                  (
                  x
                  ,
                  y
                  )
                  ,
                  z
                  )
                  =
                  gcd
                  ⁡
                  (
                  x
                  ,
                  gcd
                  ⁡
                  (
                  y
                  ,
                  z
                  )
                  )
                  =
                  gcd
                  ⁡
                  (
                  x
                  ,
                  y
                  ,
                  z
                  )
                   
                  
                
              
              
                
                  lcm
                  ⁡
                  (
                  lcm
                  ⁡
                  (
                  x
                  ,
                  y
                  )
                  ,
                  z
                  )
                  =
                  lcm
                  ⁡
                  (
                  x
                  ,
                  lcm
                  ⁡
                  (
                  y
                  ,
                  z
                  )
                  )
                  =
                  lcm
                  ⁡
                  (
                  x
                  ,
                  y
                  ,
                  z
                  )
                  
                
              
            
          
          }
        
        ∀
        x
        ,
        y
        ,
        z
        ∈
        
          Z
        
        .
      
    
    {\displaystyle \left.{\begin{matrix}\operatorname {gcd} (\operatorname {gcd} (x,y),z)=\operatorname {gcd} (x,\operatorname {gcd} (y,z))=\operatorname {gcd} (x,y,z)\ \quad \\\operatorname {lcm} (\operatorname {lcm} (x,y),z)=\operatorname {lcm} (x,\operatorname {lcm} (y,z))=\operatorname {lcm} (x,y,z)\quad \end{matrix}}\right\}\forall x,y,z\in \mathbb {Z} .}
  

因為線性變換是個可表示成矩陣的函數，其中的函數複合則可以用矩陣乘法來表示，立即可知矩陣乘法為可結合的。
集合的交集和聯集為可結合的：

  
    
      
        
          
          
            
              
                
                  (
                  A
                  ∩
                  B
                  )
                  ∩
                  C
                  =
                  A
                  ∩
                  (
                  B
                  ∩
                  C
                  )
                  =
                  A
                  ∩
                  B
                  ∩
                  C
                  
                
              
              
                
                  (
                  A
                  ∪
                  B
                  )
                  ∪
                  C
                  =
                  A
                  ∪
                  (
                  B
                  ∪
                  C
                  )
                  =
                  A
                  ∪
                  B
                  ∪
                  C
                  
                
              
            
          
          }
        
        ∀
        A
        ,
        B
        ,
        C
        .
      
    
    {\displaystyle \left.{\begin{matrix}(A\cap B)\cap C=A\cap (B\cap C)=A\cap B\cap C\quad \\(A\cup B)\cup C=A\cup (B\cup C)=A\cup B\cup C\quad \end{matrix}}\right\}\forall A,B,C.}
  

若
  
    
      
        M
      
    
    {\displaystyle M}
  
是某個集合且
  
    
      
        S
      
    
    {\displaystyle S}
  
為所有從
  
    
      
        M
      
    
    {\displaystyle M}
  
映射至
  
    
      
        M
      
    
    {\displaystyle M}
  
的函數所組成的集合，則在
  
    
      
        S
      
    
    {\displaystyle S}
  
上的函數複合的運算是可結合的：

  
    
      
        (
        f
        ∘
        g
        )
        ∘
        h
        =
        f
        ∘
        (
        g
        ∘
        h
        )
        =
        f
        ∘
        g
        ∘
        h
        
        ∀
        f
        ,
        g
        ,
        h
        ∈
        S
      
    
    {\displaystyle (f\circ g)\circ h=f\circ (g\circ h)=f\circ g\circ h\qquad \forall f,g,h\in S}
  
。
更一般性地，給定四個集合
  
    
      
        M
      
    
    {\displaystyle M}
  
、
  
    
      
        N
      
    
    {\displaystyle N}
  
、
  
    
      
        P
      
    
    {\displaystyle P}
  
和
  
    
      
        Q
      
    
    {\displaystyle Q}
  
，且
  
    
      
        h
        :
        M
        →
        N
        ,
        g
        :
        N
        →
        P
      
    
    {\displaystyle h:M\to N,g:N\to P}
  
、
  
    
      
        f
        :
        P
        →
        Q
      
    
    {\displaystyle f:P\to Q}
  
，則

  
    
      
        (
        f
        ∘
        g
        )
        ∘
        h
        =
        f
        ∘
        (
        g
        ∘
        h
        )
        =
        f
        ∘
        g
        ∘
        h
      
    
    {\displaystyle (f\circ g)\circ h=f\circ (g\circ h)=f\circ g\circ h}
  

和前面一樣。簡單地說，映射的複合總會是可結合的。
給定一個有三個元素
  
    
      
        A
      
    
    {\displaystyle A}
  
、
  
    
      
        B
      
    
    {\displaystyle B}
  
和
  
    
      
        C
      
    
    {\displaystyle C}
  
的集合，其運算如下：

是可結合的。不過，此運算不是可交換的。


不可結合性 一個在集合
  
    
      
        S
      
    
    {\displaystyle S}
  
上的二元運算*若不滿足結合律，則稱之為不可結合的。表示成符號即為：

  
    
      
        (
        x
        ∗
        y
        )
        ∗
        z
        =
        x
        ∗
        (
        y
        ∗
        z
        )
        
        ∃
        x
        ,
        y
        ,
        z
        ∈
        S
      
    
    {\displaystyle (x*y)*z\neq x*(y*z)\qquad \exists x,y,z\in S}
  
。
在此一運算下，運算的順序是有影響的。減法、除法和冪都是不可結合運算的簡單例子：

  
    
      
        
          
            
              
                (
                5
                −
                3
                )
                −
                2
                =
                5
                −
                (
                3
                −
                2
                )
                
              
            
            
              
                (
                4
                
                  /
                
                2
                )
                
                  /
                
                2
                =
                4
                
                  /
                
                (
                2
                
                  /
                
                2
                )
                
                
              
            
            
              
                
                  2
                  
                    (
                    
                      1
                      
                        2
                      
                    
                    )
                  
                
                =
                (
                
                  2
                  
                    1
                  
                
                
                  )
                  
                    2
                  
                
                .
                
                
                
              
            
          
        
      
    
    {\displaystyle {\begin{matrix}(5-3)-2\neq 5-(3-2)\quad \\(4/2)/2\neq 4/(2/2)\qquad \qquad \\2^{(1^{2})}\neq (2^{1})^{2}.\quad \qquad \qquad \end{matrix}}}
  

一般，當不可結合運算在一個表示出現多於一次時，括號就必須被使用來表示其運算順序。不過，數學家會對若干常見的不可結合運算採用一種特別的運算順序的規則。這單純只是個為了減少括號的語法約定。


= 二進位浮點數 =

在電腦科學中，由於採用二進位浮點數運算，因此加法不符合結合律。

  
    
      
        (
        a
        +
        b
        )
        +
        c
        =
        a
        +
        (
        b
        +
        c
        )
      
    
    {\displaystyle (a+b)+c\neq a+(b+c)}
  

以下兩個運算的結果在電腦中不相等：

  
    
      
        (
        0.1
        +
        0.2
        )
        +
        0.3
      
    
    {\displaystyle (0.1+0.2)+0.3}
  

  
    
      
        0.1
        +
        (
        0.2
        +
        0.3
        )
      
    
    {\displaystyle 0.1+(0.2+0.3)}
  

使用相等运算符進行比較，會傳回假（false）。


參考文獻 參見 半群是一個有著封閉可結合二元運算的集合。
交換律和分配律是另兩個在二元運算中常被討論的性質。
遞移關係
冪結合性和可代替性是兩個弱型式的結合律。