A 301, or permanently moved, is a redirect that carries and distributes in an absolute manner. You should use a 301 to signify to the crawlers that your content has moved permanently – as in forever.
A 302 status code means Found, or more commonly referred to as “temporarily moved.” This redirect doesn’t carry or pass the link value to the new location. What it does do is get the user to an appropriate location for you so that you aren’t showing them a broken link, a 404 page not found, or an error page.