demo1 java of demo 1 java with demo 1 java.ppt

FerdieBalang 31 views 96 slides Mar 01, 2024
Slide 1
Slide 1 of 96
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96

About This Presentation

demo 1 java


Slide Content

Introduction to Java
Programming

Contents
•The Structure of Java Programs
•Keywords and Identifiers
•Data Types
•Integral, Textual, Floating-Point
•Enumerations
•Variables, Declarations, Assignments,
Operators

Contents
•Expressions and Statements
•Logical Statements
•Loop Statements
•Console Input and Output
•Arrays and Array Manipulation
•Using the Java API Documentation

Programming in Java

The Java API
•A set of runtime libraries
•Available on anyJVM
•Provide platform-independent standard
•Classes and interfaces
•Security
•Platform independence difficulties
•Implementation is specific to the host
platform

What is Java API
Documentation?
•Java documentation is HTML based
•Also called "Java Platform Standard Edition
API Specification"
•Complete documentation of all standard
classes and methods
•Descriptions of all the functionality
•Links to related articles
•Use local copy or the Web version from
http://java.sun.com/javase/6/docs/api/

Java API Documentation

A Java ProgramJava methods (Java API)
Java
Program
native methods (dynamic libraries)
host operating system

The Java Programming
Language
•Quite general-purpose
•Boosts developer productivity
•Combines proven techniques
•Software technologies
•Object-orientation
•Multi-threading
•Structured error-handling
•Garbage collection
•Dynamic linking and extension

Writing Java Programs
•Write custom source code
•In the Java programming language
•Using the Java API
•Compile the source code
•Using the “javac” compiler command
•Compiles to bytecodes
•Run the compiled code
•Using the “java” launcher command

