Download presentation
Presentation is loading. Please wait.
Published byDiana Mason Modified over 9 years ago
1
Modernās Programmēšanas Tehnoloģijas (Advanced Programming Technologies) Edgars Celms, Mārtiņš Opmanis (askola@mii.lu.lv) Latvijas Universitātes Matemātikas un informātikas institūts 2007, Rīga, Latvija
2
Ievads valodā JAVA I “Java™ How to Program, Sixth Edition” Chapter 1. Introduction to Computers, the Internet and the World Wide Web. Chapter 2. Introduction to Java Applications.
3
Valoda JAVA Java – universāla programmēšanas valoda. valoda, kurā var uzrakstīt dažāda “līmeņa” lietojumus Java 2 Platform, Standard Edition (J2SE) Java 2 Platform, Enterprise Edition (J2EE) large-scale, distributed networking applications and Web- based applications Java 2 Platform, Micro Edition (J2ME) developing applications for small, memory-constrained devices, such as cell phones, pagers and PDAs Raksti vienreiz, izpildi visur (WORA – Write Once, Run Anywhere). Valoda Java tiek pastāvīgi papildināta ar jaunām iespējām.
4
Valodas JAVA vēsture I 1991 – Sun Microsystems (James Gosling) Codename Green – first time called “Oak” Originally developed for intelligent consumer-electronic products such as – set top boxes, Microwaves, TV, etc. 1993 – WWW exploded in popularity Widely used with dynamic content (interactivity & animations) Current – used for Develop large scale enterprise applications Enhance WWW server functionality Provide applications for consumer devices Cellular phone, Palm, Personal Game, etc.
5
Valodas JAVA vēsture II (www.wikipedia.com) JDK 1.0 (1996) – Initial release. 212 classes, 8 packages. JDK 1.1 (1997) – Major additions, most notably the extensive retooling of the event model, as well as the introduction of inner classes. 504 classes, 23 packages. J2SE 1.2 (December 4, 1998) – Codename Playground. Major changes were made to the API (reflection was introduced, the Swing graphical API was integrated into the core classes, Collections API, etc) and to Sun's JVM (which was equipped with a JIT compiler). These had little impact on the language itself, however: the only change to the Java language was the addition of the keyword strictfp. This and subsequent releases were rebranded "Java 2", but this had no effect on any software version numbers. 1520 classes, 59 packages.
6
Valodas JAVA vēsture III J2SE 1.3 (May 8, 2000) – Codename Kestrel. The most notable changes were: HotSpot JVM, Remote Method Invocation (RMI) was changed to be based on CORBA, RMI/IIOP, Java Naming and Directory Interface (JNDI), Java Sound, etc 1842 classes, 76 packages. J2SE 1.4 (February 13, 2002) – Codename Merlin. As of 2004, the most widely used version. The most notable changes were: low-level I/O API, regular expressions (modeled after Perl regular expressions), logging, user preferences, XML-based persistence, DOM and SAX for XML parsing, SSL, security and cryptography extensions (JCE, JSSE, JAAS) were integrated into J2SE, image reading/writing, drag-and-drop for Swing, assert keyword, etc 2991 classes, 135 packages.
7
Valodas JAVA vēsture IV J2SE 5.0 (September 29, 2004) – Codename Tiger. (Originally numbered 1.5, which is still used as the internal version number.) Added a number of significant new language features: Generics – Provides compile-time type safety for collections and eliminates the need for most typecasts. Autoboxing/unboxing – Automatic conversions between primitive types (such as int ) and wrapper types (such as Integer ). Metadata – also called Annotations, allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities Enumerations – the enum keyword creates a typesafe, ordered list of values (such as Day.monday, Day.tuesday, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern). Enhanced for loop – the for loop syntax is extended with special syntax for iterating over each member of an array or Collection. >3000 classes
8
Valodas JAVA vēsture V Java SE 6 (December 11, 2006) – Codename Mustang. As of this version, Sun replaced the name "J2SE" with Java SE and dropped the ".0" from the version number. Web Services support in Java SE 6 (before it was partially available only in Java EE)
9
Valodas JAVA vēsture VII Java SE 6 (December 11, 2006) Scripting facilities in SE 6 Developer APIs to allow mixing of scripting code with your Java application A collection of scripting engines at scripting.dev.java.net that you can use with Java SE 6 The Rhino JavaScript engine in Java SE 6 Database Development facilities More Desktop APIs Monitoring and Management facilities
10
Valodas JAVA vēsture VIII Java SE 6 (December 11, 2006) Compiler Access Pluggable Annotations … Java SE 7 – Codename Dolphin. Project started up in August 2006, with release estimated in 2008.
11
J2SE 5.0 platforma Version 1.5.0 or 5.0 Both version numbers "1.5.0" and "5.0" are used to identify this release of the Java 2 Platform Standard Edition. Version "5.0" is the product version, while "1.5.0" is the developer version. The number "5.0" is used to better reflect the level of maturity, stability, scalability and security of the J2SE. The number "5.0" was arrived at by dropping the leading "1." from "1.5.0". Where you might have expected to see 1.5.0, it is now 5.0 (and where it was 1.5, it is now 5).
12
J2SE 5.0 platforma
13
Java™ Platform, Standard Edition 6 Java™ SE 6, Platform Name and Version Numbers At this release, the platform name has changed from J2SE™ to Java™ SE. The official name is Java™ Platform, Standard Edition 6. Both version numbers (1.6.0 and 6) are used to identify this release of the Java Platform. Version 6 is the product version, while 1.6.0 is the developer version. The number 6 is used to reflect the evolving level of maturity, stability, scalability and security of Java SE. Version 6 Used in Platform and Product Names Due to significant popularity within the Java developer community, "JDK" continues to be the acronym for the development kit, as does "JRE" for the runtime environment. Notice that "JDK" stands for "Java SE Development Kit" (to distinguish it from the Java EE Development Kit known as SDK). The name "Java Development Kit" is no longer used, and has not been offically used since 1.1, prior to the advent of Java EE and Java ME.
14
Java™ Platform, Standard Edition 6 JDK JRE Java SE API
15
Javas klašu bibliotēka Tiek saukta par Java APIs (Application Programming Interfaces) Liela klašu kolekcija Divas būtiskas lietas, kuras ir jāapgūst mācoties valodu Java Valoda Java Javas klašu bibliotēkas lietošana (http://java.sun.com/javase/6/docs/api/) Javas klašu bibliotēkas lietošana Vienu un to pašu var noprogrammēt daudzos dažādos veidos padoms programmētājiem rakstiet pēc iespējas vienkāršākas programmas (“KIS – keep it simple”) izmantojiet standarta risinājumus
16
C++ un daudzu citu kompilējamu valodu izpildes veids Compiler For Windows PC Your Program If x = 5 then… 1011 0011 PC with Windows Compiler For Mac 0011 1111 Mac Source Code
17
Javas virtuālā mašīna (Java Virtual Machine) Java Compiler Your Program If x = 5 then… 1011 0011 PC with Windows ByteCode Windows JVMMac JVM 0011 1111 Mac Source Code
18
Tipiska Javas izstrādes vide Edit Edit & Store a file - Extension. java Compile Creates bytecodes & Stores a file - Extension.class Load Class loader -put. class file in memory Verify Verify bytecodes & Validate for Java’s security violations Translate bytecodes into a machine language Execute the program - display or store data values
19
Tipiska Javas izstrādes vide Bilde no – “Java™ How to Program, Sixth Edition”. H. M. Deitel - Deitel & Associates, Inc., P. J. Deitel - Deitel & Associates, Inc.
20
Java SE 6 instalēšana Java SE 6– http://java.sun.com/javase/downloads/index.jsp Java SE 6 Vajag lejuplādēt to kas ir atrodams pie (03.09.2007): Turpat var lejuplādēt arī “JDK 6 Update 2 with NetBeans 5.5.1”, tad jums papildus būs pieejama arī IDE programmēšanai Javā (NetBeans 5.5.1) Java SE 6 instalācijas pamācība – http://java.sun.com/javase/6/webnotes/install/index.html Java SE 6 instalācijas pamācība Skatīt arī “Installing the J2SE Development Kit (JDK)” no “Java™ How to Program, Sixth Edition” Paskatīties kāda Javas versija atrodas uz jūsu datora To var izdarīt no komandrindas java -version Java SE 6 instalēšana
21
Programmēšanas valoda Java Ļooooti daudz informācija par Javu ir atrodama tīmeklī Java SE 6 – http://java.sun.com/javase/downloads/index.jsp Java SE 6 Java SE 6 – http://java.sun.com/javase/6/webnotes/install/index.html Java SE 6 Dažādi mācību līdzekļi (tutorials) – http://java.sun.com/docs/books/tutorial/index.html Dažādi mācību līdzekļi (tutorials) Tutorials var arī lejuplādēt – http://java.sun.com/docs/books/tutorial/information/download.htmlvar arī lejuplādēt Javas oficiālā dokumentācija – http://java.sun.com/javase/6/docs/ Javas oficiālā dokumentācija Dokumentāciju var arī lejuplādēt (apt. 52Mb) – http://java.sun.com/javase/downloads/index.jsp Dokumentāciju var arī lejuplādēt (apt. 52Mb) Java SE 6 iekļauto rīku apraksts – http://java.sun.com/javase/6/docs/technotes/tools/index.html Java SE 6 iekļauto rīku apraksts Javas klašu bibliotēkas lietošana – http://java.sun.com/javase/6/docs/api/index.html Javas klašu bibliotēkas lietošana Ir pieejami arī Java SE 6 izejas teksti ... Kursam nepieciešamā literatūra ir atrodama uz studentu ftp servera “OOP” mapē.
22
Pirmā programma valodā JAVA “Java™ How to Program, Sixth Edition” Chapter 1. Introduction to Computers, the Internet and the World Wide Web. Chapter 2. Introduction to Java Applications.
23
Pirmā programma valodā JAVA Javas lietojumprogramma (application) Datorprogramma, kura tiek izpildīta tad, kad jūs lietojat java komandu lai startētu javas virtuālo mašīnu (Java Virtual Machine (JVM)) Piemēra programma Attēlo tekstu Ilustrē dažas svarīgas Javas valodas īpašības
24
Valodas JAVA sintakses elementi Komentāri (Comments) Single-line comments: // … Multiple-line comments: /* … */ Javadoc comments: /** … */ Programmas bloki (Program Blocks) { … statement; statement; … } Atslēgvārdi (Keywords: reserved words for the Java language) All lowercase letters e.g., class, public, static, void, int, new, … [Appendix C]
25
Valodas JAVA sintakses elementi Identifikatori (Identifiers: names of classes, methods, variables, etc.) Sastāv no burtiem, cipariem, pasvītrojuma( _ ) un dolāra zīmes ( $ ) Nevar sākties ar ciparu Nesatur tukšumus Lielie un mazie burti ir atšķirīgi (Case sensitive) Piemēram, ATM, atmNumber, atm_number, _val1, $val2
26
Valodas JAVA komentāru piemēri Single line and end–of–line comments // Test printing program public class Welcome1 // class declaration Single line and end–of–line comments // Test printing program public class Welcome1 // class declaration Multiple-line comment /* This class is a fundamental programming class with Java for beginners */ Multiple-line comment /* This class is a fundamental programming class with Java for beginners */ Javadoc comment /** This comment will be used by javadoc utility program to document the program in HTML format */ Javadoc comment /** This comment will be used by javadoc utility program to document the program in HTML format */ Vairāk par javadoc skat.: http://java.sun.com.j2se/javadoc
27
Valodas JAVA atslēgvārdi
28
Laba programmēšanas prakse I (Good Programming Practice) Begin with a comment including the purpose of the program, the author and the date and time the program was last modified. Program change and version control Use blank lines and space characters to enhance program readability. Also ignored by the compiler Begin a class name’s identifier with a capital letter and start each subsequent word in the identifier with a capital letter. Valid Identifiers – start with letter, $, or _ - Welcome1, $value, _accountNo Non-Valid Identifier – start with numbers – e.g. 7button, 0121class Java is case sensitive edgarsCelms and EdgarsCelms are different identifiers Use proper upper and lower case letters
29
Laba programmēšanas prakse II (Good Programming Practice) Whenever opening a left brace, immediately put the matching right brace Prevent an error by missing braces Indent the entire body of each class declaration one level of indentation b/w the left braces Set a convention for the indent size in the editor you are using Tab key for indentation
30
Populārākās iesācēju kļūdas I (Common Programming Error) Class name and File name are mismatch In terms of spelling and capitalization Not to end a file name with.java extension for a file containing a class declaration A syntax error if braces does not occur in matching pairs Left brace { and match with right brace } Omitting the semicolon at the end of a statement
31
main metode Starta (ieejas) punkts visām Javas lietojumprogrammām Iekavas aiz main norāda, ka tā ir metode Aplikācijai ir jābūt tieši vienai main metodei static metode – veic darbības, kuras nav atkarīgas no objekta (klases instances) stāvokļa (tiek sauktas arī par klases metodēm) void – beidzot darbu neatgriež nekādus datus String args[] – argumentu saraksts public static void main (String args[])
32
Programmas instrukcijas Programmas instrukcijas liek datoram kaut ko darīt System.out – sistēmas standarta izvades objekts Attēlo simbolu virkni (sauktu arī par string, message, string literal) komandu logā (prompt in Windows, shell or terminal window in Unix, Linux, MacOS). System.out.println Attēlo doto argumentu komandu logā un novieto kursoru nākamās rindas sākumā Semikols ( ; ) Katra programmas instrukcija beidzas ar semikolu Tikai ; (bez programmas instrukcijas) -> nekāda darbība Semikola neesamība instrukcijas beigās -> sintakses kļūda System.out.println (“Welcome to Java Programming !”);
33
Kompilēšana un izpilde Saglabājiet programmas tekstu datnē ar papalšinājumu.java Nomainiet aktīvo mapi uz to kur datne tika saglabāta C:> cd C:\APT\examples Kompilēšana C:\APT\examples>javac Welcome1.java Kompilācijas kļūdas ir jāizlabo pirms izpildes Izpilde C:\APT\examples>java Welcome1 Launches JVM JVM loads.class file for class Welcome1.class extension omitted from command JVM calls method main
34
Izpildes rezultāts
35
Daži komentāri par iespējamām kļūdām I Compiler errors such as: “bad command or filename” “javac: command not found” “'javac' is not recognized as an internal or external command, operable program or batch file” The system’s PATH environment variable may not set properly. Please review the J2SE Development Kit installation instructions at java.sun.com/j2se/5.0/install.html. After correcting the PATH, you may need to reboot your computer for these settings to take effect.
36
Daži komentāri par iespējamām kļūdām II The compiler error message: “Public class ClassName must be defined in a file called ClassName.java” File name does not exactly match the name of the public class in the file or the class name was incorrect when compiling the class. When attempting to run a Java program, if you receive a message such as: “Exception in thread "main" java.lang.NoClassDefFoundError: Welcome1” Your CLASSPATH environment variable has not been set properly. On some systems, you may need to reboot your computer after configuring the CLASSPATH.
37
print vs. println print method does not move the cursor at the beginning of the next line after performing the task Not economical if you use multiple statements to do the same task, which can be done with a single statement
38
Java Escape Sequences Display multiple lines with a single statement Escape Character: - a special meaning in a sequence of characters Welcome to Java Programming
39
Formatizēta datu izvade ar printf System.out.printf Formatizēta datu izvade (ļoti populāra lieta C valodā!!!) Tika ieviesta tikai J2SE 5.0 Formatēšanas specifikators – sākas ar %, kam seko simbols (nosaka izvadāmo tipu) %s – pasakam, ka gribam izvadīt simbolu virkni Izvadāmie argumenti tiek atdalīti ar komatiem Welcome to Java Programming
40
“Otrā” Javas lietojumprogramma Javas lietojumprogramma divu skaitļu ievadīšanai un to summas attēlošanai Scanner klases lietojums datu ievadei printf lietojums, lai attēlotu divu skaitļu summu pakotņu ( package ) lietojums valodā Java
41
Divu veselu skaitļu saskaitīšana Range of int -2,147,483,648 to +2,147,483,647 Standard Input System.out class - A part of package java.lang ( java.lang is the only package in the Java API that does not require an import declaration) Declare variables Standard Input (Command Window)
42
Populārākās iesācēju kļūdas II (Common Programming Error) All import declarations must appear before the first class declaration in the file. Placing an import declaration inside a class declaration’s body or after a class declaration is a syntax error. Forgetting to include an import declaration for a class used in your program typically results in a compilation error containing a message such as “cannot resolve symbol.” Check that you provided the proper import declarations.
43
Laba programmēšanas prakse III (Good Programming Practice) Declare each variable on a separate line with descriptive comment Choosing meaningful variable names helps a program to be self-documenting Variable-name identifiers begin with a lowercase letter, and every word in the name after the first word begins with a capital letter – e.g.: firstName
44
Aritmētiskie operatori valodā JAVA Integer division truncates remainder 7 / 5 evaluates to 1 Remainder operator % returns the remainder 7 % 5 evaluates to 2
45
Operatoru izpildes secība valodā JAVA Some arithmetic operators act before others (i.e., multiplication before addition) Use parenthesis for complex arithmetic expressions Example: Find the average of three variables a, b and c Do not use: a + b + c / 3 Use: ( a + b + c ) / 3
46
Vienādības (equality) un relāciju (relational) operatori valodā JAVA Nosacījums Izteikmse kuras rezultāts ir vai nu patiess ( true ), vai nu aplams ( false ) if instrukcija (statement) Piemērā būs vienkāršākais if variants (par pārējo vēlāk ) Ja nosacījums if instrukcijā ir true, tad if instrukcijas ķermenis (body) tiek izpildīts Nosacījumus if instrukcijās var veidot lietojot vienādības, relāciju un loģiskos (conditional) (par tiem arī vēlāk ) operatorus
47
Piemērs: salīdzināšana
48
Operatoru associativitāte valodā JAVA
49
Populārākās iesācēju kļūdas III (Common Programming Error) Forgetting parenthesis in an if-statement Confusion b/w equality operator ( == ) and assignment operator ( = ) Contain spaces b/w their symbols = =, ! =, > =, etc. Reversing the operators =!, =>, =< Put a semicolon right after the right parenthesis after an if statement if (int1 == int2) ; No action if the statement is true – logical error
50
Laba programmēšanas prakse IV (Good Programming Practice) A lengthy statement can be spread over several lines. If a single statement must be split across lines, choose breaking points that make sense, such as after a comma in a comma-separated list, or after an operator in a lengthy expression. If a statement is split across two or more lines, indent all subsequent lines until the end of the statement. Refer to the operator precedence chart (see the complete chart in Appendix A) when writing expressions containing many operators.
51
Operatoru prioritātes secība (pilns saraksts)
52
Jautājumi ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.