Download Introduction to Java - Florida International University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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’
Related documents