Top Banner
IO Java CST200 – Week 1: Basic Reading and Writing in Java Instructor: Andreea Molnar
43
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reading and writting v2

IO Java

CST200 – Week 1: Basic Reading and Writing in Java

Instructor: Andreea Molnar

Page 2: Reading and writting v2

Outline

•Aims

•Writing to the display

•Reading from the keyboard

Page 3: Reading and writting v2

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

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

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

Writing

int ID = 3456;

System.out.println(“My student ID is “ + ID);

//prints My student ID is 3456

Page 7: Reading and writting v2

Writing

String firstName = “Andreea”;

String lastName = “Molnar”;

System.out.println(firstName + lastName);

//prints AndreeaMolnar

Page 8: Reading and writting v2

Writing

String firstName = “Andreea”;

String lastName = “Molnar”;

System.out.println(firstName + “ “ + lastName);

//prints Andreea Molnar

Page 9: Reading and writting v2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Summary

•Writing: use System.out.println() and System.out.print();

•Reading: use BufferedReader class

Page 37: Reading and writting v2

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

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

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

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

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

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

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