Speaking on CBS's "Face the Nation," the Arizona Republican had some praise for the Democrat who defeated him in the 2008 presidential election.
"The president, I think, has learned a lot in the last two years as any president does. He is a very intelligent man. I think he's doing a lot of right things," he said.
"I think the president has already changed a great deal. … He's going to be talking about cutting spending. That's what the message of the November election was. He'll be saying some things that we don't agree with, but obviously with the new appointments, with an agenda where he wants free trade agreements passed."
McCain said he would be sitting with Democrat Tom Udall of New Mexico at the State of the Union address Tuesday. Many Democrats and Republicans will be breaking up the partisan seating that has been customary.
McCain supports bringing healthcare repeal legislation to a Senate vote. "We have to have a vote on repeal so that everybody is on record," he said.
Ohio crash that killed two caught on camera [VIDEO]
Obama 'selfie' photographer speaks out: 'Photos can lie'