Intro to Strings. Lecture 7 COP 3252 Summer May 23, 2017

Similar documents
Intro to Strings. Lecture 7 CGS 3416 Spring February 13, Lecture 7 CGS 3416 Spring 2017 Intro to Strings February 13, / 16

More on Strings. Lecture 10 CGS 3416 Fall October 13, 2015

STRINGS AND STRINGBUILDERS. Spring 2019

String. Other languages that implement strings as character arrays

CST242 Strings and Characters Page 1

Creating Strings. String Length

String Objects: The string class library

Strings. Strings and their methods. Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics

Assoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

CS 1301 Ch 8, Part A

USING LIBRARY CLASSES

STUDENT LESSON A10 The String Class

Java Foundations: Unit 3. Parts of a Java Program

Programming with Java

Lab 14 & 15: String Handling

Strings in Java String Methods. The only operator that can be applied to String objects is concatenation (+) for combining one or more strings.

Assoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Java s String Class. in simplest form, just quoted text. used as parameters to. "This is a string" "So is this" "hi"

Chapter 12 Strings and Characters. Dr. Hikmat Jaber

String related classes

String is one of mostly used Object in Java. And this is the reason why String has unique handling in Java(String Pool). The String class represents

2. All the strings gets collected in a special memory are for Strings called " String constant pool".

Slide 1 CS 170 Java Programming 1 More on Strings Duration: 00:00:47 Advance mode: Auto

More non-primitive types Lesson 06

Lecture Notes for CS 150 Fall 2009; Version 0.5

Strings! Today! CSE String Methods!

CS112 Lecture: Characters and Strings

Appendix 3. Description: Syntax: Parameters: Return Value: Example: Java - String charat() Method

CSE1710. Big Picture. Tuesday, Dec 02 is designated as a study day. No classes. Thursday, Dec 04 is last lecture.

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming

Chapter 2 Part 2 Edited by JJ Shepherd, James O Reilly

Ohad Barzilay and Oranit Dror

Class. Chapter 6: Data Abstraction. Example. Class

Chapter 29: String and Object References Bradley Kjell (Revised 06/15/2008)

Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02

Assignment 5: MyString COP3330 Fall 2017


CSE1710. Big Picture. Today is last day covering Ch 6. Tuesday, Dec 02 is designated as a study day. No classes. Thursday, Dec 04 is last lecture.

CS106X Handout 04 Winter 2018 January 8 th, 2018 C++ Strings

CS1150 Principles of Computer Science Math Functions, Characters and Strings (Part II)

Index COPYRIGHTED MATERIAL

Notes from the Boards Set BN19 Page

5/23/2015. Core Java Syllabus. VikRam ShaRma

Java Programming. String Processing. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Class Library java.lang Package. Bok, Jong Soon

A couple of decent C++ web resources you might want to bookmark:

Strings. Strings and their methods. Mairead Meagher Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics

Mathematical Functions, Characters, and Strings. CSE 114, Computer Science 1 Stony Brook University

Final Exam CS 152, Computer Programming Fundamentals December 9, 2016

C08c: A Few Classes in the Java Library (II)

Eng. Mohammed Abdualal

Introduction to Computer Programming

AP Computer Science A

Programming Techniques

You ll be reading more about tools for branching in Sections 3.4, and We are skipping Sections 3.5, 3.11 and 3.13-end of chapter.

Introductory Mobile Application Development

CS106X Handout 04 Autumn 2009 September 25 th, 2009 C++ Strings

Intro to Computer Science II

Honors Computer Programming 1-2. Chapter 5 Exam Prep

appreciate the difference between a char and a string understand and use the String class methods

Mutable and Immutable Objects

CPS 109 Lab 2 Alexander Ferworn Updated Fall 05. Ryerson University. School of Computer Science CPS109. Lab 2

CS251L REVIEW Derek Trumbo UNM

CHAPTER 6 MOST COMMONLY USED LIBRARIES

Discussion 1H Notes (Week 4, April 22) TA: Brian Choi Section Webpage:

- Thus there is a String class (a large class)

Strings. Strings, which are widely used in Java programming, are a sequence of characters. In the Java programming language, strings are objects.

WES-CS GROUP MEETING #9

Ans: Store s as an expandable array of chars. (Double its size whenever we run out of space.) Cast the final array to a String.

