Minecraft wiki entry for Hunger, associated text: foodLevel: The player's current hunger level, shown on the hunger bar. Its initial value on world creation or respawn is 20 (full bar).
foodSaturationLevel: The player's current saturation level, which determines how fast the hunger level depletes and is controlled by the kinds of food the player has eaten. Its maximum value always equals foodLevel's value and decreases with the hunger level. Its initial value on world creation or respawn is 5.
foodTickTimer: This variable is used when the hunger value either exceeds 17 (), or is at zero. It increases on every tick, and whenever it reaches 80 (4 seconds), it resets to zero and 1 is added or deducted, depending on whether the player is saturated or starving. If the player has a full 20 ( × 10), 1⁄6 of 1 times the player's saturation level is restored, up to a maximum of 1, when foodTickTimer reaches 10 (1⁄2 second), and foodTickTimer is reset to zero.
foodExhaustionLevel: The player's current exhaustion level, which determines how fast the saturation level depletes. Its value is increased by the player's actions (see Exhaustion level increase for specific values). The initial value is zero. When it reaches the maximum value of 4, it resets to zero and one point is subtracted from foodSaturationLevel.