We review the class of cellular automata known as lattice gases, and their applications to problems in physics and materials science. The presentation is selfcontained, and assumes very little prior knowledge of the subject. Hydrodynamic lattice gases are emphasized, and non-lattice-gas cellular automata -even those with physical applications -are not treated at all. We begin with a review of lattice gases as the term is understood in equilibrium statistical physics. We then discuss the various methods that have been proposed to simulate hydrodynamics with a lattice gas, leading up to the 1986 discovery of a lattice gas for the isotropic NavierStokes equations. Finally, we discuss variants of lattice-gas models that have been used for the simulation of complex fluids.