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

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

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 attached under this presentation the code used.

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.

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

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

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

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

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

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

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.

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)

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 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 2inputindex

my

firstString

Reading

String line = reader.readLine();

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

String secondString= input[1];

my first program

line

my first program

0 1 2input

indexfirstsecondString

Reading

String line = reader.readLine();

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

String thirdString= input[2];

my first program

line

my first program

0 1 2input

indexprogramthirdString

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

index45no1

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

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

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 oln

M o l n a r

0 1 2 3 4 5

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.*;

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

top related