Presentation is loading. Please wait.

Presentation is loading. Please wait.

HelloWorld.java import java.awt.*; public class HelloWorld extends

Similar presentations


Presentation on theme: "HelloWorld.java import java.awt.*; public class HelloWorld extends"— Presentation transcript:

1

2 HelloWorld.java import java.awt.*; public class HelloWorld extends
java.applet.Applet { TextField t; public void init() t = new TextField(50); t.setText(“Hello World!"); add(t); }

3 Java programs Java programs are created as text files using a text editor (like emacs) Save to disk with .java file extension HelloWorld.java The file contains characters (stored as bytes) file can be printed, displayed on monitor, or edited file cannot be directly executed (run) by the computer system Java must first translate the program into bytecodes before it can be run

4 Bytecodes Java bytecode machine instruction for the Java processor
Java compiler javac translates the source program into bytecodes Bytecode file has same name as the source program with a .class file extension: HelloWorld.class HelloWorld.java javac HelloWorld.class Java compiler source program Java bytecodes

5 Java Virtual Machine (JVM)
Bytecode (class) file will contain exactly the same bytecodes no matter what computer system is used Bytecode file is executed by a Java bytecode interpreter processor specific executable program Each type of computer system has its own Java interpreter that can run on that system Any computer system can execute Java bytecode programs if it has a Java interpreter Computers with Java interpreters are called Java Virtual Machines a “computer” with a Java processor that can run Java bytecodes

6 Java applets An applet is a Java bytecode program that runs on a Web browser Most newer Web browsers have Java interpreters Web pages on the Internet contain instructions that send Java bytecodes to your computer Web browser runs the Java applet with its built-in interpreter

7 Data types Computer memory stores arbitrary bit patterns
Meaning of a bit pattern depends on its use Pattern used for a particular string of bits is a data type values are any kind of data a computer can process all values are represented using some data type Example: What does the following pattern of 16 bits represent? No way to know without more information If data type is short (a Java type) it represents 103

8 Java data types Primitive
types of data that are so fundamental ways to represent them are built into Java Object built-in or user-defined

9 byte short int long float double char boolean
Primitive data types All primitive values belong to one of eight primitive types byte short int long float double char boolean Primitive data types use a fixed number of bytes four of these types designate different sizes of bounded integers: byte, short, int, long A programmer can not create new primitive data types Any data type you invent will be a type of object Most commonly used types in practice: int, boolean, and double

10 Java primitive data types
Primitive Type Description Range byte 8-bit integer -128 to 127 short 16-bit integer to 32767 int 32-bit integer to long 64-bit integer -263 to 263-1 float 32-bit floating point 10-46 to 1038 double 64-bit floating point to 10308 char Unicode character boolean Boolean variable false and true

11 Basic operators Operator Java Description Assignment =
assigns rhs to lhs Arithmetic +,-,*,/,% addition, subtraction, multiplication, division, remainder Unary -,++,-- negative, auto increment, auto decrement Equality ==, != equals to, not equals to Relational <,<=,>,>= less than, less than or equals to, greater than, greater than or equals to Logical &&,||,! AND, OR, NOT

12 type <variable-name> = <value>;
Variable declaration Declaration type <variable-name>; Declaration + initialization: type <variable-name> = <value>; Variable names any combination of letters, numbers, and the underscore character may not start with number may not be reserved word e.g. int, return, if, for, while may not be same as a subroutine name case-sensitive (num and Num are different)

13 Examples int x, y, z; int sum = 0; float f; double pi = 3.14;
char first = ‘T’, middle = ‘L’, last = ‘B’; char first = ‘T’; char middle = ‘L’; char last = ‘B’;

14 Operator precedence Evaluate a + b * c
multiplication first? a + (b * c) addition first? (a + b) * c Java solves this problem by assigning priorities to operators (operator precedence) operators with high priority are evaluated before operators with low priority operators with equal priority are evaluated left to right Operator priority (highest to lowest) ( ) * / % + - =

15 When in doubt, use parentheses
a + b * c = a + (b * c) because * has higher priority than + To perform the + operation first we need to use parentheses (a + b) * c If in any doubt use extra parentheses to ensure the correct order of evaluation parentheses are free! cause no extra work for the computer only make it easier for you to work out what is happening

16 Examples Java adheres to traditional order of operations
* and / have higher priority than + and – int x = * 6; (x = 33) int y = (3 + 5) * 6; (y = 48) Parentheses are free, use them liberally int z = ((3 + 5) * (6)); (z = 48) Equal priority operations are evaluated left-to-right in the absence of parentheses int w = 3 * 4 / 2 * 6; (w = 36) int x = 3 * 4 / (2 * 6); (x = 1) int y = 3 * * 6; (y = 24) int z = 3 * (4 + 2) * 6; (z = 108)

17 Syntax and semantics Addition, subtraction: + and –, int and double
int x = 21+4; (x = 25) double y = ; (y = 12.1) Multiplication: *, int and double int x = 21*4; (x = 84) double y = 14.1*2.5; (y = 35.25) Division: /, different for int and double int x = 21/4; (x = 5) double y = 21/4; (y = 5.0) double y = 21/4.0; (y = 5.25) Modulus: %, only for int int x = 21%4; (x = 1)

18 Automatic type conversion
Mixed type expressions are converted to higher compatible types If all operands are of type int then result is type int If any operand is of type double then result is of type double Cannot convert to a lower type Conversion may result in loss of precision Example: Convert Fahrenheit to Celsius double F=41.0; double C=(F-32.0)*(5/9); Question: What is the value of C? 5 0.0 9.0 5.0 9

19 More expressions int g = 12 + 2.5; int n = 1 – 2 * 3 – (4 + 5);
What is the value of g? 12 14 14.5 error int n = 1 – 2 * 3 – (4 + 5); What is the value of n? -4 -2 2 4 none of the above int x = 8 * (7 – 6 + 5) % (4 + 3 / 2) – 1; What is the value of x? -1 2 3 none of the above

20 Syntax errors The following Java subroutine computes the inclusive sum between two integers. Find all the syntax errors. int sumBetween( x, y ) { int z = x; Int sum = 1; while( z <= y ){ sum = sum*z; z++ }

21 Logic errors The computer will do precisely what you say even though it may not be what you want What is wrong with this code? int sumBetween( int x, int y ) { int z = x; int sum = 1; while( z <= y ) sum = sum*z; z++; }

22 Java objects Java is an object-oriented programming language
use objects to define both the data type and the operations that can be applied to the data Objects have attributes and functionality attributes describe the state of the object the functionality of an object is the set of actions the object can perform In Java, we define an object’s attributes using variables and its functionality using methods

23 Real-world objects Suppose we want to describe a car in terms of its attributes and functionality Attributes: int year; int mileage; String make; String model; boolean manual_transmission; Methods: void brake() int getMileage() boolean needsGas() void shift(int gear)

24 Java classes Java objects are created using classes Encapsulation
combining elements to create a new entity A class encapsulates the variables and methods that define an object Instantiation the act of creating an object objects are called class instances Java provides many predefined classes You can also define your own classes

25 Java String class The String class represents character strings
String first = “Tammy”; String last = “Bailey”; Strings can be concatenated (added together) using the concatenation operator + String fullname = first + “ ” + last; Testing for equality: first.equals(“Tammy”); /* returns true */ first.equals(“Amy”); /* returns false */

26 Instantiation Creating an object is called instantiation
the new operator is used with class name Example: Create a TextField object TextField t = new TextField(); Can create multiple instances of the same class TextField t1 = new TextField(); TextField t2 = new TextField(); Exception the new operator is not required when creating a String

27 Java TextField class The TextField class allows the editing and display of a single line of text TextField t = new TextField(); Methods setText(String s) set the text of the field to the string s String getText() get the text of the field and assign it to a variable of type string

28 Invoking an object’s methods
Once we create a text field, we can perform actions on it using its methods The variables and methods of an object are accessed using the dot operator TextField t = new TextField(); t.setText(“Hello”); Syntax object.verb(data); Perform verb on object using data

29 Interactive objects User interaction determines the behavior of the program Program receives user input through mouse and keyboard and performs associated method or action Text fields edit and display single line of text Buttons can specify action to occur when button is clicked

30 Action listeners If we want a button to know when it is clicked, we have to enable it to “listen” for user input Use the button method addActionListener Button b = new Button(“click!”); b.addActionListener(this); If we don’t invoke the addActionListener method on a button, nothing will happen when the button is clicked

31 Example We would like our applet to do the following:
get text from text field t1 and display it in text field t2 when button b is clicked TextField t1 = new TextField(); TextField t2 = new TextField(); Button b = new Button(“copy text”); b.addActionListener(this);

32 Actions We specify actions to occur when a button is clicked in the actionPerformed method public void actionPerformed(ActionEvent event) { Object cause = event.getSource(); if(cause == b) t2.setText(t1.getText()); }

33 Numeric input Suppose we want an applet that allows the user to enter two integers and display the minimum a text field contains a character string If we want to perform numeric operations on the input from a text field, we have to convert the string to a numeric data type numbers are primitive data types, not objects Can convert using Java type wrappers

34 Type wrappers Convert primitive types into objects Primitive Type
Wrapper Type byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean

35 String conversion Convert String str to byte b
byte b = Byte.parseByte(str); Convert String str to short s short s = Short.parseShort(str); Convert String str to int i int i = Integer.parseInt(str); Convert String str to long l long l = Long.parseLong(str); Convert String str to float f float f = Float.parseFloat(str); Convert String str to double d double d = Double.parseDouble(str);

36 Action performed for integer input
public void actionPerformed(ActionEvent event) { Object cause = event.getSource(); int x = Integer.parseInt(t1.getText()); int y = Integer.parseInt(t2.getText()); if(cause == b) int min = minimum(x,y); t3.setText(“The minimum is: ” + min); }


Download ppt "HelloWorld.java import java.awt.*; public class HelloWorld extends"

Similar presentations


Ads by Google