Download Week 2 slides

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
Fundamental concepts
in Java
Lesson plan
• Variable declaration, assign statement &
practice
• Design document & practice
Numeric data
Variable declaration:
<data type> <variable_name>;
If more than one variable has the same
data type:
<data type> <name1>, <name2>..;
/**
* Sample program …
**/
import javax.swing.*;
import java.text.*;
Variable
Declaration
public class LoanCalculator{
public static void main(String[] args) {
double loanAmount; // represents the amount being borrowed
double annualInterestRate; // represents the interest rate annually
double monthlyPayment; // represents the amount of money one has to
double totalPayment; // represents the amount of money one has to pay
int loanPeriod; // represents the number of years of the loan
String inputStr; // is a place holder to get input value from a user
…..
Six numerical data types
•
•
•
•
•
•
byte: -128 to 127
short:-32768 to 32767 (-215 to 215-1)
int: -231 to 231-1
long: -263 to 263-1
float: -3.4E+38 to 3.4E+38
double:-1.797E+308 to 1.797E+308
Assignment statement
<variable name> = <expression>;
Example:
x =2*5+6-1;
Variable names
• It must be a legal identifier.
• It must not be a keyword, a boolean
literal (true or false), or the reserved
word null.
• It must be unique within its scope.
Variable name (cont.)
• Legal identifier:be composed of letters,
numbers, _ and $. Identifiers may only begin
with a letter, _, or $.
• Keyword:
http://java.sun.com/docs/books/tutorial/java/nu
tsandbolts/_keywords.html
• Variable names begin with a lowercase letter
• Class names begin with an uppercase letter
Arithmetic Expression
• Any expression involving numerical value
is called arithmetic expression
For example:
x+15
y /16
Arithmetic operators
• Addition: +
x+y
• Subtraction: x-y
• Multiplication: *
x*y
• Division: /
x/y
• Modulo: %
x%y
Constant
/**
* Sample program …
**/
import javax.swing.*;
import java.text.*;
public class LoanCalculator{
public static void main(String[] args) {
final int MONTHS_IN_YEAR = 12;
// double loanAmount; // represents the amount being ..
int loanPeriod; // represents the number of years of the loan
String inputStr;
…..
inputStr = JOptionPane.showInputDialog(null,"Loan Amount
(dollars.cents):");
Constant and variables
• Constant:
– Value it contains doesn’t change
final int MONTHS_IN_YEAR = 12;
• Variables:
– Value it contains may vary
double loanAmount;
• loanAmount =0;
• loanAmount = 1000.99;
Formula representation
• X = 10
• Y=5
What are the values of:
sum = x+y
difference = x-y
product = x*y
quotient = x/y
remainder = x%y
24= Math.pow(2,4)
Practice
import javax.swing.*;
import java.text.*;
public class PrintProduct{
public static void main(String[] args) {
double first Number; // invalid variable name, space is in between
double 12_second%Number; //start with a number, % is not allowed
double _13_thirdNumber; //OK
double $product; // OK
firstNumber=10.12; //
12_second%Number=12.6;
product== first Number * 12_second%Number; //invalid assignment
}
}
Integer division and type casting
• Integer division:
– Integer/integer = integer, 7/2 = 3
– Integer/double = double, 7/2.0 = 3.5
– Double/integer = double, 7.0/2 = 3.5
• Type casting: a process that converts a value of
one data type to another data type.
Implicit casting
Explicit casting
Type casting (cont.)
• Implicit casting:
– Operand is converted from a lower to a
higher precision
– Higher precision: a data type with a larger
range of values
• Double has a higher precision than float
• Int has a higher precision than short
– Operand: can be a constant, variable,
method call or another arithmetic expression
Type casting (cont.)
• Explicit casting
– (<data type>) <expression>
– Example:
float result;
result = (float) ((3+5)/6);
and
result = ((float) (5+3))/6;
More formula representation
• xn
– Math.pow(x,n)
How about: (1+i)n
– Math.pow((1+i),n)
More formula representation
How about:


i
P V
n 
1  (1  i) 
P=V*(i/(1-(Math.pow(1+i,-n))))
LoanCalculator.java
• Steps:
– Describe the program/problem (optional)
– Get input from users
– Computation (compute monthly payment
and total payment)
– Display the results to users
Get input values from users
• Example:
inputStr = JOptionPane.showInputDialog(null,”<message>”);
If variable has double data type:
<variable_name> = Double.parseDouble(inputStr);
If variable has integer data type:
<variable_name> = Integer.parseInt(inputStr);
Get input values from users
Using System.in:
import java.io.*;
try {
InputStreamReader in = new InputStreamReader( System.in );
BufferedReader stdin = new BufferedReader( in );
System.out.print( "Loan amount (dollars.cents: " );
inputStr = stdin.readLine();
} catch(IOException e) {
System.out.println("Error in reading a user's input");
System.exit(-1);
}
loanAmount = Double.parseDouble(inputStr);
• …..
Display results to users
• System.out.println(“message :”+<variable name>);
Example:
System.out.println("Loan Amount: $"+ loanAmount);
System.out.println("Annual Interest Rate: "+
annualInterestRate +"%");
Design
• Identify classes based on naming
convention:
– Class name starts with Capital letter
Design
Class
LoanCalculator
JOptionPane
Purpose
-What is it?
Example: The main class
of the program
-What does it do?
It computes the monthly
payment and total
payment for a loan
-What is it? Java library
-What does it do?
It displays a dialog box to
get inputs from a user
Design
String
- What is it? Java library
- What does it do?
String manipulation, represents
a place holder for storing a
user’s inputs
DecimalFormat
- What is it? Java library
- What does it do?
Use to format numbers
Design
String
-What is it? Java library
-What does it do?
String manipulation, represents
a place holder for storing a
user’s inputs
DecimalFormat
-What is it? Java library
-What does it do?
Use to format numbers
Design
Double
-What is it? Java library
-What does it do
Represent double data type as an
object
Integer
-What is it? Java library
-What does it do?
Represent integer data type as an
object
Design
Math
-What is it? Java library
-What does it do?
Perform numeric operations
System
-What is it? Java library
-What does it do?
Print a message to the screen and
exit the program
Design
JOptionPane
System
DecimalFormat
LoanCalculator
String
Integer
Double
Math