Java Program –Example
public class HelloJava {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
HelloJava.java
javac HelloJava.java
java –cp . HelloJava
Hello, Java!

Typical Errors
•Compile-Time Errors
•javac: Command not found
•HelloJava.java:10: Method
printl(java.lang.String) not found in class
java.io.PrintStream
•HelloJava.java:4: Public class HelloJava
must be defined in a file called
"HelloJava.java".

Typical Errors
•Runtime Errors
•Can’t find class HelloJava
•Exception in thread "main"
java.lang.NoClassDefFoundError:
HelloJava/class

Structure of Java Programs

The Source File Contents
•Java source code files can have three "top-
level" elements:
•An optional package declaration
•Any number of import statements
•Class and interface declarations
package jeecourse.example;
import java.io.*;
public class SomeClass{
// ...
}

Classes and Packages
•Classes are the main program unit in Java
•Contain the source code of the program
logic
•Can define fields
•Can contain methods (subprograms)
•Packages are containers for classes
•Can be nested hierarchically
•Each package can contain multiple classes

Important Java Packages
•Important packages within the Java class
library are:
•java.lang
•java.util
•java.io
•java.text
•java.awt
•java.net
•java.applet

Java Programs
•Java programs are sets of class definitions
•The main()method is the entry point for
standalone Java applications
•The signature formain()is:
•The name argsis purely arbitrary:
•Any legal identifier may be used, providedthe
array is a single-dimension array of String
objects
public static void main(String[] args)

Programs, Classes, and
Packages –Example
package jeecourse.example;
import java.io.*;
public class SomeClass{
private static intmValue= 5;
public static void printValue() {
System.out.println("mValue= " + mValue);
}
public static void main(String[] args) {
System.out.println("Some Class");
printValue();
}
}

Keywords, Identifiers, Data
Types

Keywords
•A keyword is a word whose meaning is
defined by the programming language
•Anyone who claims to be competent in a
language must at the very least be familiar
with that language’s keywords
•Java’s keywords and other special-meaning
words are listed in the next slide

Java Language Keywords
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfpvolatile
const float native super while

Reserved Words
•You may notice null, true, and falsedo
not appear anywhere on the keywords list
•true, false, and nullare not keywords
but they are reserved words
•You cannot use them as names in your
programs either

Identifiers
•Names given to a variable, method, field,
class, interface, etc.
•Can start with a letter, underscore(_), or dollar
sign($)
•Can contain letters, $, _, and digits
•Case sensitive
•Have no maximum length
•Examples:
•userName, $app_name, __test, value,
totalRevenue, location$

Primitive Data Types
•A primitiveis a simple non-object data type
that represents a single value
•Java’s primitive data types are:
•boolean
•char
•byte, short, int, long
•float, double

Primitive Data Types
TypeEffective Size (bits)
byte 8
short 16
int 32
long 64
float 32
double 64
char 16
•Variables of type
booleanmay take
only the values true
or false
•Their representation
size might vary

Boolean Type
•The boolean data type has two literals, true
and false
•For example, the statement:
•boolean truth = true;
•declares the variable truth as boolean type
and assigns it a value of true

Textual Types: char
•Represents a 16-bit Unicode character
•Must have its literal enclosed in single
quotes(’ ’)
•Uses the following notations:
•'a' –The letter a
•'\t' –A tab
•'\n' –A new line character
•'\u????' –A specific Unicode character,
????, is replaced with exactly four
hexadecimal digits, e.g. '\u1A4F'

Integral Types: byte,
short, int, and long
•Uses three forms –decimal, octal, or
hexadecimal, e. g.
•2–The decimal value is two
•077–The leading zero indicates an octal
value
•0xBAAC–The leading 0x indicates a
hexadecimal value
•The default integer values are int
•Defines long by using the letter Lor l:
long value = 1234L;

Ranges of the Integral
Primitive Types
Type Size Minimum Maximum
byte 8 bits -2
7
2
7
–1
short 16 bits -2
15
2
15
–1
int 32 bits -2
31
2
31
–1
long 64 bits -2
63
2
63
–1

Floating Point Types: float
and double
•Default is double
•Floating point literal includes either a decimal
point or one of the following:
•E or e (add exponential value)
•F or f (float)
•D or d (double)
•Examples:
•3.14 –A simple floating-point value (a double)
•6.02E23 –A large floating-point value
•2.718F –A simple float size value
•123.4E+306D –A large double value with
redundant D

Ranges of the Floating-
Point Primitive Types
Type Size Minimum Maximum
float32 bits +/-1.40
-45
+/-3.40
+38
double64 bits +/-4.94
-324
+/-1.79
+308
char 16 bits 0 2
16
-1

Non-numeric Floating-Point
Values
•Float.NaN
•Float.NEGATIVE_INFINITY
•Float.POSITIVE_INFINITY
•Double.NaN
•Double.NEGATIVE_INFINITY
•Double.POSITIVE_INFINITY

Textual Types: String
•Is not a primitive data type
•It is a class
•Has its literal enclosed in double quotes (" ")
•Example:
•Can be used as follows:
String greeting = "Good Morning !! \n";
String errorMsg = "Record Not Found!";
"The quick brown fox jumps over the lazy dog."

Values and Objects
•Primitive Data Types
•Are value types
•Contain directly their values
•Examples: int, float, char, boolean
•Objects
•Are reference types
•Contain a pointer (memory address) of their
values
•Examples: String, Object, Date

Values vs. Objects
•Consider the following code fragment:
•Two variables refer to a single object:
int x = 7;
int y = x;
String s = "Hello";
String t = s;
7x
7y
0x01234567s
0x01234567t
"Hello"0x01234567
Heap (dynamic memory)

Enumerations (enums)
•Enumerations are special types that
•Get values from a given set of constants
•Are strongly typed
•Compiled to classes that inherit
java.lang.Enum
public enum Color {
WHITE, RED, GREEN, BLUE, BLACK
}
...
Color c = Color.RED;

Enumerations (enums)
•Allow using ifand switch:
switch (color) {
case WHITE:
System.out.println("бяло");
break;
case RED:
System.out.println("червено");
break;
...
}
if (color == Color.RED) {
...
}

Variables, Declarations,
Assignments, Operators

Variables, Declarations, and
Assignments
•Variables are names places in the memory
that contain some value
•Variables have a type (int, float, String, ...)
•Variables should be declared before use
•Variables can be assigned
•Examples:
int i; // declare variable
int value = 5; // declare and assign variable
i = 25; // assign a value to a variable that is
already declared

Variables, Declarations, and
Assignments –Examples
public class Assignments {
public static void main(String args []) {
int x, y; // declare int variables
float z = 3.414f; // declare and assign float
double w = 3.1415; // declare and assign double
boolean b = true; // declare and assign boolean
char ch; // declare character variable
String str; // declare String variable
String s = "bye"; // declare and assign String
ch = 'A'; // assign a value to char variable
str = "Hi out there!"; // assign value to String
x = 6; // assign value to int variable
y = 1000; // assign values to int variable
...
}
}

Variables and Scope
•Local variables are:
•Variables that are defined inside a method
and are called local, automatic, temporary,
or stackvariables
•Created when the method is executed and
destroyed when the method is exited
•Variables that must be initialized before they
are used or compile-time errors will occur

Operators
Category Operators
Unary ++ --+ -! ~ (type)
Arithmetic * / %
+ -
Shift << >> >>>
Comparison < <= > >= instanceof
== !=
Bitwise & ^ |
Short-circuit&& ||
Conditional? :
Assignment = op=

The Ordinal Comparisons
Operators: <, <=, >, and >=
•The ordinal comparison operators are:
•Less than: <
•Less than or equal to: <=
•Greater than: >
•Greater than or equal to: >=

The Ordinal Comparisons
Operators –Example
•int p = 9;
•int q = 65;
•int r = -12;
•float f = 9.0F;
•char c = ‘A’;
•p < q true
•f < q true
•f <= c true
•c > r true
•c >= q true

Short-Circuit Logical
Operators
•The operators are && (AND) and || (OR)
•These operators can be used as follows:
MyDate d = null;
if ((d != null) && (d.day() > 31)) {
// Do something
}
boolean goodDay = (d == null) || ((d != null) &&
(d.day() >= 12));

String Concatenation with +
•The + operator:
•Performs String concatenation
•Produces a new String as a result:
•First argument must be a String object
•Non-strings are converted to String objects
automatically
String salutation = "Dr. ";
String name = "Pete " + "Seymour";
System.out.println(salutation + name + 5);

The Unary Operators
•Unary operators take only a single operand
and work just on that
•Java provides seven unary operators:
•The increment and decrement operators: ++
and --
•The unary plus and minus operators: + and -
•The bitwise inversion operator: ~
•The boolean complement operator: !
•The cast operator: ()

The Cast Operator: (type)
•Implicit type conversions are possible when
no information can be lost
•E.g. converting intlong
•Casting is used for explicit conversion of the
type of an expression
•Casts can be applied to change the type of
primitive values
•For example, forcing a doublevalue into an
intvariable like this:
int circum = (int)(Math.PI * diameter);

The Multiplication and
Division Operators: * and /
•The * and / operators perform multiplication
and division on all primitive numeric types
and char
•Integer division will generate an
ArithmeticException when attempting to
divide by zero
int a = 5;
int value = a * 10;

The Bitwise Operators
•The bitwise operators: &, ^, and | provide
bitwise AND, eXclusive-OR (XOR), and OR
operations, respectively
•They are applicable to integral types
int first = 100;
int second = 200;
int xor = first ^ second;
int and = first & second;

Operator Evaluation Order
•In Java, the order of evaluation of operands in
an expression is fixed –left to right
•Consider this code fragment:
•In this case, it might be unclear which element
of the array is modified:
•Which value of b is used to select the array
element, 0 or 1
int[] a = {4, 4};
int b = 1;
a[b] = b = 0;

Expressions and Statements

Expressions
•Expression is a sequence of operators,
variables and literals that is evaluated to
some value
int r = (150-20) / 2 + 5;
// Expression for calculation of
// the surface of the circle
double surface = Math.PI * r * r;
// Expression for calculation of
// the perimeter of the circle
double perimeter = 2 * Math.PI * r;

Statements
•Statements are the main programming
constructs
•Types of statements
•Simple statements
•The smallest programming instructions
•Block statements –{ ...}
•Conditional statements (if, if-else,
switch)
•Loop statements (for, while, do/while)

Statements and Blocks
•A statementis a single line of code
terminated by a semicolon(;)
•A block is a collection of statements
bounded by opening and closing braces:
•You can nest block statements
salary = days * daySalary;
{
x = x + 1;
y = y + 1;
}

Conditional Statements
•The if, if-elsestatements:
if (boolean condition) {
statement or block;
}
if (boolean condition) {
statement or block;
} else {
statement or block;
}

If Statement –Example
public static void main(String[] args) {
int radius = 5;
double surface = Math.PI * radius * radius;
if (surface > 100) {
System.out.println("The circle is too big!");
} else if (surface > 50) {
System.out.println(
"The circle has acceptable size!");
} else {
System.out.println(
"The circle is too small!");
}
}

Conditional Statements
•The switchstatement
switch (expression) {
case constant1:
statements;
break;
case constant2:
statements;
break;
default:
statements;
break;
}

The switchStatement –
Example
int dayOfWeek = 3;
switch (dayOfWeek) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
...
default:
System.out.println("Invalid day!");
break;
}

