Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Introduction to Java
Main()
• Main method is where the program execution
begins.
• There is only one main
• Displaying the results:
System.out.println (“Hi there!”);
System.out.println(5+6);
Operators
• Relational operators
• Result is either true or false
– Equal
==
– Less than
<
– Less than or equal
– Larger than >
– Larger than or equal
• 7 >= 8 is true
• 6 == 9 is false
<=
>=
Operators
• Arithmetic operators
–
–
–
–
–
Add
Subtract
Multiply
Divide
Remainder
•
•
•
•
+
*
/
%
System.out.println(5 + 9);
System.out.println (8 / 2);
System.out.println(8 % 3);
System.out.println(8 / 3);
variables
• Variables are used to store and recall results of
computations.
a=5;
b=7;
C=4;
System.out.println(a+b+c);
variables
• Variables are used to store and recall results of
computations.
a=5;
b=7;
c=4;
System.out.println(a+b+c);
c=c+a;
System.out.println(a+b+c);
variables
• Variables must be declared (defined)
• Variables have types
– int (whole numbers)
– double (decimal )
• int a;
• double b;
variables
• Variable declaration maps the variable name to a unique memory
location
– The value of the mapped memory location can be:
• changed
(assignment)
a=5;
• looked up
System.out.println(a);
b=a*0.10;
Strings
• A sequence of 0 or more characters
String s = "java";
• First character is at position 0;
• Characters are accessed via charAt
– s.charAt(1) returns 'a' //character 'a' not string
"a"
Control structures
if (condition)
stmt1
stmt2
// if condition is true, then stmt1 is
// executed. If condition is not true, then
// stmt1 not executed
condition is true:
stmt1
stmt2
condition is false:
stmt2
Control structures
if ( a > b)
System.out.writeln(“a is larger than b”);
System.out.println(“done!!”);
a=8;
b=3;
a > b is true
a=5;
b=7;
a > b is false
output: a is larger than b
done!!
output: done!!
Control structures
if (condition)
stmt1
else
stmt2
stmt3
// if condition is true, then stmt1 is
// executed and stmt2 is not executed.
// If condition is not true (is false), then
// stmt1 is not executed and stmt2 is executed
condition is true:
stmt1
stmt3
condition is false:
stmt2
stmt3
Control structures
if ( a > b)
System.out.writeln(“a is larger than b”);
else
System.out.writeln(“a is less than b”);
System.out.println(“done!!”);
a=8;
b=3;
a > b is true
output: a is larger than b
done!!
a=5;
b=7;
a > b is false
output: a is less than b
done!!
Control structures
• More than one statement in the then-part?
If ( a > b ) {
System.out.println(a);
System.out.println(b);
System.out.println(“a is larger than b”);
}
Control structures
• More than one statement in the else-part?
If ( a > b )
System.out.println(a-b);
else {
System.out.println(a);
System.out.println(b);
System.out.println(“a is less than b”);
}
Control structures
• More than one statement in the then-part and
else-part?
If (cond) {
…
}
else {
…
}
Control structures
• Exercise:
– Level of service indicates how happy we where
with the service we received in a restaurant ( 1 –
10)
– Bill is the amount of our bill;
– Tip is 10% if the service level was less than 5;
– Tip is 15% if the service level is 5 or higher;
Control structures
level = 7;
amount = 23.97;
what are the types?
Complete the program
Control structures
int level = 7;
double amount = 23.97;
double topRate, total;
if (level < 5)
tipRate=0.1;
else
tipRate=0.15;
total = amount + amount *tipRate;
System.out.println(total);
input
• JOptionPane class
• JOptionPane.showInputDialog(null, “Enter the amount”);
• Returns the value typed in the text box (as String)
input
String s;
s=JOptionPane.showInputDialog(null, “Enter the amount”);
double amount;
amount=Double.parseDouble(s);
For Loops
• Loops are used to repeat a part of the
program.
for (int i=0; i < 10; i=i+1)
System.out.print(i);
Displays:
123456789
For Loops
for (initialization; condition; step)
body
for ( int i=0;
i < 10;
i=i+1 )
System.out.println(i);
For Loops
for (initialization; condition; step)
body
– initialization is executed only once when the loop
starts
– Condition is evaluated.
• If condition is true:
– body is executed
– Step is executed after completion of body
– Condition is evaluated as in above
• If condition is false
– body is not executed – execution is continued right after the body
For Loops
for (int i=0; i < 3; i=i+1)
System.out.println(i);
System.out.println(“done”);
1: allocate an integer variable, i, and assign 0 to it
2: evaluate the condition i < 3;
i < 3 is true;
execute loop body
output: 0
3: execute i=i+1; I becomes 1
4: evaluate the condition i < 3;
i < 3 is true;
execute loop body
output: 1
For Loops
for (int i=0; i < 3; i=i+1)
System.out.println(i);
System.out.println(“done”);
5: execute i=i+1; i becomes 2
2: evaluate the condition i < 3;
i < 3 is true;
execute loop body
output: 2
3: execute i=i+1; I becomes 3
4: evaluate the condition i < 3;
i < 3 is false;
continue execution right after the loop body
output: “done!”
loops
• Write a for loop that displays
1, 3, 5, … 99
for (int i = 1; i < 100; i = i + 2)
System.out.println(i);
• Write a for loop that displays
99, 97, 95, … 1
for (int i = 99; i > 0; i = i - 2)
System.out.println(i);
loops
• Read a sequence of integers until zero is
entered and display the sum of all the
numbers that were read
– Read and keep a running total until a zero is read!!
Scanner in = new Scanner (System.in);
int sum=0;
System.out.println("Enter the next value ");
for (int next= in.nextInt(); next > 0; next = in.nextInt()) {
sum = sum+next;
System.out.println("Enter the next value ");
}
Who understands
this?
Scanner in = new Scanner (System.in);
int sum=0;
int next;
System.out.println("Enter the next value");
next = in.nextInt();
while (next > 0) {
sum = sum + next;
System.out.println("Enter the next value");
next = in.nextInt();
}
System.out.println("Sum = " + sum);
Who understands
this?
while loop
while (condition)
body
1. Condition is evaluated.
• If condition is true:
– body is executed, and then step 1 is repeated.
• If condition is false
– body is not executed – execution is continued right after the
body
while loop
• Write a while loop that displays
1, 3, 5, … 99
int value=1;
while (value <= 99) {
System.out.println(value);
value = value +2
}
while loop
• Write a while loop that displays
99, 97, 95, … 1
int value=99;
while (value >= 1) {
System.out.println(value);
value = value - 2;
}
while loop
• Write a while loop that displays
1, 3, 5, … 99, except the numbers that are divisible by 5
int value = 1;
while (value <= 99) {
if (value % 5 != 0)
System.out.println(value);
value = value + 1;
}
loops
• Let s be a String
• Write a program that
• 1:
– displays number of occurrences of letter a in s that
appear before letter x in s
– in case s does not contain letter x, the program must
display 0.
• 2:
– Displays s in reverse order
String s = "abbcdbz";
char x = 'f';
char a = 'd';
int i = 0;
int count = 0;
while (i < s.length()) {
if (s.charAt(i) == a) {
count = count + 1;
}
if (s.charAt(i) == x)
break;
// exit the loop
i = i + 1;
}
if (i == s.length()) { // came out of the loop because we didn't see x
count = 0;
}
System.out.println(count);
for (i=s.length()-1; i>=0; i=i-1)
System.out.print(s.charAt(i));
System.out.println();
Break
• Break statement exits the loop
while (condition1) {
…
if (condition2)
break; // continue execution from right
// after the end of the loop (stmt1)
…
}
stmt1
break
•
Write all prime numbers between 10 and 1000
boolean prime;
int i, j;
for (i=10; i<1000; i=i+1) {
prime=true;
for (j=2; j<i; j=j+1)
if (i%j == 0) {
prime=false;
break;
}
if (prime)
System.out.println(j);
}
}
//pick all numbers between 10 and1000
// i is not a prime number exit the loop
Write a method:
int getGCD(int m, int n)
that returns the largest integer that divides both m
and n
Public static int getGCD(int m, int n) {
boolean found = false;
if (m > n) {
gcd = n;
} else {
gcd = m;
}
while (!found) {
if (m % gcd == 0 && n % gcd == 0) {
found = true;
} else {
gcd = gcd - 1;
}
}
return gcd;
}
Write a boolean method that given an integer m
returns true if m is a prime number;
Test:
Scanner inp = new Scanner(System.in);
int x = inp.nextInt();
if (isPrime(x)) {
System.out.println(x + " is a prime number");
} else {
System.out.println(x + " is not a prime number");
}
• Write an integer method that given an integer,
m, returns the smallest prime number that is
larger than n
Test:
Scanner inp = new Scanner(System.in);
int n = inp.nextInt();
System.out.println(nextPrime(n));
• Write a method:
int countVowels (String s)
that for a given string s, returns number of vowels in
s
• Write a method:
void multiplication (int n)
that for a given parameter n displays a nxn
multiplication table
• Write a method:
void triangle1 (int n)
that for a given parameter n displays:
1
1
1
1
1
1
2
2
2
2
2
3
3 4
3 4 5
3 4 5 6
• Write a method:
void triangle2 (int n)
that for a given parameter n displays:
1
2
3
4
5
6
1
2
3
4
5
1
2 1
3 2 1
4 3 2 1
• Write a method:
void triangle3 (int n)
that for a given parameter n displays:
1
2
3
4
5
6
4
6 9
8 12 16
10 15 20 25
12 18 24 30 36
• Write a method:
char mostOftenIn(String s)
that for a given string s, returns the character that
occurs most often in s.
For example for s = “abcaabbcb”
mostOftenIn(s) must return ‘b’