1.) More concepts, not elements. Given the range of programming paradigms and syntax, the most important thing is to understand the concepts of functions, methods, classes, typed variables, loops, conditionals, et cetera. That way, you can apply your understanding to a number of languages and quickly adapt to the different structures.
2.) Varies widely. Android and Blackberry are mostly Java, but also have C and C++ mixed in. Windows Phone is Silverlight (Flash competitor) and XNA (known for Xbox 360 development). iOS (iPhone OS) is primarily Objective-C (common for Mac OS X development), but also uses some C and C++. WebOS primarily uses HTML and JavaScript (web technologies), but also some C, C++, and Java.
3.) Apple prohibits Java from running on their operating system, and Microsoft have adopted that philosophy with Windows Phone (contrary to Windows Mobile). Reason: They prohibit users from obtaining programs from outside their own app stores (so they can block 'undesirable' applications and collect part of the profits), and Java would let users avoid that restriction. Outside of those two, though, Java will run nearly anywhere - Android, Blackberry, Symbian, Windows Mobile, WebOS, Windows, Mac OS X, Linux, Unix, et cetera. Perhaps that wasn't your question, but that is the answer. 
Hope this helps,
John
Was this reply helpful? (0) (0)
Staff pick