1 / 36

System development with Java

System development with Java. Lecture 2. Errors. A program can have three types of errors: Syntax and semantic errors – called compile-time errors Run-time errors – occur during program execution Logical errors. Errors.

meir
Download Presentation

System development with Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. System development with Java Lecture 2

  2. Errors • A program can have three types of errors: • Syntax and semantic errors – called compile-time errors • Run-time errors – occur during program execution • Logical errors Rina Zviel-Girshin @ASC

  3. Errors • Compile-time errors occur during program compilation and an executable version of the program is not created. • Run-time errors occur during program execution and cause abnormal program termination. • Logical errors occur during program execution and produce incorrect results. Rina Zviel-Girshin @ASC

  4. Java Syntax • To write without syntax mistakes you have to know Java syntax. Syntax - the study of the patterns of formation of sentences and phrases from words and of the rules for the formation of grammatical sentences in a language. Rina Zviel-Girshin @ASC

  5. Java Syntax • Case-sensitive • Semi-colon (;) is line terminator • Curly braces ({,}) used for block structure • Several keywords Rina Zviel-Girshin @ASC

  6. Comments There are two kinds of comments: •  /* text */ A traditional comment: all the text from the ASCII characters /* to the ASCII characters */ is ignored. •  // text  An end-of-line comment: all the text from the ASCII characters // to the end of the line is ignored. Rina Zviel-Girshin @ASC

  7. Comments Comments do not nest. • /* and */ have no special meaning in comments that begin with //. • // has no special meaning in comments that begin with /* or /**.  As a result, the text: /* this comment /* // /** ends here: */ is a single complete comment. Rina Zviel-Girshin @ASC

  8. Identifiers An identifier is: • an unlimited-length sequence of Java letters and Java digits, • the first of which must be a Java letter.  An identifier cannot have the same spelling (Unicode character sequence) as: • a keyword, • boolean literal, • the null literal Rina Zviel-Girshin @ASC

  9. Unicode • Letters and digits may be drawn from the entire Unicode character set (The character set that uses 16 bit per character). •  Identifier can be written in most writing scripts in use in the world today, including: • Hebrew, • Chinese, • Japanese, • Korean • Practically all languages Rina Zviel-Girshin @ASC

  10. Identifiers examples • Uppercase and lowercase are different. All the following are different identifiers: MY my My mY my1 Examples of identifiers are: String i3 isLetterOrDigit מונה MAX_VALUE Rina Zviel-Girshin @ASC

  11. Keywords The following are reserved words called keywords and cannot be used as identifiers: goto if implements import inner instanceof int interface long native new null operator outer package private protected public rest return short static super switch synchronized this throw throws transient true try var void volatile while abstract boolean break byte byvalue case cast catch char class const continue default do double else extends false final finally float for future generic Rina Zviel-Girshin @ASC

  12. True, False, Null While true and false might appear to be keywords, they are technically Boolean literals. Similarly, while null might appear to be a keyword, it is technically the null literal. Rina Zviel-Girshin @ASC

  13. Literals A literal is a source code representation of a value of: • a primitive type, • the String type, • the null type  Kinds of Literals:   IntegerLiteral FloatingPointLiteral BooleanLiteral CharacterLiteral StringLiteral NullLiteral   Rina Zviel-Girshin @ASC

  14. Integer Literals An integer literal may be expressed in: • decimal (base 10), • hexadecimal (base 16), • octal (base 8) Rina Zviel-Girshin @ASC

  15. Hexadecimal numeral • A hexadecimal numeral consists of the leading characters 0x or 0X followed by one or more hexadecimal digits. • It can represent a positive, zero, or negative integer. • Hexadecimal digits with values 10 through 15 are represented by the letters a through f or A through F, respectively.    HexDigit is one of: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F Rina Zviel-Girshin @ASC

  16. Octal numeral • An octal numeral consists of a digit 0 followed by one or more of the digits 0 through 7. • It can represent a positive, zero, or negative integer. •  Octal numerals always consist of two or more digits. Rina Zviel-Girshin @ASC

  17. Example Examples of int literals: 02 0372 0xDadaCafe 1996 0x00FF00FF • the same number in decimal octal hexadecimal: 3 03 0x3 15 017 0xF Rina Zviel-Girshin @ASC

  18. Zero • 0 is always considered to be a decimal numeral. •  The numerals 0, 00, and 0x0 all represent exactly the same integer value – zero value. Rina Zviel-Girshin @ASC

  19. Floating-Point Literals • A floating-point literal has the following parts: • a whole-number part, • a decimal point (represented by an ASCII period character), • a fractional part, • an exponent (is indicated by a letter e or E followed by an optionally signed integer), • and a type suffix. • At least one digit, in either the whole number or the fraction part, and either a decimal point, an exponent, or a float type suffix are required. All other parts are optional. Rina Zviel-Girshin @ASC

  20. Floating-Point Literals • A floating-point literal is of type float if it is suffixed with an ASCII letter F or f; otherwise its type is double and it can optionally be suffixed with an ASCII letter D or d. Examples of float literals: 1e1f 2.f .3f 0f 3.14f 6.022137e+23f   Examples of double literals: 1e12..30.03.14 Rina Zviel-Girshin @ASC

  21. Boolean Literals • The boolean type has two values, represented by the literals true and false • A boolean literal is always of type boolean.   BooleanLiteral is one of: true false   Rina Zviel-Girshin @ASC

  22. Character Literals • A character literal is expressed as a character or an escape sequence, enclosed in single quotes. • The single-quote, or apostrophe, character is \u0027 - . • A character literal is always of type char.   Examples of char literals: 'a‘ '%‘ '\t‘ '\\‘ '\u03a9‘ '\uFFFF‘ '\177' Rina Zviel-Girshin @ASC

  23. Unicode Character Type • A char value stores a single character from the Unicode character set. • The values range is between 0 and 65535. • The amount of memory it requires: 16 bit or 2 bytes. • The Unicode character set uses 16 bits per character. Rina Zviel-Girshin @ASC

  24. Part of the Unicode Set 0x0021 … 0x3041 … 0x05B0 … 0x77CD … … Rina Zviel-Girshin @ASC

  25. ASCII • The ASCII character set is still the basis for many other programming languages. • The ASCII character set uses 8 bits (one byte) per character. • ASCII is a subset of Unicode. Rina Zviel-Girshin @ASC

  26. Part of the ASCII Set 0x21 … …0xB9 Rina Zviel-Girshin @ASC

  27. String Literals • A string literal consists of zero or more characters enclosed in double quotes.   • A string literal is always of type String. Examples of string literals: "" // the empty string "This is a string" // a string containing 16 characters "This is a " + // actually a string-valued constant expression, "two-line string" // formed from two string literals Rina Zviel-Girshin @ASC

  28. Escape Sequences for Character and String Literals • The character and string escape sequences allow for the representation of some non-graphic characters as well as the single quote, double quote, and backslash characters in character literals and string literals. Rina Zviel-Girshin @ASC

  29. Escape Sequences for Character and String Literals   Escape Sequence: \ b /* \u0008: backspace BS */ \ t /* \u0009: horizontal tab HT */ \ n /* \u000a: linefeed LF */ \ f /* \u000c: form feed FF */ \ r /* \u000d: carriage return CR */ \ " /* \u0022: double quote " */ \ ' /* \u0027: single quote ' */ \ \ /* \u005c: backslash \ */ Rina Zviel-Girshin @ASC

  30. The Null Literal • The null type has one value, the null reference, represented by the literal null, which is formed from ASCII characters. • A null literal is always of the null type. Rina Zviel-Girshin @ASC

  31. Separators The following nine ASCII characters are the separators (punctuators):  ( )  { }  [ ]  ; , . Rina Zviel-Girshin @ASC

  32. Operators The following 37 tokens are the operators, formed from ASCII characters: = > < ! ~ ? : == <= >= != && || ++ -- + - * / & | ^ % << >> >>> += -= *= /= &= |= ^= %= Rina Zviel-Girshin @ASC

  33. Programming style • Java is a free-format language. • There are no syntax rules about how the program has to be arranged on a page. You can write entire program in one line. • But as a matter of good programming style, you should lay out your program on the page in a way that will make its structure as clear as possible. Rina Zviel-Girshin @ASC

  34. Programming style • Some advises: • Put one statement per line. • Use indentation to indicate statements that are contained inside control structures. • Write comments. • Give your variables names that make sense. Rina Zviel-Girshin @ASC

  35. Bad: public class Stam { public static void main(String args[]){ System.out.println("Hello!“);}} Better: // style example – outputs “Hello!” public class Hello { public static void main(String args[]) { System.out.println("Hello!"); } } Style Example Rina Zviel-Girshin @ASC

  36. Any Questions? Rina Zviel-Girshin @ASC

More Related