DM550 Introduction to Programming part 2. Jan Baumbach.

Size: px
Start display at page:

Download "DM550 Introduction to Programming part 2. Jan Baumbach."

Transcription

1 DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk

2 CALLING & DEFINING FUNCTIONS 2

3 Functions and Methods all functions in java are defined inside a class BUT static functions are not associated with one object a static function belongs to the class it is defined in functions of a class called by <class>.<function>(<args>) Example: Math.pow(2, 6) all other (i.e. non-static) functions belong to an object in other words, all non-static functions are methods! functions of an object called by <object>.<function>(<args>) Example: String s1 = "Hello!"; System.out.println(s1.toUpperCase()); 3

4 Calling Functions & Returning Values function calls are expressions exactly like in Python Example: int x = sc.nextint(); argument passing works exactly like in Python Example: System.out.println(Math.log(Math.E)) the return statement works exactly like in Python Example: return Math.sqrt(a*a+b*b); 4

5 Function Definitions functions are defined using the following grammar rule: <func.def> => static <type> <function>(, <type i > <arg i >, ) { <instr 1 >; ; <instr k >; Example (static function): public class Pythagoras { static double pythagoras(double a, double b) { return Math.sqrt(a*a+b*b); public static void main(string[] args) { System.out.println(pythagoras(3, 4)); 5

6 Method Definitions methods are defined using the following grammar rule: <meth.def> => <type> <function>(, <type i > <arg i >, ) { <instr 1 >; ; <instr k >; Example (method): public class Pythagoras { double a, b; Pythagoras(double a, double b) { this.a = a; this.b = b; double compute() { return Math.sqrt(this.a*this.a+this.b*this.b); public static void main(string[] args) { Pythagoras pyt = new Pythagoras(3, 4); System.out.println(pyt.compute()); constructor corresponds to init (self, a, b) 6

7 SIMPLE ITERATION 7

8 Iterating with While Loops iteration = repetition of code blocks while statement: <while-loop> => while (<cond>) { <instr 1 >; <instr 2 >; <instr 3 >; Example: static void countdown(int n) { while (n > 0) { false true n == System.out.println(n); n--; System.out.println("Ka-Boom!"); 8

9 Breaking a Loop sometimes you want to force termination Example: while (true) { System.out.println("enter a number (or 'exit'):\n"); String num = sc.nextline(); if (num.equals("exit")) { break; int n = Integer.parseInt(num); System.out.println("Square of "+n+" is: "+n*n); System.out.println("Thanks a lot!"); 9

10 Fibonacci numbers: 1. Start with 0 and 1 Fibonacci code 2. The next one is the sum of the two previous ones. f(x n ) = x n-1 + x n-2 Example: int max = 1000; int x=0; int y=1; while (true) { f=x+y; System.out.println(f); x=y; y=f; if ((x+y) >= max) { break; 10

11 Fibonacci numbers: 1. Start with 0 and 1 Fibonacci code 2. The next one is the sum of the two previous ones. f(x n ) = x n-1 + x n-2 Example: int max = 1000; int x=0; int y=1; do { f=x+y; System.out.println(f); x=y; y=f; while ((x+y) <max); 11

12 Iterating with For Loops (standard) for loops very different from Python grammar rule: <for-loop> => for (<init>; <cond>; <update>) { <instr 1 >; ; <instr k >; Execution: 1. initialize counter variable using <init> 2. check whether condition <cond> holds 3. if not, END the for loop 4. if it holds, first execute <instr 1 > <instr k > 5. then execute <update> 6. jump to Step 2 12

13 Iterating with For Loops (standard) for loops very different from Python grammar rule: <for-loop> => for (<init>; <cond>; <update>) { <instr 1 >; ; <instr k >; Example: int n = 10; while (n > 0) { System.out.println(n); n--; System.out.println("Ka-Boom!"); 13

14 Iterating with For Loops (standard) for loops very different from Python grammar rule: <for-loop> => for (<init>; <cond>; <update>) { <instr 1 >; ; <instr k >; Example: int n = 10; while (n > 0) { for (int n = 10; n > 0; n--) { System.out.println(n); n--; System.out.println("Boo!"); 14

15 Iterating with For Loops (standard) for loops very different from Python grammar rule: <for-loop> => for (<init>; <cond>; <update>) { <instr 1 >; ; <instr k >; Example: int n = 10; while (n > 0) { for (int n = 10; n > 0; n--) { System.out.println(n); System.out.println(n); n--; System.out.println("Boo!"); System.out.println("Boo!"); 15

16 CONDITIONAL EXECUTION 16

17 Conditional Execution the if-then statement executes code only if a condition holds grammar rule: <if-then> => if (<cond>) { <instr 1 >; ; <instr k >; Example: if (x <= 42) { System.out.println("not more than the answer"); if (x > 42) { System.out.println("sorry - too much!"); 17

18 Control Flow Graph Example: if (x <= 42) { System.out.println("A"); if (x > 42) { System.out.println("B"); x <= 42 false x > 42 false true true System.out.println("A"); System.out.println("B"); 18

19 Alternative Execution the if-then-else statement executes one of two code blocks grammar rule: <if-then-else> => if (<cond>) { <instr 1 >; ; <instr k >; else { <instr 1 >; ; <instr k >; Example: if (x <= 42) { System.out.println("not more than the answer"); else { System.out.println("sorry - too much!"); 19

20 Control Flow Graph Example: if (x <= 42) { System.out.println("A"); else { System.out.println("B"); x <= 42 false true print "A" print "B" 20

21 Chained Conditionals alternative execution a special case of chained conditionals grammar rules: <if-chained> => if (<cond 1 >) { <instr 1,1 >; ; <instr k1,1 >; else if (<cond 2 >) { else { <instr 1,m >; ; <instr km,m >; Example: if (x > 0) { System.out.println("positive"); else if (x < 0) { System.out.println("negative"); else { System.out.println("zero"); 21

22 Control Flow Diagram Example: if (x > 0) { System.out.println("A"); else if (x < 0) { System.out.println("B"); else { System.out.println("C"); false x > 0 x < 0 true true false print "positive" print "negative" print "zero" 22

23 Switch Statement for int and char, special statement for multiple conditions grammar rules: <switch> => switch (<expr>) { case <const 1 >: <instr 1,1 >; ; <instr k1,1 >; break; case <const 2 >: default: <instr 1,m >; ; <instr km,m >; 23

24 Switch Statement Example: int n = sc.nextint(); switch (n) { case 0: System.out.println("zero"); break; case 1: case 2: System.out.println("smaller than three"); default: System.out.println("negative or larger than two"); 24

25 Nested Conditionals conditionals can be nested below conditionals: if (x > 0) { if (y > 0) { System.out.println("Quadrant 1"); else if (y < 0) { System.out.println("Quadrant 4"); else { System.out.println("positive x-axis"); else if (x < 0) { if (y > 0) { System.out.println("Quadrant 2"); else if (y < 0) { System.out.println("Quadrant 3"); else { System.out.println("negative x-axis"); else { System.out.println("y-Axis"); 25

26 TYPE CASTS & EXCEPTION HANDLING 26

27 Type Conversion Java uses type casts for converting values (int) x: converts x into an integer Example 1: ((int) 127) + 1 == 128 Example 2: (int) == -3 (double) x: converts x into a float Example 1: (double) 42 == 42.0 Example 2: (double) "42" results in Compilation Error (String) x: views x as a string Example: Object o = "Hello World! ; String s = (String) o; 27

28 Catching Exceptions type conversion operations are error-prone Example: Object o = new Integer(23); Strings s = (String) o; good idea to avoid type casts sometimes necessary, e.g. when implementing equals method use try-catch statement to handle error situations Example 1: String s; try { s = (String) o; catch (ClassCastException e) { s = "ERROR"; 28

29 Catching Exceptions use try-catch statement to handle error situations Example 2: try { double x; x = Double.parseDouble(str); System.out.println("The number is " + x); catch (NumberFormatException e) { System.out.println("The number sucks."); 29

30 Arrays array = built-in, mutable list of fixed-length type declared by adding [] to base type Example: int[] speeddial; creation using same new as for objects size declared when creating array Example: speeddial = new int[20]; also possible to fill array using { while creating it then length determined by number of filled elements Example: speeddial = { , ; 30

31 Arrays array = built-in, mutable list of fixed-length access using [index] notation (both read and write, 0-based) size available as attribute.length Example: int[] speeddial = { , ; for (int i = 0; i < speeddial.length; i++) { System.out.println(speedDial[i]); speeddial[i] += ; for (int i = 0; i < speeddial.length; i++) { System.out.println(speedDial[i]); 31

32 Command Line Arguments command line arguments given as array of strings Example: public class PrintCommandLine { public static void main(string[] args) { int len = args.length; System.out.println("got "+len+" arguments"); for (int i = 0; i < len; i++) { System.out.println("args["+i+"] = "+args[i]); 32

33 Reading from Files done the same way as reading from the user i.e., using the class java.util.scanner instead of System.in we use an object of type java.io.file Example (reading a file given as first argument): import java.util.scanner; import java.io.file; public class OpenFile { public static void main(string[] args) { File infile = new File(args[0]); Scanner sc = new Scanner(infile); while (sc.hasnext()) { System.out.println(sc.nextLine()); 33

34 Reading from Files Example (reading a file given as first argument): import java.util.scanner; import java.io.*; public class OpenFile { public static void main(string[] args) { File infile = new File(args[0]); try { Scanner sc = new Scanner(infile); while (sc.hasnext()) { System.out.println(sc.nextLine()); catch (FileNotFoundException e) { System.out.println("Did not find your strange "+args[0]); 34

35 Writing to Files done the same way as writing to the screen i.e., using the class java.io.printstream System.out is a predefined java.io.printstream object Example (copying a file line by line): import java.io.*; import java.util.scanner; public class CopyFile { public static void main(string[] args) throws new FileNotFoundException { Scanner sc = new Scanner(new File(args[0])); PrintStream target = new PrintStream(new File(args[1])); while (sc.hasnext()) { target.println(sc.nextline()); target.close(); 35

36 Throwing Exceptions Java uses throw (comparable to raise in Python) Example (method that receives unacceptabe input): static double power(double a, int b) { if (b < 0) { String msg = "natural number expected"; throw new IllegalArgumentException(msg); result = 1; for (; b > 0; b--) { result *= a; return result; 36

37 OBJECT ORIENTATION 37

38 Objects, Classes, and Instances class = description of a class of objects Example: a Car is defined by model, year, and colour object = concrete instance of a class Example: a silver Audi A4 from 2013 is an instance of Car Example (Car as Java class): public class Car { public String model, colour; public int year; public Car(String model, int year, String colour) { this.model = model; this.year = year; this.colour = colour; 38

39 Attributes attributes belonging to each object are member variables they are declared by giving their types inside the class Example: public class Car { public String model, colour; public int year; visibility can be public, protected, package or private for now only public or private: public = usable (read and write) for everyone private = usable (read and write) for the class 39

40 Getters and Setters getter = return value of a private attribute setter = change value of a private attribute Example: public class Car { private String model; public String getmodel() { return this.model; public void setmodel(string model) { this.model = model; 40

41 Getters and Setters very useful to abstract from internal representation Example: public class Car { // built after 1920 private byte year; public int getyear() { return this.year >= 20? this.year : this.year ; public void setyear(int year) { this.year = (byte) year % 100; 41

42 Static Attributes attributes belonging to the class are static attributes declaration by static and giving their types inside the class Example: public class Car { private static int number = 0; public Car(String model, int year, String colour) { this.model = model; this.year = year; this.colour = colour; Car.number++; public int getnumberofcars() { return number; 42

43 Initializing Global and Local Variables local variable = variable declared in a block global variable = member variable or static attribute all local and all global variables can be initialized Example: public class Car { private static int number = 0; public String model = "Skoda Fabia"; public Car(String model, int year, String colour) { boolean[] wheelok = new boolean[4]; 43

44 Constructors objects are created by using new Example: Car mine = new Car("VW Passat", 2003, "black"); Execution: Java Runtime Environment reserves memory for object constructor with matching parameter list is called constructor is a special method with no (given) return type Example: public class Car { public Car(String model, int year, String colour) { this.model = model; this.year = year; this.colour = colour; 44

45 Constructors more than one constructor possible (different parameter lists) constructors can use each other in first line using this( ); Example: public class Car { public Car(String model, int year, String colour) { this.model = model; this.year = year; this.colour = colour; public Car(String model, byte year, String colour) { this(model, year > 20? 1900+year : 2000+year, colour); 45

46 Overloading overloading = more than one function of the same name allowed as long as parameter lists are different different return types is not sufficient! Example: public class Car { public void setcolour(string colour) { this.colour = colour; public void setcolour(string colour, boolean dark) { if (dark) { colour = "dark"+colour; this.colour = colour; 46

47 Printing Objects printing objects does not give the desired result Example: System.out.println(new Car("Audi A1", 2011, "red")); method public String tostring() (like str in Python) Example: public class Car { public String tostring() { return this.colour+" "+this.model+" from "+this.year; 47

48 ADVANCED OBJECT-ORIENTATION 48

49 Object-Oriented Design classes often do not exist in isolation from each other a vehicle database might have classes for cars and trucks in such situation, having a common superclass useful Example: public class Vehicle { public String model; public int year; public Vehicle(String model, int year) { this.model = model; this.year = year; public String tostring() {return this.model+" from "+this.year; 49

50 Extending Classes Car and Truck then extend the Vehicle class Example: public class Car extends Vehicle { public String colour; public Car(string model, int year, String colour) { this.colour = colour; // this makes NO SENSE public String tostring() { return this.colour; public class Truck extends Vehicle { public double maxload; 50

51 Class Hierarchy class hierarchies are parts of class diagrams for our example we have: is-a Object is-a Vehicle is-a Car Truck 51

52 Abstract Classes often, superclasses should not have instances in our example, we want no objects of class Vehicle can be achieved by declaring the class to be abstract Example: public abstract class Vehicle { public String model; public int year; public Vehicle(string model, int year) { this.model = model; this.year = year; public String tostring() {return this.model+" from "+this.year; 52

53 Accessing Attributes attributes of superclasses can be accessed using this Example: public class Car extends Vehicle { public String colour; public Car(string model, int year, String colour) { this.model = model; this.year = year; this.colour = colour; public String tostring() { return this.colour+" "+this.model+" from "+this.year; 53

54 Accessing Superclass methods of superclasses can be accessed using super Example: public class Car extends Vehicle { public String colour; public Car(string model, int year, String colour) { this.model = model; this.year = year; this.colour = colour; public String tostring() { return this.colour+" "+super.tostring(); 54

55 Superclass Constructors constructors of superclasses can be accessed using super Example: public class Car extends Vehicle { public String colour; public Car(string model, int year, String colour) { super(model, year); this.colour = colour; public String tostring() { return this.colour+" "+super.tostring(); 55

56 Abstract Methods abstract method = method declared but not implemented useful in abstract classes (and later interfaces) Example: public abstract class Vehicle { public String model; public int year; public Vehicle(string model, int year) { this.model = model; this.year = year; public String tostring() {return this.model+" from "+this.year; public abstract computeresalevalue(); 56

57 Interfaces different superclasses could have different implementations to avoid conflicts, classes can only extend one (abstract) class interfaces = abstract classes without implementation only contain public abstract methods (abstract left out) no conflict possible with different interfaces Example: public interface HasValueAddedTax { public double getvalueaddedtax(double percentage); public class Car implements HasValueAddedTax { public double getvalueaddedtax(double p) { return 42000; 57

58 Interfaces Example: public interface HasValueAddedTax { public double getvalueaddedtax(double percentage); public interface Destructible { public void destroy(); public class Car implements HasValueAddedTax, Destructible { public double getvalueaddedtax(double p) { return 42000; public void destroy() { this.model = "BROKEN"; 58

59 Interface and Class Hierarchy interfaces outside normal class hierarchy HasValueAddedTax Destructible Vehicle Car Truck 59

DM503 Programming B. Peter Schneider-Kamp.

DM503 Programming B. Peter Schneider-Kamp. DM503 Programming B Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm503/! TYPE CASTS & FILES & EXCEPTION HANDLING 2 Type Conversion Java uses type casts for converting values

More information

DM537 Object-Oriented Programming. Peter Schneider-Kamp.

DM537 Object-Oriented Programming. Peter Schneider-Kamp. DM537 Object-Oriented Programming Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm537/! TYPE CASTS & FILES & EXCEPTION HANDLING 2 Type Conversion Java uses type casts for converting

More information

DM550 Introduction to Programming part 2. Jan Baumbach.

DM550 Introduction to Programming part 2. Jan Baumbach. DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net VARIABLES, EXPRESSIONS & STATEMENTS 2 Values and Types Values = basic data objects 42 23.0 "Hello!"

More information

DM537 Object-Oriented Programming. Peter Schneider-Kamp.

DM537 Object-Oriented Programming. Peter Schneider-Kamp. DM537 Object-Oriented Programming Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm537/! VARIABLES, EXPRESSIONS & STATEMENTS 2 Values and Types Values = basic data objects 42 23.0

More information

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp DM550 / DM857 Introduction to Programming Peter Schneider-Kamp petersk@imada.sdu.dk http://imada.sdu.dk/~petersk/dm550/ http://imada.sdu.dk/~petersk/dm857/ CALLING & DEFINING FUNCTIONS 2 Functions and

More information

DM503 Programming B. Peter Schneider-Kamp.

DM503 Programming B. Peter Schneider-Kamp. DM503 Programming B Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm503/! VARIABLES, EXPRESSIONS & STATEMENTS 2 Values and Types Values = basic data objects 42 23.0 "Hello!" Types

More information

DM550 Introduction to Programming part 2. Jan Baumbach.

DM550 Introduction to Programming part 2. Jan Baumbach. DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net COURSE ORGANIZATION 2 Course Elements Lectures: 10 lectures Find schedule and class rooms in online

More information

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp DM550 / DM857 Introduction to Programming Peter Schneider-Kamp petersk@imada.sdu.dk http://imada.sdu.dk/~petersk/dm550/ http://imada.sdu.dk/~petersk/dm857/ OBJECT-ORIENTED PROGRAMMING IN JAVA 2 Programming

More information

DM503 Programming B. Peter Schneider-Kamp.

DM503 Programming B. Peter Schneider-Kamp. DM503 Programming B Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm503/! ADVANCED OBJECT-ORIENTATION 2 Object-Oriented Design classes often do not exist in isolation from each

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade; Control Statements Control Statements All programs could be written in terms of only one of three control structures: Sequence Structure Selection Structure Repetition Structure Sequence structure The

More information

CS 231 Data Structures and Algorithms, Fall 2016

CS 231 Data Structures and Algorithms, Fall 2016 CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

Numbers Implicit This Static Methods and Fields Packages Access Modifiers Main Overloading Exceptions Etc.

Numbers Implicit This Static Methods and Fields Packages Access Modifiers Main Overloading Exceptions Etc. Numbers Implicit This Static Methods and Fields Packages Access Modifiers Main Overloading Exceptions Etc. 1 Integers Java s number system: byte an integer between -128 and 127 short an integer between

More information

JAVA PROGRAMMING LAB. ABSTRACT In this Lab you will learn to define and invoke void and return java methods

JAVA PROGRAMMING LAB. ABSTRACT In this Lab you will learn to define and invoke void and return java methods Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Computer Programming Lab (ECOM 2114) ABSTRACT In this Lab you will learn to define and invoke void and return java methods JAVA

More information

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming

More information

Java for Non Majors Spring 2018

Java for Non Majors Spring 2018 Java for Non Majors Spring 2018 Final Study Guide The test consists of 1. Multiple choice questions - 15 x 2 = 30 points 2. Given code, find the output - 3 x 5 = 15 points 3. Short answer questions - 3

More information

Loops. CSE 114, Computer Science 1 Stony Brook University

Loops. CSE 114, Computer Science 1 Stony Brook University Loops CSE 114, Computer Science 1 Stony Brook University http://www.cs.stonybrook.edu/~cse114 1 Motivation Suppose that you need to print a string (e.g., "Welcome to Java!") a user-defined times N: N?

More information

Array. Prepared By - Rifat Shahriyar

Array. Prepared By - Rifat Shahriyar Java More Details Array 2 Arrays A group of variables containing values that all have the same type Arrays are fixed length entities In Java, arrays are objects, so they are considered reference types

More information

Java Bytecode (binary file)

Java Bytecode (binary file) Java is Compiled Unlike Python, which is an interpreted langauge, Java code is compiled. In Java, a compiler reads in a Java source file (the code that we write), and it translates that code into bytecode.

More information

Introduction to Computer Science Unit 2. Notes

Introduction to Computer Science Unit 2. Notes Introduction to Computer Science Unit 2. Notes Name: Objectives: By the completion of this packet, students should be able to describe the difference between.java and.class files and the JVM. create and

More information

The Scanner class reads data entered by the user. Methods: COSC Dr. Ramon Lawrence. Page 3. COSC Dr. Ramon Lawrence A) A = 6, B = 3

The Scanner class reads data entered by the user. Methods: COSC Dr. Ramon Lawrence. Page 3. COSC Dr. Ramon Lawrence A) A = 6, B = 3 COSC 123 Computer Creativity Course Review Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Reading Data from the User The Scanner Class The Scanner class reads data entered

More information

THE CONCEPT OF OBJECT

THE CONCEPT OF OBJECT THE CONCEPT OF OBJECT An object may be defined as a service center equipped with a visible part (interface) and an hidden part Operation A Operation B Operation C Service center Hidden part Visible part

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions and

More information

COSC 123 Computer Creativity. I/O Streams and Exceptions. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 123 Computer Creativity. I/O Streams and Exceptions. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 123 Computer Creativity I/O Streams and Exceptions Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Objectives Explain the purpose of exceptions. Examine the try-catch-finally

More information

CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions

More information

Language Features. 1. The primitive types int, double, and boolean are part of the AP

Language Features. 1. The primitive types int, double, and boolean are part of the AP Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are

More information

COMPUTER APPLICATIONS

COMPUTER APPLICATIONS COMPUTER APPLICATIONS (Theory) (Two hours) Answers to this Paper must be written on the paper provided separately. You will not be allowed to write during the first 15 minutes. This time is to be spent

More information

Loops. Eng. Mohammed Abdualal. Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department

Loops. Eng. Mohammed Abdualal. Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2114) Created by Eng: Mohammed Alokshiya Modified by Eng: Mohammed Abdualal Lab 6 Loops

More information

Introduction to Computer Science Unit 2. Notes

Introduction to Computer Science Unit 2. Notes Introduction to Computer Science Unit 2. Notes Name: Objectives: By the completion of this packet, students should be able to describe the difference between.java and.class files and the JVM. create and

More information

public class Test { static int age; public static void main (String args []) { age = age + 1; System.out.println("The age is " + age); }

public class Test { static int age; public static void main (String args []) { age = age + 1; System.out.println(The age is  + age); } Question No :1 What is the correct ordering for the import, class and package declarations when found in a Java class? 1. package, import, class 2. class, import, package 3. import, package, class 4. package,

More information

Tutorial # 4. Q1. Evaluate the logical (Boolean) expression in the following exercise

Tutorial # 4. Q1. Evaluate the logical (Boolean) expression in the following exercise Tutorial # 4 Q1. Evaluate the logical (Boolean) expression in the following exercise 1 int num1 = 3, num2 = 2; (num1 > num2) 2 double hours = 12.8; (hours > 40.2) 3 int funny = 7; (funny!= 1) 4 double

More information

3. Java - Language Constructs I

3. Java - Language Constructs I Educational Objectives 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations, Evaluation of Expressions, Type Conversions You know the basic blocks

More information

1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4'

1. Which of the following is the correct expression of character 4? a. 4 b. 4 c. '\0004' d. '4' Practice questions: 1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4' 2. Will System.out.println((char)4) display 4? a. Yes b. No 3. The expression "Java

More information

AP CS Unit 3: Control Structures Notes

AP CS Unit 3: Control Structures Notes AP CS Unit 3: Control Structures Notes The if and if-else Statements. These statements are called control statements because they control whether a particular block of code is executed or not. Some texts

More information

AP COMPUTER SCIENCE A

AP COMPUTER SCIENCE A AP COMPUTER SCIENCE A CONTROL FLOW Aug 28 2017 Week 2 http://apcs.cold.rocks 1 More operators! not!= not equals to % remainder! Goes ahead of boolean!= is used just like == % is used just like / http://apcs.cold.rocks

More information

public static void main(string[] args) throws FileNotFoundException { ArrayList<Vehicle> arrayofvehicles = new ArrayList<Vehicle>();

public static void main(string[] args) throws FileNotFoundException { ArrayList<Vehicle> arrayofvehicles = new ArrayList<Vehicle>(); import java.io.*; import java.util.*; import java.text.*; import java.lang.*; // Class n00845431 public class Project4 static class EmailComparator implements Comparator public int compare(vehicle

More information

Software Practice 1 Basic Grammar

Software Practice 1 Basic Grammar Software Practice 1 Basic Grammar Basic Syntax Data Type Loop Control Making Decision Prof. Joonwon Lee T.A. Jaehyun Song Jongseok Kim (42) T.A. Sujin Oh Junseong Lee (43) 1 2 Java Program //package details

More information

Scanner Objects. Zheng-Liang Lu Java Programming 82 / 133

Scanner Objects. Zheng-Liang Lu Java Programming 82 / 133 Scanner Objects It is not convenient to modify the source code and recompile it for a different radius. Reading from the console enables the program to receive an input from the user. A Scanner object

More information

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in

More information

Index COPYRIGHTED MATERIAL

Index COPYRIGHTED MATERIAL Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes

More information

Java for Python Programmers. Comparison of Python and Java Constructs Reading: L&C, App B

Java for Python Programmers. Comparison of Python and Java Constructs Reading: L&C, App B Java for Python Programmers Comparison of Python and Java Constructs Reading: L&C, App B 1 General Formatting Shebang #!/usr/bin/env python Comments # comments for human readers - not code statement #

More information

1 class Lecture3 { 2 3 "Selections" // Keywords 8 if, else, else if, switch, case, default. Zheng-Liang Lu Java Programming 88 / 133

1 class Lecture3 { 2 3 Selections // Keywords 8 if, else, else if, switch, case, default. Zheng-Liang Lu Java Programming 88 / 133 1 class Lecture3 { 2 3 "Selections" 4 5 } 6 7 // Keywords 8 if, else, else if, switch, case, default Zheng-Liang Lu Java Programming 88 / 133 Flow Controls The basic algorithm (and program) is constituted

More information

Outline. Overview. Control statements. Classes and methods. history and advantage how to: program, compile and execute 8 data types 3 types of errors

Outline. Overview. Control statements. Classes and methods. history and advantage how to: program, compile and execute 8 data types 3 types of errors Outline Overview history and advantage how to: program, compile and execute 8 data types 3 types of errors Control statements Selection and repetition statements Classes and methods methods... 2 Oak A

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

Logic is the anatomy of thought. John Locke ( ) This sentence is false.

Logic is the anatomy of thought. John Locke ( ) This sentence is false. Logic is the anatomy of thought. John Locke (1632 1704) This sentence is false. I know that I know nothing. anonymous Plato (In Apology, Plato relates that Socrates accounts for his seeming wiser than

More information

Simple Java Reference

Simple Java Reference Simple Java Reference This document provides a reference to all the Java syntax used in the Computational Methods course. 1 Compiling and running... 2 2 The main() method... 3 3 Primitive variable types...

More information

CS212 Midterm. 1. Read the following code fragments and answer the questions.

CS212 Midterm. 1. Read the following code fragments and answer the questions. CS1 Midterm 1. Read the following code fragments and answer the questions. (a) public void displayabsx(int x) { if (x > 0) { System.out.println(x); return; else { System.out.println(-x); return; System.out.println("Done");

More information

IEEE Floating-Point Representation 1

IEEE Floating-Point Representation 1 IEEE Floating-Point Representation 1 x = ( 1) s M 2 E The sign s determines whether the number is negative (s = 1) or positive (s = 0). The significand M is a fractional binary number that ranges either

More information

This exam is open book. Each question is worth 3 points.

This exam is open book. Each question is worth 3 points. This exam is open book. Each question is worth 3 points. Page 1 / 15 Page 2 / 15 Page 3 / 12 Page 4 / 18 Page 5 / 15 Page 6 / 9 Page 7 / 12 Page 8 / 6 Total / 100 (maximum is 102) 1. Are you in CS101 or

More information

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal Lesson Goals Understand Control Structures Understand how to control the flow of a program

More information

CS 101 Exam 2 Spring Id Name

CS 101 Exam 2 Spring Id Name CS 101 Exam 2 Spring 2005 Email Id Name This exam is open text book and closed notes. Different questions have different points associated with them. Because your goal is to maximize your number of points,

More information

1 class Lecture3 { 2 3 "Selections" // Keywords 8 if, else, else if, switch, case, default. Zheng-Liang Lu Java Programming 89 / 137

1 class Lecture3 { 2 3 Selections // Keywords 8 if, else, else if, switch, case, default. Zheng-Liang Lu Java Programming 89 / 137 1 class Lecture3 { 2 3 "Selections" 4 5 } 6 7 // Keywords 8 if, else, else if, switch, case, default Zheng-Liang Lu Java Programming 89 / 137 Flow Controls The basic algorithm (and program) is constituted

More information

COSC 123 Computer Creativity. Java Decisions and Loops. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 123 Computer Creativity. Java Decisions and Loops. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 123 Computer Creativity Java Decisions and Loops Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) A decision is made by evaluating a condition in an if/else

More information

Software Practice 1 - Basic Grammar Basic Syntax Data Type Loop Control Making Decision

Software Practice 1 - Basic Grammar Basic Syntax Data Type Loop Control Making Decision Software Practice 1 - Basic Grammar Basic Syntax Data Type Loop Control Making Decision Prof. Hwansoo Han T.A. Minseop Jeong T.A. Wonseok Choi 1 Java Program //package details public class ClassName {

More information

Data Types. 1 You cannot change the type of the variable after declaration. Zheng-Liang Lu Java Programming 52 / 87

Data Types. 1 You cannot change the type of the variable after declaration. Zheng-Liang Lu Java Programming 52 / 87 Data Types Java is a strongly-typed 1 programming language. Every variable has a type. Also, every (mathematical) expression has a type. There are two categories of data types: primitive data types, and

More information

CMP-326 Exam 2 Spring 2018 Total 120 Points Version 1

CMP-326 Exam 2 Spring 2018 Total 120 Points Version 1 Version 1 5. (10 Points) What is the output of the following code: int total = 0; int i = 0; while( total < 90 ) { switch( i ) { case 0: total += 30; i = 1; break; case 1: i = 2; total -= 15; case 2: i

More information

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Spring 2016 Howard Rosenthal

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Spring 2016 Howard Rosenthal Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Spring 2016 Howard Rosenthal Lesson Goals Understand Control Structures Understand how to control the flow of a program

More information

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design. CSC207 Fall 2014 Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

More information

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018 Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 22 Mar 2018 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment

More information

Java Programming. Atul Prakash

Java Programming. Atul Prakash Java Programming Atul Prakash Java Language Fundamentals The language syntax is similar to C/ C++ If you know C/C++, you will have no trouble understanding Java s syntax If you don't, it will be easier

More information

Interpreted vs Compiled. Java Compile. Classes, Objects, and Methods. Hello World 10/6/2016. Python Interpreted. Java Compiled

Interpreted vs Compiled. Java Compile. Classes, Objects, and Methods. Hello World 10/6/2016. Python Interpreted. Java Compiled Interpreted vs Compiled Python 1 Java Interpreted Easy to run and test Quicker prototyping Program runs slower Compiled Execution time faster Virtual Machine compiled code portable Java Compile > javac

More information

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,

More information

Arithmetic Compound Assignment Operators

Arithmetic Compound Assignment Operators Arithmetic Compound Assignment Operators Note that these shorthand operators are not available in languages such as Matlab and R. Zheng-Liang Lu Java Programming 76 / 141 Example 1... 2 int x = 1; 3 System.out.println(x);

More information

15CS45 : OBJECT ORIENTED CONCEPTS

15CS45 : OBJECT ORIENTED CONCEPTS 15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?

More information

Chapter 7 User-Defined Methods. Chapter Objectives

Chapter 7 User-Defined Methods. Chapter Objectives Chapter 7 User-Defined Methods Chapter Objectives Understand how methods are used in Java programming Learn about standard (predefined) methods and discover how to use them in a program Learn about user-defined

More information

CSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015

CSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015 CSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided handwritten 8 ½ x 11 note sheet during

More information

2. [20] Suppose we start declaring a Rectangle class as follows:

2. [20] Suppose we start declaring a Rectangle class as follows: 1. [8] Create declarations for each of the following. You do not need to provide any constructors or method definitions. (a) The instance variables of a class to hold information on a Minesweeper cell:

More information

CS 113 PRACTICE FINAL

CS 113 PRACTICE FINAL CS 113 PRACTICE FINAL There are 13 questions on this test. The value of each question is: 1-10 multiple choice (4 pt) 11-13 coding problems (20 pt) You may get partial credit for questions 11-13. If you

More information

if (i % 2 == 0) { return 4 + method(i + 5) } if (i % 2 == 1) { return 2 + method(i + 3) } public static int method( int i )

if (i % 2 == 0) { return 4 + method(i + 5) } if (i % 2 == 1) { return 2 + method(i + 3) } public static int method( int i ) Review Exercises Here is a list of review exercises. There are times when an exercise will be open ended, allowing you to pursue multiple aspects of the material. While encompassing some areas we have

More information

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines

More information

Loops and Expression Types

Loops and Expression Types Software and Programming I Loops and Expression Types Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline The while, for and do Loops Sections 4.1, 4.3 and 4.4 Variable Scope Section

More information

CONDITIONAL EXECUTION

CONDITIONAL EXECUTION CONDITIONAL EXECUTION yes x > y? no max = x; max = y; logical AND logical OR logical NOT &&! Fundamentals of Computer Science I Outline Conditional Execution if then if then Nested if then statements Comparisons

More information

Full file at

Full file at Chapter 1 Primitive Java Weiss 4 th Edition Solutions to Exercises (US Version) 1.1 Key Concepts and How To Teach Them This chapter introduces primitive features of Java found in all languages such as

More information

1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

More information

Full download all chapters instantly please go to Solutions Manual, Test Bank site: testbanklive.com

Full download all chapters instantly please go to Solutions Manual, Test Bank site: testbanklive.com Introduction to Java Programming Comprehensive Version 10th Edition Liang Test Bank Full Download: http://testbanklive.com/download/introduction-to-java-programming-comprehensive-version-10th-edition-liang-tes

More information

More Things We Can Do With It! Overview. Circle Calculations. πr 2. π = More operators and expression types More statements

More Things We Can Do With It! Overview. Circle Calculations. πr 2. π = More operators and expression types More statements More Things We Can Do With It! More operators and expression types More s 11 October 2007 Ariel Shamir 1 Overview Variables and declaration More operators and expressions String type and getting input

More information

Polymorphism. return a.doublevalue() + b.doublevalue();

Polymorphism. return a.doublevalue() + b.doublevalue(); Outline Class hierarchy and inheritance Method overriding or overloading, polymorphism Abstract classes Casting and instanceof/getclass Class Object Exception class hierarchy Some Reminders Interfaces

More information

COMP 202 Java in one week

COMP 202 Java in one week COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of

More information

2. The object-oriented paradigm!

2. The object-oriented paradigm! 2. The object-oriented paradigm! Plan for this section:! n Look at things we have to be able to do with a programming language! n Look at Java and how it is done there" Note: I will make a lot of use of

More information

More on Java. Object-Oriented Programming

More on Java. Object-Oriented Programming More on Java Object-Oriented Programming Outline Instance variables vs. local variables Primitive vs. reference types Object references, object equality Objects' and variables' lifetime Parameters passing

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information

Array. Array Declaration:

Array. Array Declaration: Array Arrays are continuous memory locations having fixed size. Where we require storing multiple data elements under single name, there we can use arrays. Arrays are homogenous in nature. It means and

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

Control Flow. COMS W1007 Introduction to Computer Science. Christopher Conway 3 June 2003

Control Flow. COMS W1007 Introduction to Computer Science. Christopher Conway 3 June 2003 Control Flow COMS W1007 Introduction to Computer Science Christopher Conway 3 June 2003 Overflow from Last Time: Why Types? Assembly code is typeless. You can take any 32 bits in memory, say this is an

More information

public class Foo { private int var; public int Method1() { // var accessible anywhere here } public int MethodN() {

public class Foo { private int var; public int Method1() { // var accessible anywhere here } public int MethodN() { Scoping, Static Variables, Overloading, Packages In this lecture, we will examine in more detail the notion of scope for variables. We ve already indicated that variables only exist within the block they

More information

CSC 1051 Algorithms and Data Structures I. Final Examination May 12, Name

CSC 1051 Algorithms and Data Structures I. Final Examination May 12, Name CSC 1051 Algorithms and Data Structures I Final Examination May 12, 2017 Name Question Value Score 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 10 10 10 TOTAL 100 Please answer questions in the spaces provided.

More information

Final Exam Practice Questions

Final Exam Practice Questions Final Exam Practice Questions 1. Short Answer Questions (10 points total) (a) Given the following hierarchy: class Alpha {... class Beta extends Alpha {... class Gamma extends Beta {... What order are

More information

Chapter 3. Selections

Chapter 3. Selections Chapter 3 Selections 1 Outline 1. Flow of Control 2. Conditional Statements 3. The if Statement 4. The if-else Statement 5. The Conditional operator 6. The Switch Statement 7. Useful Hints 2 1. Flow of

More information

2. The object-oriented paradigm

2. The object-oriented paradigm 2. The object-oriented paradigm Plan for this section: Look at things we have to be able to do with a programming language Look at Java and how it is done there Note: I will make a lot of use of the fact

More information

Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A

Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has been

More information

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class. Name: Covers Chapters 1-3 50 mins CSCI 1301 Introduction to Programming Armstrong Atlantic State University Instructor: Dr. Y. Daniel Liang I pledge by honor that I will not discuss this exam with anyone

More information

Fall CS 101: Test 2 Name UVA ID. Grading. Page 1 / 4. Page3 / 20. Page 4 / 13. Page 5 / 10. Page 6 / 26. Page 7 / 17.

Fall CS 101: Test 2 Name UVA  ID. Grading. Page 1 / 4. Page3 / 20. Page 4 / 13. Page 5 / 10. Page 6 / 26. Page 7 / 17. Grading Page 1 / 4 Page3 / 20 Page 4 / 13 Page 5 / 10 Page 6 / 26 Page 7 / 17 Page 8 / 10 Total / 100 1. (4 points) What is your course section? CS 101 CS 101E Pledged Page 1 of 8 Pledged The following

More information

Review Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

Review Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Review Chapters 1 to 4 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Introduction to Java Chapters 1 and 2 The Java Language Section 1.1 Data & Expressions Sections 2.1 2.5 Instructor:

More information

Key Points. COSC 123 Computer Creativity. Java Decisions and Loops. Making Decisions Performing Comparisons. Making Decisions

Key Points. COSC 123 Computer Creativity. Java Decisions and Loops. Making Decisions Performing Comparisons. Making Decisions COSC 123 Computer Creativity Java Decisions and Loops Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) A decision is made by evaluating a condition in an if/

More information

false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

false, import, new 1 class Lecture2 { 2 3 Data types, Variables, and Operators 4 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 45

More information

Character Stream : It provides a convenient means for handling input and output of characters.

Character Stream : It provides a convenient means for handling input and output of characters. Be Perfect, Do Perfect, Live Perfect 1 1. What is the meaning of public static void main(string args[])? public keyword is an access modifier which represents visibility, it means it is visible to all.

More information

Programming: Java. Chapter Objectives. Chapter Objectives (continued) Program Design Including Data Structures. Chapter 7: User-Defined Methods

Programming: Java. Chapter Objectives. Chapter Objectives (continued) Program Design Including Data Structures. Chapter 7: User-Defined Methods Chapter 7: User-Defined Methods Java Programming: Program Design Including Data Structures Chapter Objectives Understand how methods are used in Java programming Learn about standard (predefined) methods

More information

CH. 2 OBJECT-ORIENTED PROGRAMMING

CH. 2 OBJECT-ORIENTED PROGRAMMING CH. 2 OBJECT-ORIENTED PROGRAMMING ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) OBJECT-ORIENTED

More information