Logo

BITM JAVA Programming – I

bitmsemester 3

Unit 1:Java's Lineage

The Creation of Java. How Java Changed the Internet. The Bytecode. Servlets: Java on the Server Side (Simple, Object-oriented, Robust, Multithreaded, Architecture Neutra, Interpreted and High Performance, Distributed, Dynamic).

Unit 2:An overview of Java

Object-Oriented Programming (Two Paradigms, Abstraction, The Three OOP Principles). Lexical Issues (Whitespace, Identifiers, Literals, Comments, Separators, The Java Keywords).

Unit 3:Data types, Variables and Arrays

Java is a strongly Typed Language. The Primitive Types. Integers (Bye, short, int, long). Floating point Types (Float, double). Characters. Booleans. A closer Look at Literals (Integer Literals, Floating-Point literals, Boolean Literals, Character Literals, String Literals). Variables: Declaring a Variable, Dynamic Initialization, The Scope and Lifetime of Variables. Type conversions and Casting, Casting Incompatible types. Automatic Type promotion Rules. Arrays: One Dimensional Arrays, Multidimensional arrays, Alternative Array Declaration syntax. Scanner Object.

Unit 4:Operators

Arithmetic Operators: +,-,/,*,%,++,--. The Bitwise operators: The bitwise logical operators, The left shift, right shift, Unsigned Right shift, bitwise operator compound assignments. Relational operators. Boolean logical operators (Short-circuit logical operators, The ? operator, Operator precedence, Using parenthesis).

Unit 5:Control Statements

Java' Selection statements: If…., switch…., Iteration statements: while, do-while, for, the for-each version of the for loop, nested loops. Jump statements: using break, using continue.

Unit 6:Introducing Classes

Class fundamentals: The general form of a class, a simple class. Declaring objects. Assigning Object Reference variables. Introducing methods: Adding a method to the box class, returning a value, adding a method that takes parameters. Constructors: Parameterized Constructors. The this keyword: instance variable hiding. Garbage collection. The finalized() method. A Stack class.

Unit 7:A Closer Look at Methods and classes

Overloading methods; overloading constructors. Using objects as parameters. A closer look at arguments passing, returning objects, recursion, introducing access control, understanding static, introducing final, arrays revisited, introducing nested and inner classes, exploring the string class, using command-line arguments. Varargs: variable-length arguments; overloading vararg methods, varargs and ambiguity.

Unit 8:Inheritance

Inheritance Basics: Member access and inheritance. Using super: using super to call superclass constructors, a second use for super. Creating a multilevel hierarchy. When constructors are called. Method overriding. Dynamic method dispatch: why overridden method?. Using abstract classes, using final with inheritance. The object class.

Unit 9:Packages and Interface

Packages: defining a package, finding packages and CLASSPATH. Access Protection. Interfaces: defining an interface, implementing interfaces, nested interfaces, applying interfaces, variables in interfaces, interfaces can be extended.

Unit 10:Exception handling

Exception-handling fundamentals, exception types, uncaught exceptions, using try..catch. Multiple catch clauses. Nested try statements. Throw, throws, finally, Java's built – in exception. Creating your own exception subclasses.

Unit 11:Multithreaded programming

The Java Thread Model. Thread priorities, synchronization, messaging, the thread class and the runnable interface. The main thread. Creating a thread: implementing runnable, extending thread. Creating multiple threads: using isAlive() and join(). Thread priorities. Synchronization: using synchronized methods, the synchronized statement.

Unit 12:Enumerations, autoboxing, and annotations

Enumerations: Fundamentals, the values() and valueOf() methods, Java Enumerations Are class types, enumerations inherit Enum; Type Wrappers: character, Boolean, the numeric type wrappers. Autoboxing: Autoboxing and methods, autoboxing/unboxing occurs in expressions, autoboxing/unboxing Boolean and character values, autoboxing/unboxing helps prevent errors. Annotations: Annotation basics, specifying a retention policy, obtaining annotations at run time by use of reflection.

Unit 13:String handling

The String constructors, string length. Special string operators: string literals, concatenation, conversion and toString(). Character Extraction: charAt(), getChars(), getBytes(), toCharArray(). String comparison: equals() and equalsIgnoreCase(), regionMatches(), startsWith() and endsWith(), equals() versus ==, compareTo. Modifying a String: Substring(), concat(), replace(), trim().

Unit 14:Input/output

File: directories, using filenameFilter, the listFiles(), creating directories. The Autocloseable, Closeable, and Flushable Interfaces. I/O Exceptions. The stream classes. The byte Streams: InputStream, OutputStream, FileInputStream, FileOutputStream, PrintStream, DataOutputStream and DataInputStream, RandomAccessFile. The Character Streams: Reader, Writer, FileReader, FileWriter, PrintWriter. The Console Class. Serialization: Serializable, Externalizable, ObjectOutput, ObjectOutputStream ObjectInput, ObjectInputStream.