reading and writting v2
TRANSCRIPT
![Page 1: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/1.jpg)
IO Java
CST200 – Week 1: Basic Reading and Writing in Java
Instructor: Andreea Molnar
![Page 2: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/2.jpg)
Outline
•Aims
•Writing to the display
•Reading from the keyboard
![Page 3: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/3.jpg)
Introduction
•Input/Ouput (IO) operations in Java are more complex than described here.
•You will need the information presented here to complete your assignments and for the exams
![Page 4: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/4.jpg)
Writing
• System.out.println() –prints a new line
• System.out.println(“Hello World”); – prints Hello World and then moves to the new line
![Page 5: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/5.jpg)
WritingYou can have an expression to be printed. Check the definition of an expression!!!
System.out.println(3+7+8);
//prints 18 and then moves to a new line
System.out.println(“My student ID is “ + 3456E);
//prints My student ID is 3456E
![Page 6: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/6.jpg)
Writing
int ID = 3456;
System.out.println(“My student ID is “ + ID);
//prints My student ID is 3456
![Page 7: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/7.jpg)
Writing
String firstName = “Andreea”;
String lastName = “Molnar”;
System.out.println(firstName + lastName);
//prints AndreeaMolnar
![Page 8: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/8.jpg)
Writing
String firstName = “Andreea”;
String lastName = “Molnar”;
System.out.println(firstName + “ “ + lastName);
//prints Andreea Molnar
![Page 9: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/9.jpg)
Writing
String firstName = “Andreea”;
String lastName = “Molnar”;
System.out.println(firstName.charAt(0) + “ “ + lastName.substring(1, 3));
//prints A ol
![Page 10: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/10.jpg)
Writing
String firstName = “Andreea”;
String lastName = “Molnar”;
System.out.println(firstName.charAt(0) + “ “ + lastName.substring(1, 3));
//prints A olIf you do not understand how the above output is generated check the String API, Introduction to Java.ppt or Annex 1 at the end of this presentation. If any of these do not work for you, please ask.
![Page 11: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/11.jpg)
Writing
System.out.println(firstName + “\n" + lastName);
//will print:
//Andreea
//Molnar
Escape sequence
Meaning
\b backspace
\t tab
\n newline
\r return
\’’ double quote
\’ single quote
\\ backslash
You can use escape sequences.
![Page 12: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/12.jpg)
Writing
• System.out.println(“Hello World”); – prints Hello World and then moves to the new line
• System.out.print(“Hello World”); - does the same thing as System.out.println but it does not move to a new line
![Page 13: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/13.jpg)
Writing
System.out.println(“Hello World”);
System.out.println(“I am here”);
System.out.print(“Hello World”);
System.out.print(“I am here”);
![Page 14: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/14.jpg)
Reading
This section will provide you with an example on how to read from the keyboard using BufferedReader.
You should find attached under this presentation the code used.
![Page 15: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/15.jpg)
Reading
You will need to import the following classes, in order to make use of them.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
You may want to look again over JavaClassLibrary video from pluralsight. I have added a few more explanations on Annex 2.
![Page 16: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/16.jpg)
Reading
Change the main method to throw an exception:
public static void main(String[] args) throws IOException {
}
Exception handling is also not covered by this course. You can find more details at: http://pluralsight.com/training/Courses/TableOfContents/java2
![Page 17: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/17.jpg)
Reading
Change the main method to throw an exception:
public static void main(String[] args) throws IOException {
}
Exception handling are also not covered by this course. You can find more details at: http://pluralsight.com/training/Courses/TableOfContents/java2
![Page 18: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/18.jpg)
ReadingUse BufferedReader for reading lines of text from standard input (i.e. keyboard)
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
reader.readLine();
//reads a line of text as a String
IO in Java is not covered in details in this course, and this example is provided just to help you write algorithms (check the definition of an algorithm) http://pluralsight.com/training/Courses/TableOfContents/java2
![Page 19: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/19.jpg)
Reading
Use the Integer and Double static functions to convert a number from a String to an Integer (int) or Double (double).
You may want to check again the video about boxing and unboxing:
http://pluralsight.com/training/Courses/TableOfContents/java1
![Page 20: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/20.jpg)
ReadingTo convert a String to an Integer you can use: Integer.parseInt(String s);
int number = Integer.parseInt(“23”);
http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html
![Page 21: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/21.jpg)
ReadingTo convert a String to a Double you can use: Integer.parseInt(String s);
int number = Integer.parseInt(“23”);
http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html
![Page 22: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/22.jpg)
Reading
To convert a String to a Double you can use: Double.parseDouble(String s);
double number = Double.parseDouble (“23”);
http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html
![Page 23: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/23.jpg)
Reading
If you want to read multiple numbers or strings on the same line, you can use regular expressions to extract the numbers.
![Page 24: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/24.jpg)
ReadingString line = reader.readLine();
//assuming that the read line provides strings or numbers or characters separated by space
String [] input = line.split(“\\ “);
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)
![Page 25: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/25.jpg)
Reading
//+ is used as a separator
String [] line = line.split(“\\+“);
//* is used as a separator
String [] line = line.split(“\\*“);
![Page 26: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/26.jpg)
Reading
String line = reader.readLine();
//assuming that the user introduces the following string: “my first program”, the line variable will contain the value my first program
Check the definition of variable if you do not know it !!!
My first program
line
![Page 27: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/27.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\ “);
First value in an array starts at index 0!!!
my first program
line
my first program
0 1 2input
index
![Page 28: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/28.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\ “);
String firstString = input[0];
my first program
line
my first program
0 1 2inputindex
my
firstString
![Page 29: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/29.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\ “);
String secondString= input[1];
my first program
line
my first program
0 1 2input
indexfirstsecondString
![Page 30: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/30.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\ “);
String thirdString= input[2];
my first program
line
my first program
0 1 2input
indexprogramthirdString
![Page 31: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/31.jpg)
Reading
String line = reader.readLine();
//assuming now that the user introduces the following string: “45*90*78”
String [] input = line.split(“\\*“);
45*90*78
line
45 90 78
0 1 2input
index
![Page 32: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/32.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\*“);
int no1 = Integer.parseInt(input[0]);
Although input looks like it contains numbers, the numbers are in fact represented as strings, therefore they need to be converted to int.
45*90*78
line
45 90 78
0 1 2input
index
![Page 33: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/33.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\*“);
int no1 = Integer.parseInt(input[0]);
45*90*78
line
45 90 78
0 1 2input
index45no1
![Page 34: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/34.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\*“);
int no1 = Integer.parseInt(input[0]);
45*90*78
line
45 90 78
0 1 2input
index90no2
![Page 35: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/35.jpg)
Reading
String line = reader.readLine();
String [] input = line.split(“\\*“);
int no1 = Integer.parseInt(input[0]);
45*90*78
line
45 90 78
0 1 2input
index78no3
![Page 36: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/36.jpg)
Summary
•Writing: use System.out.println() and System.out.print();
•Reading: use BufferedReader class
![Page 37: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/37.jpg)
Annex 1
String firstName = “Andreea”;
char firstCharacter= firstName.charAt(0);
A n d r e e a
0 1 2 3 4 5 6
index
![Page 38: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/38.jpg)
Annex 1
String firstName = “Andreea”;
char firstCharacter= firstName.charAt(0);
char secondCharacter = firstName.charAt(1);
char thirdCharacter = firstName.charAt(2);
char fourthCharacter = firstName.charAt(3);
//…
A n d r e e a
0 1 2 3 4 5 6
index
![Page 39: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/39.jpg)
Annex 1
System.out.println(firstCharacter);
//will print A
System.out.println(secondCharacter);
//will print n
A n d r e e a
0 1 2 3 4 5 6
index
![Page 40: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/40.jpg)
Annex 1
String lastName = “Molnar”;
String subString= lastName.substring(1, 3));
M o l n a r
0 1 2 3 4 5
index
![Page 41: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/41.jpg)
Annex 1
String lastName = “Molnar”;
String subString= lastName.substring(1, 3));
System.out.println(lastName);
//will print oln
M o l n a r
0 1 2 3 4 5
![Page 42: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/42.jpg)
Annex 2
• When you use an already implemented class from Java framework, you are basically using a class from a package.
• java.lang package is automatically imported this is why for the HelloWorld program you didn’t need to import anything.
• To import an entire package you can write import package.*. For example: import java.util.*;
![Page 43: Reading and writting v2](https://reader035.vdocuments.mx/reader035/viewer/2022062405/55589017d8b42aad358b53ec/html5/thumbnails/43.jpg)
Annex 2
• Importing a package allows you to use the class from a library without fully using its fully qualified name. For example in case of BufferedReader, without importing java.io.BufferedReader you would have to write:
java.io.BufferedReader reader = new java.io.BufferedReader (…);
http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html