Looping Statements
•The forstatement:
•Example:
for (init_expr; boolean testexpr; alter_expr) {
statement or block;
}
for (int i = 0; i < 10; i++) {
System.out.println("i=" + i);
}
System.out.println("Finished!")

Looping Statements
•The enhanced forstatement:
•Example:
for (Type variable : some collection ) {
statement or block;
}
public static void main(String[] args) {
String[] towns = new String[] {
"Sofia", "Plovdiv", "Varna" };
for (String town : towns) {
System.out.println(town);
}
}

Looping Statements
•The whileloop:
•Examples:
while (boolean condition) {
statement or block;
}
int i=100;
while (i>0) {
System.out.println("i=" + i);
i--;
}
while (true) {
// This is an infinite loop
}

Looping Statements
•The do/whileloop:
•Example:
do {
statement or block;
} while (boolean condition);
public static void main(String[] args) {
int counter=100;
do {
System.out.println("counter=" + counter);
counter = counter -5;
} while (counter>=0);
}

Special Loop Flow Control
•Some special operators valid in loops:
•break [label];
•continue [label];
•label: statement; // Where statement
should be a loop
•Example (breaking a loop):
for (int counter=100; counter>=0; counter -=5) {
System.out.println("counter=" + counter);
if (counter == 50)
break;
}