Prashanth Kumar K(Head-Dept of Computers)

CS61B Lecture #3. Homework: Please see Homework #1 on the lab page. Last modified: Wed Sep 10 20:34: CS61B: Lecture #3 1

AP Computer Science. Strings. Credit: Slides are modified with permission from Barry Wittman at Elizabethtown College

Administration. Objects and Arrays. Objects. Agenda. What is an Object? What is a Class?

Dynamic Memory Allocation

Computer Science E-119 Fall Problem Set 3. Due before lecture on Wednesday, October 31

Mathematical Functions, Characters, and Strings. CSE 114, Computer Science 1 Stony Brook University

Comments in a Java Program. Java Overview. Identifiers. Identifier Conventions. Primitive Data Types and Declaring Variables

OOP-Lecture Java Loop Controls: 1 Lecturer: Hawraa Sh. You can use one of the following three loops: while Loop do...while Loop for Loop

Character Strings COSC Yves Lespérance. Lecture Notes Week 6 Java Strings

The Dynamic Typing Interlude

Java Fall 2018 Margaret Reid-Miller

Program Fundamentals

CS61B Lecture #2. Public Service Announcements:

SCHEME 7. 1 Introduction. 2 Primitives COMPUTER SCIENCE 61A. October 29, 2015

Enums. In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed.

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

A First Look at ML. Chapter Five Modern Programming Languages, 2nd ed. 1

Fall 2017 CISC124 10/1/2017

Chapter 10: Text Processing and More about Wrapper Classes

More on Strings. String methods and equality. Mairead Meagher Dr. Siobhán Drohan. Produced by: Department of Compu<ng and Mathema<cs h=p://

LECTURE 15. String I/O and cstring library

Using System.out.println()

Full file at

Topics. Class Basics and Benefits Creating Objects.NET Architecture and Base Class Libraries 3-2

Discover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs.

PAIRS AND LISTS 6. GEORGE WANG Department of Electrical Engineering and Computer Sciences University of California, Berkeley

Chapter 8 Strings. Chapter 8 Strings

Programming with Math and Logic

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.)

Data type built into Python. Dictionaries are sometimes found in other languages as associative memories or associative arrays.

Transcription:

Intro to Strings Lecture 7 COP 3252 Summer 2017 May 23, 2017

Strings in Java In Java, a string is an object. It is not a primitive type. The String class is used to create and store immutable strings. Immutable objects are objects that don t change once created. Kinda like final primitive types. Class StringBuilder creates objects that store flexible and changeable strings. We ll learn this later on in the course.

The String class Part of java.lang package 13 constructors and close to 50 methods String class API from java.oracle.com full listing of String class features Once you build a String object, it is fixed it cannot be changed. This is easier than it sounds. The only methods that can alter or set the instance variables are the constructors. All other methods that seem to change a string do so by returning a brand new String object You can assign a String reference variable to a new string, discarding the old one

A common way to construct a String One constructor allows the use of a string literal as the parameter. Example string constructions: String greeting = new String("Hello, World!"); String name = new String("Marvin Dipwart"); String subject = new String("Math"); // also, a shorthand notation for building strings String sentence = "The quick brown fox sat around for a while"; // this is not quite equivalent to using the //constructor above, but you still get a string //variable (which is what we care about right now)

Empty Strings The constructor with no parameters allows the building of an empty string: String s = new String(); // s refers to an empty string object Note that if you only declare a String variable, but you do not assign it to anything, it is not yet attached to any string: String s1; // s1 does not refer to any string yet

The equals() method equals() for comparing two strings (i.e. their contents), returns true or false if (str1.equals(str2)) System.out.print("The strings are the same"); equalsignorecase() - just like equals(), except that the case of the letters doesn t matter in making a match. For instance, Apple would be equal to apple with this method. Don t try to compare strings by using ==, <, >, etc. These would only compare the String reference variables, not the String objects themselves.

The compareto() method compareto() also for comparing two strings, good for sorting. if (str1.compareto(str2) <0) System.out.print("str1 comes before str2 in lexicographic ordering"); else if (str1.compareto(str2) == 0) System.out.print("str1 is the same as str2"); else if (str1.compareto(str2) >0) System.out.print("str2 comes before str1 in lexicographic ordering");

