Reading and writting

Post on 02-Jul-2015

2,479 views 0 download

transcript

IO Java

CST200 – Week 1: Basic Reading and Writing in

Java

Instructor: Andreea Molnar

Outline

• Aims

• Writing to the display

• Reading from the keyboard

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

Writing

• System.out.println() –prints a new line

• System.out.println(“Hello World”); – prints

Hello World and then moves to the new

line

WritingYou can have an expression that will 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

Writing

int ID = 3456;

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

//prints My student ID is 3456

Writing

String firstName = “Andreea”;

String lastName = “Molnar”;

System.out.println(firstName + lastName);

//prints AndreeaMolnar

Writing

String firstName = “Andreea”;

String lastName = “Molnar”;

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

//prints Andreea Molnar

Writing

String firstName = “Andreea”;

String lastName = “Molnar”;

System.out.println(firstName.charAt(0) + “ “ + lastName.substring(1, 3));

//prints A ol

Writing

String firstName = “Andreea”;

String lastName = “Molnar”;

System.out.println(firstName.charAt(0) + “ “ + lastName.substring(1, 3));

//prints A ol

If 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.

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.

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

Writing

System.out.println(“Hello World”);

System.out.println(“I am here”);

System.out.print(“Hello World”);

System.out.print(“I am here”);

Reading

This section will provide you with an

example on how to read from the

keyboard using BufferedReader.

You should find the code used attached

under this presentation.

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;

I have added a few more explanations on Annex 2.

Reading

Change the main method to throw an

exception:

public static void main(String[] args) throwsIOException {

}

Exception handling is also not covered by this course. You can

find more details at: http://math.hws.edu/javanotes/c3/s7.html

Reading

Change the main method to throw an

exception:

public static void main(String[] args) throwsIOException {

}

Exception handling are also not covered by this course.

Reading

Use 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

Reading

Use the Integer and Double static

functions to convert a number from a

String to an Integer (int) or Double

(double).

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

Reading

To 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

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

Reading

If you want to read multiple numbers or strings

on the same line, you can use regular

expressions to extract the numbers.

Reading

String 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(ja

va.lang.String)

Reading

//+ is used as a separator

String [] line = line.split(“\\+“);

//* is used as a separator

String [] line = line.split(“\\*“);

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 a variable if you do not

know it !!!My first program

line

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

Reading

String line = reader.readLine();

String [] input = line.split(“\\ “);

String firstString = input[0];

my first program

line

my first program

0 1 2input

indexmy

firstString

Reading

String line = reader.readLine();

String [] input = line.split(“\\ “);

String secondString= input[1];

my first program

line

my first program

0 1 2input

index

firstsecondString

Reading

String line = reader.readLine();

String [] input = line.split(“\\ “);

String thirdString= input[2];

my first program

line

my first program

0 1 2input

index

programthirdString

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

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

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

index

45no1

Reading

String line = reader.readLine();

String [] input = line.split(“\\*“);

int no1 = Integer.parseInt(input[1]);

45*90*78

line

45 90 78

0 1 2input

index90no2

Reading

String line = reader.readLine();

String [] input = line.split(“\\*“);

int no1 = Integer.parseInt(input[2]);

45*90*78

line

45 90 78

0 1 2input

index78no3

Summary

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

System.out.print();

• Reading: use BufferedReader class

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

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

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

Annex 1

String lastName = “Molnar”;

String subString= lastName.substring(1, 3));

M o l n a r

0 1 2 3 4 5

index

Annex 1

String lastName = “Molnar”;

String subString= lastName.substring(1, 3));

System.out.println(lastName);

//will print ol

M o l n a r

0 1 2 3 4 5

Annex 2

• When you use an already implemented class from the 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.*;

Annex 2

• Importing a package allows you to use the class from a library

without fully using its fully qualified name. For example in the

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