3. What is Java?
• A high-level programming language
• Useful for developing business applications
• Java Development Kit download:
http://www.oracle.com/technetwork/java/jav
ase/downloads/index.html
• Case sensitive
4. What is DrJava?
• A programming tool used for writing code in
Java
• Can be downloaded from www.drjava.org
• Simple and easy to use for beginners
6. Typical Java Code Skeleton
public class Program{
public static void main(String[] args) {
// your main code goes here
7. Comments
• Sometimes you may want to add some notes
to your Java code, without any effect to the
code.
• In this case, you can write comments.
Two ways:
– System.out.println("test"); // print a test string
– /*
This is a multiple-line comment.
More line
Even more line
Blah blah
*/
8. Simple Program
public class Program {
public static void main(String[] args) {
System.out.println(“Hello!! JPC#8");
}
}
OUTPUT:
Hello!! JPC#8
9. Basic Arithmetics
public class Program {
public static void main(String[] args) {
System.out.println(1 + 2);
}
}
OUTPUT:
3
10. Basic Arithmetics
•
•
•
•
•
Addition: 2 + 3
Subtraction: 4 - 5
Multiplication: 6 * 7
Division: 8 / 4
Remainder: 5 % 3
How about 2 + 3 * 4 ?
• Does precedence matter?
• Can we solve precedence with parentheses?
14. Declaring and Using Variables
Name of variables
- Not preserve words
- Must begin with letters or ‘_’ or ‘$’
<data_type> <variable name>;
- Example:
int x ;
double pi_1 ;
char ch2
boolean a ;
15. Declaring and Using Variables
Assignment
- Variable or numeric primitive type
- Combination of values and/or variable with
numeric operators
<variable_name> = <variable or value>
- Example:
x = 10 ;
pi = 3.14159 + 0.11 ;
char a = „b‟ ;
y = x ;
16. Declaring and Using Variables
int x;
int y;
int z;
x = 2;
y = 5;
z = x + y;
System.out.println(x + " + “ + y + " = “ + z);
OUTPUT:
2 + 5 = 7
23. Type conversion
Use only primitive data type except boolean
- (<type>)<expression>
casting
=
Ex.
int i = „a‟; //
i
a
x
y
=
=
=
=
i = 97
(int)‟B‟; // i = 66
(char)80 ; // a = „P‟
(int)1.2 ; // x = 1
(double)2; // y = 2.0
• The variable to keep converted type value must be
the type that can keep the value.
24. Character and String
• Use char type to keep an ASCII character
• Use String type to keep characters (text)
• char type is capable with arithmetic operator
Example:
char ch = „B‟;
System.out.println((char)(ch + 1)); // „C‟
String s = “This is a sentence.”;
25. Getting Inputs from the User
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
x = x * 2;
System.out.println(x);
}
}
INPUT:
5
OUTPUT: 10
26. Multiple Inputs
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
System.out.println(x);
System.out.println(y);
}
}
INPUT:
1
OUTPUT:
1
2
2
27. Inputting Text
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = sc.nextLine();
System.out.println("Hello, "+ name + "!");
}
}
INPUT:
John
OUTPUT: Hello, John!
28. Give it a try!
• Write a program to get 2 numbers from the user and
output the sum, the difference, the product, and the
quotient of those 2 numbers.
• Hint: Follow the previous example.
INPUT:
OUTPUT:
7
5
7
7
7
7
+
*
/
5
5
5
5
=
=
=
=
12
2
35
1.4
31. Introducing boolean Data Type
• Normally you can use int to store integer
numbers, double to store floating-point
numbers.
• What if all you want is to store a truth
value: either true or false?
Answer: use boolean data type
32. Boolean Expressions
• Expression that return boolean value
(True/False)
• Operators:
-
<
-!
<=
- &&
>
- ||
>=
-^
== (not same with one = the assignment operator)
!=
• Precedence matters.
33. Do/Don’t?
• Sometimes you will want your program
to decide whether to do something or
not based on some conditions.
34. General Form of if
if(condition) {
statements to do if condition is true
}
35. If This Then Do That
if (1 == 2) {
System.out.println("1 is equal to 2");
if (1 != 2) {
System.out.println("1 is not equal to 2");
OUTPUT:
1 is not equal to 2
36. General Form of if-else
if(condition) {
statements to do if condition is true
} else{
statements to do if condition is false
}
37. Do This or That
if (1 == 2) {
System.out.println("1 is equal to 2");
} else {
System.out.println("1 is not equal to 2");
}
OUTPUT:
1 is not equal to 2
38. General Form of if-elseif-else
if(condition 1) {
statements to do if condition 1 is true
} else if (condition 2) {
statements to do if condition 2 is true
} else if (condition 3) {
statements to do if condition 3 is true
} else{
statements to do if none of the conditions is
true
}
// You can have as many conditions as you like!
39. Do This or This, otherwise That
if (3 < 2) {
System.out.println("3 is less than 2");
} else if (3 > 2) {
System.out.println("3 is greater than 2");
} else{
System.out.println("3 is equal to 2");
}
OUTPUT:
3 is greater than 2
40. Using boolean Data Type
boolean check = (1 < 2);
if(check) {
System.out.println("1 < 2");
} else{
System.out.println("1 >= 2");
}
• The condition part of the if statement can be a
boolean expression (1 < 2) or a boolean variable
(check)!
41. Condition with Multiple Cases
• In some cases, you may need multiple
condition statements to achieve your goals.
• Writing them as multiple else-if statements
can be tedious.
• Use of switch statement is recommended
(with some exceptions).
42. General Form of switch
switch (expression) {
// expression can be int, char, or boolean
case value1:
statements to do when expression == value1
break;
case value2:
statements to do when expression == value2
break;
// add more cases as needed
default:
statements to do when nothing above matches
}
43. Example Usage of switch
// imported Scanner and instantiated one
System.out.print("Enter a number between 1 –3: ");
int x = sc.nextInt();
switch (x) {
case 1 : System.out.println("Entered 1");
break;
case 2 : System.out.println("Entered 2");
break;
case 3 : System.out.println("Entered 3");
break;
default: System.out.println("Entered else...");
}
44. Conditional Operator
• Also known as expression shortcut
• General form:
expression ? value_true : value_false
45. Conditional Operator
Instead of writing
int x = 0;
int y;
if(x == 0) {
y = 0;
} else {
y = x;
}
You can also use this:
int x = 0;
int y = x == 0 ? 0 : x;
46. Give it a try!
• Write a program to get 3 numbers: x, y, and z. The
program should output whether x + y = z or not.
• Can you do this with a switch statement?
INPUT:
3
4
8
OUTPUT:
3 + 4 != 8
48. Iteration Fundamentals
• Sometimes you need to do certain things over
and over again, probably in the same or
similar manner.
• Writing 1000 Java statements to display
numbers 1 to 1000 is not feasible: you
wouldn't want to try to copy-and-paste the
code thousand times.
• In this case, you can make use of the iteration
feature of Java instead.
49. General Form of while
while (condition) {
statements to do while the condition is true
}
50. Example While 1-100
int i= 1;
while (i<= 100) {
System.out.println(i);
i= i+ 1;
}
OUTPUT:
1
2
3
…
100
51. Infinite Loop
• Get stuck in an infinite loop because
condition to exit the loop is tend to never met.
• Should use condition that can exit the loop.
(e.g.: exit when a value of variable exceed
max, when the value hit 0 or something)
52. General Form of do-while
do{
statements to do, and to continue to do while
the condition is true
} while (condition);
53. Example Do-while 1-100
int i= 1;
do {
System.out.println(i);
i= i+ 1;
} while (i <= 100);
OUTPUT:
1
2
3
…
100
54. While and do-while differences
• For the while loop, the condition is checked
before any statement is executed. Therefore, if
the condition is false in the first place, no
statement in the loop will be executed.
• For the do-while loop, in contrast, the
statements in the loop are executed once at
first. Then, for each iteration, the condition is
checked in the same way as in the while loop.
55. General Form of for
for (initialization; condition; iteration) {
statements to do as long as condition is true
}
56. 1 –100 using for
Use
for (int i = 1; i <= 100; i++) {
System.out.println(i);
}
Instead of
int i= 1;
while (i<= 1000) {
System.out.println(i);
i++; // Same as i= i+ 1;
}
• Each type of loop can be written in another type of
loop equivalently
57. Give it a try!
• Write a game that let the player "guess" a random number
generated by the computer between 1 and 100. Each turn,
display whether the input number is less than or greater than
the random one. Game ends when the player guesses
correctly. Otherwise, keep asking for another number.
• To random a number between 5 to 70:
– int x = (int) (Math.random() * (70 – 5 + 1) + 5);
• Optional features:
– The allowed min and max should change accordingly for
each turn. For example, if the random number is 40, and
the user guesses 50, the game should now allow only
numbers between 1 and 49 in the next turn.