There's no reason to fly around Java (although tickets are cheap and the route network is extensive) unless you want an aerial view of the island's spectacular volcanoes. There are a number of domestic airlines, including Garuda (the national carrier) Merpati, Mandala and Bouraq. A tax of 10% and a trifling domestic departure tax are added to the fare. It's essential to reconfirm your ticket since overbooking of flights is common.
Buses are the main form of inter-city transportation. They range from slow, crowded, ordinary public buses to convenient, quick and comfortable luxury services. Small minibuses cover shorter routes, backroads and inner-city destinations. Like the buses, they range from pack-'em-in sweatboxes to a good network of door-to-door minibuses.
Java has a pretty good rail service running from one end of the island to the other. In the east (at Ketapang), it connects with the ferry to Bali; in the west (at Merak), it connects with the ferry to Sumatra. The two main lines run between Jakarta and Surabaya - one via Yogya and Solo; the other, shorter route via Semarang. Choose your train carefully for comfort and speed. They range from cheap, squalid cattle trains to reasonably comfortable expresses.
Cars can be hired in Jakarta, but rates are triple those in the West and you'll need the patience of a saint and the concentration powers of a grand chess master to drive on Java's busy main roads. There appear to be no road rules, but a form of logic does exist: drive on the left, and give way to anything bigger than you, more or less sums it up. It's best to hire a car or minibus with a driver, and private operators can arrange this for a fraction of self-drive rates. Motorbikes are readily available for hire across Java, but make sure that you're a competent rider because your skills will be tested. Bicycles can be rented in tourist centres; they're mainly for nipping around town, not for touring the island.