Special Loop Flow Control –
Examples
•Example (continuing a loop):
for (int counter=100; counter>=0; counter -=5) {
if (counter == 50) {
continue;
}
System.out.println("counter=" + counter);
}

Special Loop Flow Control –
Examples
•Example (breaking a loop with a label):
outerLoop:
for (int i=0; i<50; i++) {
for (int counter=100; counter>=0; counter -=5) {
System.out.println("counter=" + counter);
if ((i==2) && (counter == 50)) {
break outerLoop;
}
}
}

Comments
•Three permissible styles of comment in a
Java technology program are:
// comment on one line
/* comment on one
or more lines */
/** documenting comment */

Console Input and Output

Console Input/Output
•The input/output from the console is done
through 3 standard streams
•System.in–the standard input
•System.out–the standard output
•System.err–the standard error output
•To facilitate some operations additional
classes should be involved
•Scanner
•BufferedReader, InputStreamReader

Printing to the Console
•System.out.print(...)
•Can take as input different types
•String, int, float, Object, ...
•Non-string types are converted to String
•System.out.println(...)
•Like print(...)but moves to the next line
System.out.print(3.14159);
System.out.println("Welcome to Java");
int i=5;
System.out.println("i=" + i);

Reading from the Console
•First construct a Scannerthat is attached to
the “standard input stream” System.in
•Then use various methods of the Scanner
class to read input
•nextLine() String
•Reads a line of input
•next() String
•Reads a single word delimited by whitespace
Scanner in = new Scanner(System.in);

Reading from the Console
•Scanner–more methods
•nextInt() int
•Reads an intvalue. Throws
InputMismatchException on error
•nextLong() long
•nextFloat() float
•Reads afloatvalue. Throws
InputMismatchException on error
•nextDouble() double

Scanner –Example
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
// Get the first input
System.out.print("What is your name? ");
String name = console.nextLine();
// Get the second input
System.out.print("How old are you? ");
int age = console.nextInt();
// Display output on the console
System.out.println("Hello, " + name + ". " +
"Next year, you'll be " + (age + 1));
}
}

Formatting Output
•System.out.printf(<format>, <values>)
•Like the printffunction in Clanguage
•Some formatting patterns
•%s –Display as string%f –Display as float
•%d –Display as number %t –Display as date
* For more details see java.util.Formatter
String name = "Nakov";
int age = 25;
System.out.printf(
"My name is %s.\nI am %d years old.",
name, age);

Arrays and Array
Manipulation

Creating Arrays
•To create and use an array, follow three
steps:
1. Declaration
2. Construction
3. Initialization
4. Access to Elements

Array Declaration
•Declaration tells the compiler the array’s
name and what type its elements will be
•For example:
•The square brackets can come before or
after the array variable name:
int[] ints;
Dimensions[] dims;
float[][] twoDimensions;
int ints[];

Array Construction
•The declaration does not specify the size of
an array
•Size is specified at runtime, when the array
is allocated via the newkeyword
•For example:
•Declaration and construction may be
performed in a single line:
int[] ints; // Declaration
ints = new int[25]; // Construction
int[] ints = new int[25];

Array Initialization
•When an array is constructed, its elements
are automatically initialized to their default
values
•These defaults are the same as for object
member variables
•Numerical elements are initialized to 0
•Non-numeric elements are initialized to 0-
like values, as shown in the next slide

Elements Initialization
Element Type Initial Value
byte 0
int 0
float 0.0f
char ‘\u0000’
object referencenull
short 0
long 0L
double 0.0d
boolean false

