Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Programming for Beginners Lecture 8: Using External Libraries Martin Nelson Elizabeth FitzGerald Revision of session 7 Classes/Objects can contain both data and methods. Methods have a return type stating what sort of data is passed back to the calling code. Could be void (if the method doesn’t return anything), any primitive data type or any Class. Methods will sometimes require a list of input arguments, given in ()’s after the method name. Static methods can be used without instantiating the class. The UserInput class contains 3 static methods for obtaining information from the user: readint, readdouble, readString. Session 8 - aims & objectives Learn how to use external class libraries, distributed with the JDK. Investigate the Core Class Library documentation. See useful methods in the String class and the Math class. Using external classes External classes usually contain methods and variables. Once you know where to find these methods and variables, you can use them in your program. For classes in the Core Class Libraries, you need to have the command import classname; at the start of your program if you want to refer to a method in that external class. Note: If you use the import command for your own classes you will get an error! Core Class Libraries Java is distributed with a collection of ready-to-use classes, called the Core Class Libraries. A full list of the classes available can be found on the Java Core Class Libraries documentation page: http://download.oracle.com/javase/1.4.2/docs/api/overview-summary.html Today, we will focus on two classes within the java.lang library: String Math The java.lang library contains everything that is needed to define the Java language itself. Since it is needed for every code, the “import java.lang” statement is not needed. This is the only library for which this is true. Java.lang The java.lang library contains: The System class, which we have already used. The String class – containing loads of methods for manipulating Strings. The Math class – which contains numerous mathematical constants and operations. Classes for handling errors (which we’ll use in Session 11). Loads more... The String class – 1 String is a class (in the java.lang package) String is a special class: it is also a literal data type. Once the String is declared, values can be assigned using the ‘=‘. String is the only class for which this is true. Strings can also be instantiated in other ways using the 'new' keyword. We’ll talk more about these in Session 10... However, because String is a class, it has a number of useful methods which we can use... The String class – 2 Class String contains several methods For looking at individual characters of the sequence (charAt) For comparing Strings (equals, equalsIgnoreCase) For searching Strings (indexOf) For extracting substrings (substring) For converting characters to upper/lower case (toUpperCase, toLowerCase) Plus many more! Check Java core class documentation for more details String functions See example code: ex8_01.java: The String class (revision) ex8_02.java: The String class: concatenation & case conversions ex8_03.java: The String class: comparing Strings ex8_04.java: The String class: extracting data by position ex8_05.java: The String class: extracting data by searching The Math class – 1 Class within the java.lang package. Contains static variables representing mathematical constants: Pi and E (Pi and E) Plus static methods for common mathematical operations: Square root (sqrt) Natural logs (log) Sine/cosine/arc tangent etc. (sin, cos, atan etc.) Raising to powers (pow) Exponential function (exp) Rounding up/down (floor, ceil, round) The Math class – 2 See example code: ex8_06.java: Using mathematical constants ex8_07.java: Calculating powers and square roots ex8_08.java: Rounding methods ex8_09.java: Calculating natural logs The Math class – 3 We have a method to calculate natural logs (log), but what if we want to calculate logs to a different base? e.g. How do we calculate log[10]? We could use the in-built log function, to make our own method which calculates log[n], for any integer n. Note that: log[n](x)=ln(x)/ln(n). See exercise 8.1. In newer versions of java, there is an extra method log10, which calculates the above for n=10. Coming up in Session 9... An introduction to Arrays... Really useful for storing large amounts of data. Recap of the course so far... Plenty of time for revision of anything tricky! Let us know if there is anything you’d like to focus upon...