1. Java: It’s OOP on Steroids*! Presented by: Milan a.k.amondodello ( Aah! Back into known territory! ) *STATUTORY WARNING: This presentation is not an attempt to popularize steroids. Steroids and more specifically drugs are injurious to health. One must never buy drugs. One should rather become a rockstar. Then you get them for free :P :D !
2. Topics (intended) to be covered OOP: A rrrrapid review C / C++ and now … err … Java? Java: The new kid on the block! Regular Feature: Some Gyaaan! What NEXT?
4. Hmm … so we meet again … OOP is a relatively ‘new’ programming paradigm Competes with Structured Programming Avoids REDUNDANCY, provides FLEXIBILITY Involves lot of jargons Modularity Abstraction / Data Encapsulation / Info Hiding Inheritance Polymorphism
5. C, C++ and now Java? Stop throwing jargons at me please!
6. Why C? Why C++? Procedural Programming: C C + Classes + … = C++ Main problem: Lack of portability That’s primarily what Java builds upon …
8. Once upon a time… Started by Sun Inc. under codename OAK The Retransformation HotJava Built on the WORA paradigm
9. WORA: No it’s not a battle-cry! Stands for Write Once Read Anywhere Brainchild of James Gosling Stresses primarily on portability and strict adherence to specifications Enters JVM!
10. JVM: The Java Virtual Machine It’s Java’s own Interpreter Custom built for different platforms Just worry about your class file, Java takes care of the rest!
13. The integral parts Header Files (Use import) Class Definition(s) main() within the class
14. A Java class format Class <class name> { //datamembers <access modifiers> <data type> <variable name> //function definitions <access modifiers> <return type> <function name> (comma-separated parameter list) { body – of – the - function } }
16. This comprises Java – Variables/Constants/Arrays Arithmetic Expressions/Operators Control Flow Techniques Pointers/References (???) Methods Classes/Objects … … <This is only a glimpse … > !!!
17. Varrrrriables An element that varies Vary = change Contrast with CONSTANTS (Rock steady - do NOT change during program run) 8 types: byte, short, int, long, float, double, boolean, char
18. Arithmetic Expressions Rules involving variables, constants, operators etc. Always evaluate to a VALUE Can be used in a helluva innovative ways Master them and half the battle is one
19. Control Flow Sequence Embedded in the structure Selection If ... Else Switch Iteration For Do... While While
20. Functions a.k.a Methods A small program in itself Self contained Input-process-output Function prototype Function definition Arguments/Parameters
21. Pointers ( ::fear::, still ?) Objects as references Call by Reference/Value Primitive datatypes – passed by value Objects – passed by reference Wrapper classes
22. Idiosyncrasies of Java(1 of 3) Case-sensitive Class Definitions do NOT end with a “;” No global variable concept No standalone main() No non-boolean value in conditional statements
23. Idiosyncrasies of Java(2 of 3) No structs, enumerations, unions No scope unary scope resolution operator “.” operator super keyword Data-types sizes are FIXED, independent of machine architecture
24. Idiosyncrasies of Java(3 of 3) Multiple inheritance NOT supported Exception handling typicality Treatment of ob1 = ob2 statements No destructors extends keyword
26. Do this to become a Java codewhiz! Be Disciplined Be Regular Try and compete in online coding competitions Practice (Remember it makes a man perfect ... and works for women as well!) Reference: http://java.sun.com/docs/books/tutorial/getStarted/index.html