As São Paulo enters its second day of a metro strike, I feel compelled to give further recommendations for transportation for visitors. We have three lines right now with only partial (as in very limited service), two operating normally and two, I have no idea. I am pretty sure that the metro will not be striking during the World Cup as I imagine the court system will order them back to work on Sunday.
In any case, let's look at transportation options:
Bus
I have to tell you I love the bus system in Rio de Janeiro. I found it extremely easy to get around, and I think we took taxis only twice. You can get change for the trip on board: in São Paulo, you get on in the front of the bus, and the ticket taker/change maker is about a third of the way back on the bus. You get off at the back of the bus. In Rio, the bus driver can also be the fare taker. You also get on in the front, and off in the back.
If you are elderly (here that's over 60--no judgement!), or a small child, you may have special treatment or are free of charge. My seven year olds pay in São Paulo but are free in Rio de Janeiro. Ask. If you are a student, make sure you carry ID. Discounts may be based more on if you are a student than if you are under 18.
The main reason I find bus service easy is the use of Moovit, an application for your smartphone that tells you the best bus to take, how far you are from the stop, and when the bus will arrive. You can also follow your journey while on the bus and know exactly when to get off and how far you have to walk on the far side to get to your destination. It also gives you metro options. And if there is a transportation strike. Love it. If you don't have Moovit, be prepared to ask various people at each stop where the bus is going and which bus might be best. At least in São Paulo. Rio de Janeiro had some better signage but I wouldn't rely on it.
According to its site, Moovit is available in the following cities in Brazil at this time: Bauru (SP), Belo Horizonte, Campinas (SP), Cuiabá, Curitiba, Fortaleza, Goiânia, Itajaí (SC), João Pessoa, Manaus, Natal, Porto Alegre, Recife, Rio de Janeiro, Brasília and São Paulo.

