"The last game with Sweden in the Euro will be my last game with Sweden. So I hope it won't be tomorrow," Ibrahimovic, 34, told a press conference ahead of Wednesday's final Group E game against Belgium in Nice.
He ruled out any chance of playing at the Rio Olympics in August. Sweden's coach Erik Hamren said "this will be a big loss. He is unique."
Sweden's record goalscorer with 62 goals, Ibrahimovic is looking to become the first player to score in four European Championship finals. Sweden must beat Belgium to stand a chance of advancing to the last 16.
"I will not participate in the Olympics because my last game will be the last game Sweden does in this Euro. So let's hope it goes as long as possible," he said.
Ibrahimovic, a record 10-time winner of the national Guldbollen award for player of the year, said he would go out with his head held high regardless of Wednesday's result.
"To finish in a disappointment, never. Because I'm very proud to be the captain of Sweden and of what I've achieved.
"I want to take this moment and thank all the supporters because they made it possible for me to achieve what I have achieved. Without them it would not have been possible.
"So wherever I go, wherever I come, I'll allways bring the Swedish flag with me and stand with it. So for me disappointment doesn't exist, only proudness, and grateful. I'm very thankful. So thank you."
Ibrahimovic is out of contract with Paris Saint-Germain after four seasons in Ligue 1, but is yet to commit to a new club, although Manchester United are rumoured to be favourites to seal his signing.