1 / 22

Java Basics

Java Basics. Java. High-level language More readable for humans Need to be translated to machine language for execution Compilers CPU-independent t ranslation can target different CPUs (machine languages) Designed by Sun Microsystems in 1995 Sun was bought by Oracle in 2010

jaimin
Télécharger la présentation

Java Basics

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. Java Basics

  2. Java • High-level language • More readable for humans • Need to be translated to machine language for execution • Compilers • CPU-independent • translation can target different CPUs (machine languages) • Designed by Sun Microsystems in 1995 • Sun was bought by Oracle in 2010 • Designed with internet in mind • Can run in a web browser

  3. Storing Data • To store data • we need to allocate space in the memory • Declare (specify) • Type • what kind of data • Name • we can refer to it later • Essentially a named location in the memory

  4. Types • int • (signed) integer • double • double-precision floating point number • boolean • true or false • char • character

  5. Names (“Identifiers”) • Starts with a letter • After that, can include • letter • digit • Can these be names? • numberOfStudents • five5 • 55 • 5five • Case sensitive • Balance and balance are different names • Meaningful names improve readability • reduce mistakes

  6. The Famous/Weird Semicolon • Semicolon • Is similar to a period after a sentence in English • End of one instruction • Period is used to mean something else in Java • Allocating space (“declaration”): intnumberOfStudents; double temperature, humidity, pressure; boolean sunny, hurricane; char letterGrade; • They are usually called variables similar to math • How do we vary/change the value?

  7. Changing Values • Assignment • = • Equal sign, but doesn’t mean equal as in math • x = 97.5; • Means assign 97.5 to x (or store 97.5 in x) • Doesn’t mean we state x is equal to 97.5

  8. Changing Values • Assignment • = • Equal sign, but doesn’t mean equal as in math • x = 97.5; • Means assign 97.5 to x (or store 97.5 in x) • Doesn’t mean we state x is equal to 97.5 • x = 97.5 + x; • Why is this impossible in math? • What does this mean in Java?

  9. Changing boolean and char variables boolean sunny; sunny = false; char letterGrade; letterGrade = ’A’;

  10. Initializing Variables • Combining • Declaring a variable (allocating space) and • Assigning an initial value intnumberOfStudents = 15; double gpa = 3.14; char letterGrade = ’A’; boolean sunny = true;

  11. Manipulating Data • Operators • Arithmetic • Relational • Logical

  12. Arithmetic Operators • + • - • * • / • % • modulo/reminder • 5 % 2 is 1 • x++ , x-- • Increment x (int) , decrement x (int) • Yields a number

  13. Arithmetic: Division with Integers • Math: 5 / 2 is 2.5 • Java • “integer division”—both values/operands are integers • 5 / 2 has an integer value -- floor of 5/2 • 5 / 2 is 2 [sometimes this is useful] • If we want a floating point value (2.5) • 5 / 2.0 , 5.0 / 2 , or … • Be careful • int x = 5 / 2.0 ; • x has 2 because 2.5 can’t fit into an int variable

  14. Relational Operators • < • <= • > • >= • == • != • Yields true or false value • 5 < 2 • yields false • not stating 5 is less than 2 (in math), which is impossible • x == 2 • Means what?

  15. Logical Operators • && • and • || • or • ! • not • Yields true or false value • true && false is false • !(5 > 2) is false

  16. Precedence/Ordering of Operators • x < y + z • (x < y)+ z • x < (y + z)

  17. Precedence/Ordering of Operators • x < y + z • (x < y)+ z • x < (y + z) • x < y + z && y < z • x < (y + z) && y < z • ((x < (y + z))&& y)< z • (x < (y + z))&& (y < z)

  18. Precedence/Ordering of Operators • Quite natural • Arithmetic (calculate numbers) before • Relational (compare numbers) before • Logical (combine boolean--true/false values) • If not sure, add parentheses

  19. Comments • Ignore by the compiler • Improves readability, fewer mistakes // describe something that is not obvious /* this is a multi-line comment */

  20. Math Constants and Functions Math.PI, Math.E Math.abs(x) Math.sqrt(x), Math.pow(x, exp) Math.log(x), Math.log10(x) Math.sin(x), Math.cos(x), Math.tan(x) // radians Math.asin(x), Math.acos(x), Math.atan(x) Math.random() // 0 <= num < 1

  21. Input from the Keyboard We’ll usually provide templates for input Scanner keyboard = new Scanner(System.in); x = keyboard.nextInt(); y = keyboard.nextDouble();

  22. Output to the Screen • System.out.println( … ); • Print the parameter followed by a new line • Examples: System.out.println(15); System.out.println(x); System.out.println(“Hello!”); // “string” • System.out.print( … ); • Print the parameter without a new line

More Related