- •Lecture 1 Programs and algorithms
- •1.1. How a computer operates?
- •1.2. Algorithms and programming languages
- •If (condition) then ... Or if (condition) then ... Else ...
- •1.3. Summary
- •1.4. Exercises
- •Lecture 2 Fundamentals of programming I
- •2.1. The language
- •2.2. Quick start: first program and basics of syntax
- •2.3. Data in a program (variables and literals)
- •2.4. Operations on data (operators and expressions)
- •2.5. Summary
- •2.6. Exercises
- •Lecture 3 Fundamentals of programming II
- •3.1. Making decisions
- •3.2. Iterations
- •3.3. Arrays
- •3.4. Functions
- •3.5. Summary
- •3.6. Exercises
- •Lecture 4 Java and object-oriented methodology
- •4.1. What is Java
- •4.1.1 Java as a universal programming language
- •4.1.2. Java as a cross-platform language
- •4.1.3. Java as a universal environment for gui programming
- •4.1.4. Java as a universal environment for accessing data bases
- •4.1.5. Java as a universal multimedia programming environment
- •4.1.6. Java as a universal means for client-server programming
- •4.1.7. Java in a distributed environment
- •4.1.8. Java as an environment for building applications from ready-to-use components.
- •4.1.9. Java as the environment for xml processing
- •4.1.10. Micro Java
- •4.1.11. Why is Java worth learning?
- •4.2. Introduction to objects
- •4.4. The first program
- •5.2. Literals
- •5.3. Types of variables. Declarations.
- •Type_name variable_name;
- •Identifiers
- •Naming conventions:
- •5.4. More on operators and expressions
- •5.5. Numeric promotions
- •5.6. Summary
- •5.7. Exercises
- •Lecture 6 Objects
- •6.1. Objects and references
- •6.2. The class String
- •6.3. Useful examples
- •6.4. Summary
- •7.2. Defining attributes of objects
- •7.3. Defining operations on objects (methods)
- •7.4 Defining methods of object creation (constructors)
- •7.5. Example
- •7.6. Inheritance
- •7.7. Summary
- •7.8. Exercises
- •Lecture 8 Classes II
- •8.1. Accessing class members. The variable this.
- •8.2. Static members
- •AClassName.AFieldName
- •8.3. Explicit initialization
- •8.4. Packages and imports
- •8.5. Scope of an identifier. Local variables. Access control.
- •8.6. Structure of a program. Running an application.
- •8.7. Summary
- •8.8. Exercises
- •Lecture 9 Decisions
- •9.1. A brief survey of control statements.
- •9.2. Comparison operators and expressions
- •9.3. Logical operators and expressions
- •9.4. Making decisions: the if and if-else statements.
- •9.5. Multivariant selections done with the switch statement.
- •9.6. The conditional operator ?:
- •9.7. Summary
- •9.8. Exercises
8.6. Structure of a program. Running an application.
A Java program is a set of class definitions.
Outside the class body no source code can appear except package declaration, import declarations and comments.
The structure of a Java program is depicted on the following framework:
package ... // package statement (optional)
import ... // import statement (not always necessary)
import ...
// this is class A
public class A {
...
}
// this is class B
class B {
...
}
...
A package declaration specifies to which package belong the classes defined in the source file after compilation. A program may consist of one or more source files. (in particular: all the classes of a program may be included in a single file, or each class may be defined in a separate source file). Execution of an application starts from the method: public static void main(String[] args) which must be defined in some class. Consider file Work.java with definitions of two classes: Work and Other: public class Work { public static void main(String[] args) { ... } ... } class Other { ... } // End of file Work.java After compilation (javac Work.java) there are two files: Work.class Other.class Java virtual machine is started with the command java which takes the following arguments:
name_of_the_class_file_with_the_method_main (without extension .class)
arguments_to_application
java Work [optional arguments passed to the main() as String[] args] Java virtual machine starts up by loading a specified class and then invoking the method main in this specified class.
8.7. Summary
The lecture concentrates on object-oriented matters. The following issues have been described in detail:
accessing class members
the variable this
static class members
meaning of packages and imports
the structure of a Java program
Now we are able to create interesting and quite advanced classes. We know too, how to properly locate the classes in the structure of the program.
8.8. Exercises
Add methods to the class Pair allowing subtraction, multiplication and integer division of pairs of integers. Add methods calculating the average and sum of components of a pair.
Define class Triplet (representing triplets of real numbers) with functionality similar to that of the class Pair from the exercise 1.
Modify the method show in both classes so as to make it display using dialog boxes the following information: values in the first line, sum of values in the second line and the average in the third line.
In the class Disk provide summing of gross prices of all objects (disks) being created in the program.
Lecture 9 Decisions
This lecture begins with a detailed presentation of control statements. It is impossible to write programs without mastering this type of instructions. We start with a summary of control statements and a presentation of possible ways to define conditions for these statements using relational and logical operators. Next we focus on making decisions. Iteration loops are discussed in the next lecture.