Concatenation concat() String concatenation. Returns a concatenation of two strings. String s1 = "Dog"; String s2 = "food"; String s3 = s1.concat(s2); //s3 now stores "Dogfood" //note: s1 and s2 are NOT changed The + symbol also performs String concatenation (as we ve already used in print statements). String s1 = "Cat"; String s2 = "nap"; String s3 = s1 + s2; //s3 now stores "Catnap" (s1, s2 unchanged)

Substrings substring() extracts part of a string and returns it. Takes in two parameters (begin index and end index) or 1 parameter (begin index). First character in a String has index 0. Substring returned is the index range [begin,end).

Substrings String s1 = "Hello, World"; String s2 = s1.substring(0,5);// s2 is now "Hello". // picks up indices 0-4 String s3 = s1.substring(0,7) + "Dolly"; System.out.print(s3);// prints "Hello, Dolly" System.out.print(s3.substring(4));//prints "o, Dolly" // can even use substring on string literals String s4= "What s up doc?".substring(10,13); // s4="doc"

String length length() returns a string s length (number of characters). String s1 = "Hello"; String s2 = "Goodbye world"; System.out.print(s1.length()); // output: 5 System.out.print(s2.length()); // output: 13

charat() method charat() returns a specific character, given an index. String s1 = "Rumplestiltskin"; System.out.print(s1.charAt(0)); // output: System.out.print(s1.charAt(5)); // output: System.out.print(s1.charAt(12)); // output: R e k

Some Conversion methods tolowercase() returns all lower case version of string touppercase() returns all upper case version of string trim() returns a string that eliminates leading and trailing blank characters from original replace() returns a string with an old character replaced with a new one. old character and new character passed as parameters

Examples String s1 = "Zebra String s2 = s1.tolowercase(); // s2 is "zebra" String s3 = s1.touppercase(); // s3 is "ZEBRA" String s4 = " Apple "; String s5 = s4.trim(); // s5 is "Apple" String s6 = s5.replace( e, y ); // s6 is "Apply"

valueof() method valueof() there are several of these methods. They are static methods, and are used for converting other values to String objects int x = 12345; String s7 = String.valueOf(4.56); // s7 is "4.56" String s8 = String.valueOf(16); // s8 is "16" String s9 = String.valueOf(x); // s9 is "12345"

The StringBuilder Class The StringBuilder class is a part of the java.lang package. A StringBuilder object is mutable (i.e. it can be changed). Three of the four constructors shown here. Here are sample creations: creates an empty string builder with initial capacity of 16 characters StringBuilder buf1 = new StringBuilder(); creates empty string builder with initial capacity given in parameter StringBuilder buf2 = new StringBuilder(50); creates string builder filled with argument initial capacity is length of given string plus 16 StringBuilder buf3 = new StringBuilder("Hello");

The append() method append() adds data to string in the builder object, at the end. Several versions for different parameter types (see API for full set) StringBuilder buf1 = new StringBuilder(); buf1.append("hello"); buf1.append(, ); buf1.append(" world!"); // buf1 is now "Hello, world!" buf1.append( ); buf1.append(123.45); // buf1 is now "Hello, world! 123.45"

The insert() method insert() insert data at a certain starting index. Like append, multiple versions for different types of data (see API for full set) StringBuilder buf2 = new StringBuilder(); buf2.append("welcome home"); // buf2 now "Welcome home" buf2.insert(8,"to my humble "); // buf2 = "Welcome to my humble home"

More StringBuilder methods delete() delete data from a string builder object StringBuilder buf3 = new StringBuilder("abcdefghijklm"); buf3.delete(4,9); // deletes indices 4-8. buf3 is now "abcdjklm" deletecharat() delete a character at specified index StringBuilder buf4 = new StringBuilder("abcdefg"); buf4.deletecharat(3); // buf4 is now "abcefg" buf4.deletecharat(1); // buf4 is now "acefg"

More StringBuilder methods reverse() reverses the contents of the string builder setcharat() sets a character at specified index (similar to deletecharat() capacity() returns current capacity of builder length() returns length of current string in builder (less than or equal to capacity) setlength() sets the exact length of the string in the builder to new value (parameter). This is the actual string, not the capacity. If the new length is smaller than previous length, characters are truncated from the string. If new length bigger, null characters are appended. charat() returns character at a specified index (parameter)