Merhaba,
java'nın çok derinliğine girmeye gerek yok, java çok geniş bir dildir ve bir çok framework u vardır. Android uygulama yapmak için orta seviye java bilgisi yeterlidir.
Eğer android için java kullanacaksan, android in kendi kütüphanesi mevcut, bazı işleri androidin bu kütüphanesiyle yapacaksın o yüzden java yı tümden bilmene gerek yok.
sorduğun diğer soruya gelince harfleri tersten yazdırmak, harf saydırmak v.s. bunlar temel programlama dili ile yapılan şeylerdir. Yani bunları zaten bilmek zorundasın. Bahsettiğin şeylerin zorluğu yok, temel döngülerle, string fonksiyonlarıyla yapılabilir.
Benim kastettiğim java nın ileri seviyesindeki kütüphanelere gerek yok (spring gibi) ama söylediğin şeyleri öğrenmek zorundasın

Çünkü o döngülere, algoritmalara ihtiyacın olacak.
peki ne kadar java öğrenmek gerek? google da java for android developing diye aratırsan konuları görebilirsin..