It is assumed that you will want to eventually remove the old URLs in time. This is often a forgotten aspect of a question such as yours. So let's stick with that assumption for a moment.
Using a 301 redirect will do the following:
- Tell the search engines that the page has moved. (Duh!)
- Will preserve the link value for any link that may exist for as long
as the 301 redirect exists.
What really needs to happen is that once the 301 redirects are in place, a period of time must exist where the redirects remain in order to ensure that the search engines have indexed your new pages. For my site, I chose 6 months. During this period of time, you should create a back link profile for the pages you redirect and try and change any link you can and create new links for the links you would lose when the redirects are no longer needed. The goal is to recreate to the best of your ability the link profile that would be lost when removing the redirects and add to it. This is crucial. Then, and only then, would you want to remove the old URL/URIs and remove the redirects.
There is also another aspect you are forgetting and that is the SEO value of the URL/URI. I write about it here: Well structured URLs vs. URLs optimized for SEO In this answer, you will find important aspects of the URL/URI and how best to manage their potential.