Array Elements Initialization
•Initial values for the elements can be
specified at the time of declaration and
initialization:
•The array size is inferred from the number
of elements within the curly braces
float[] diameters =
{1.1f, 2.2f, 3.3f, 4.4f, 5.5f};

Access to Elements
•Accessing array elements:
•Elements access is range checked
•Arrays has field lengththat contains their
number of elements
int[] arr = new int[10];
arr[3] = 5; // Writing element
int value = arr[3]; // Reading element
int[] arr = new int[10];
int value = arr[10];
// ArrayIndexOutOfBoundsException

Arrays –Example
// Finding the smallest and largest
// elements in an array
int[] values = {3,2,4,5,6,12,4,5,7};
int min = values[0];
int max = values[0];
for (int i=1; i<values.length; i++) {
if (values[i] < min) {
min = values[i];
} else if (values[i] > max) {
max = values[i];
}
}
System.out.printf("MIN=%d \n", min);
System.out.printf("MAX=%d \n", max);

Multi-dimensionalArrays
•Multidimensional arrays in Java are actually
arrays of arrays
•Defining matrix:
•Accessing matrix elements:
•Getting the number of rows/columns:
int[][] matrix = new int[3][4];
matrix[1][3] = 42;
int rows = matrix.length;
int colsInFirstRow = matrix[0].length;

Multi-dimensionalArrays
•Consider this declaration plus initialization:
•It’s natural to assume that the myInts
contains 12 ints and to imagine them as
organized intorows and columns, as shown:
WRONG!
int[][] myInts = new int[3][4];

Multi-dimensionalArrays
•The right way to
think about multi-
dimension arrays
CORRECT!

Multi-dimensionalArrays
•The subordinate
arrays in a multi-
dimension array don’t
have to all be the
same length
•Such an array may be
created like this:
int[][] myInts = { {1, 2, 3},
{91, 92, 93, 94},
{2001, 2002} };

Multi-dimensionalArrays–
Example
// Finding the sum of all positive
// cells from the matrix
int[][] matrix =
{{2,4,-3},
{8,-1,6}};
int sum = 0;
for (int row=0; row<matrix.length; row++) {
for (int col=0; col<matrix[row].length;
col++) {
if (matrix[row][col] > 0) {
sum += matrix[row][col];
}
}
}
System.out.println("Sum = " + sum);

Questions?
Introduction to Java
Programming

Exercises
1.Write an expression that checks if given integer
is odd or even.
2.Write a boolean expression that for given
integer checks if it can be divided (without
remainder) by 7 and 5.
3.Write an expression that checks if a given
integer has 7 for its third digit (right-to-left).
4.Write a boolean expression for finding if the bit
3 of a given integer is 1 or 0.
5.Write a program that for a given width and
height of a rectangle, outputs the values of the
its surface and perimeter.

Exercises
6.Write a program that asks the user for a four-
digit number abcdand:
1.Calculates the sum of its digits
2.Prints its digits in reverse order: dcba
3.Puts the last digit in at the front: dabc
4.Changes the position of the second and third
digits: acbd
7.Write an expression that checks if a given
number n(n≤ 100) is a prime number.
8.Write a boolean expression that returns trueif
the bit at position pin a given integer vis 1.
Example: if v=5 and p=1, return false.

Exercises
9.Write a program that reads 3 integer numbers
from the console and prints their sum.
10.Write a program that reads the radius rof a
circle and prints its perimeter and area.
11.A company has name, address, phone number,
fax number, Web site and manager. The
manager has first name, last name and a phone
number. Write a program that reads the
information about a company and its manager
and prints it on the console.

Exercises
12.Write a program that reads from the console
two integer numbers and prints how many
numbers exist between them, such that the
reminder of the division by 5 is 0.
13.Write a program that gets two numbers from
the console and prints the greater of them.
Don’t use if statements.
14.Write a program that reads 5 numbers and
prints the greatest of them.
15.Write a program that reads 5 numbers and
prints their sum.

Exercises
16.Write an ifstatement that examines two
integer variables and exchanges their values if
the first one is greater than the second one.
17.Write a program that shows the sign (+ or -) of
the product of three real numbers without
calculating it. Use sequence of ifstatements.
18.Write a program that finds the biggest of three
integers using nested ifstatements.
19.Write a program that sorts 3 real values in
descending order using nested ifstatements.

Exercises
20.Write program that for a given digit (0-9)
entered as input prints the name of that digit (in
Bulgarian). Use a switchstatement.
Tags