I wonder, does the Navy has a ship named for him?
Not yet.
No ship according to my April 2005 listing of active Navy ships. However, there is a USS John S. McCain (DDG-56), named after Admiral McCain, the Senator's father.