Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемИнга Бахорина
1 Строки и классы-оболочки
2 Класс String. Конструкторы String s = new String(); char chars[] = { 'а', 'b', 'с' }; String s = new String(chars); char chars[] = { 'a', 'b', 'с', 'd', 'e', 'f' }; String s = new String(chars,2,3); String s = "abc";
3 Методы Object Методы класса String equals Сравнение двух строк. equalsIgnoreCase Сравнение двух строк без учета регистра. compareTo Посимвольное сравнение строк. Возвращает 0 если строки равны. indexOf и lastIndexOf Поиск символа или подстроки символов (первое вхождение с начала или с конца). Если не найдено -1. substring(int) substring(int, int) Извлечь подстроку с указанной позиции. concat Слияние строк. replace Замена символа. toLowerCase toUpperCase Преобразует все символы исходной строки в нижний и верхний регистр. trim Убирает из исходной строки все ведущие и замыкающие пробелы. valueOf Преобразование числового значения в текстовую строку. byte[] getBytes byte[] getBytes( String encoding) Возвращает последовательность байтов в кодировке по умолчанию Возвращает последовательность байтов в указанной кодировке encoding
4 class SortString { static String arr[] = {"Now", "is", "the", "time", "for", "all", "good", "men", "to", "come", "to", "the", "aid", "of", "their", "country" }; public static void main(String args[]) { for (int j = 0; i < arr.length; j++) { for (int i = j + 1; i < arr.length; i++) { if (arr[i].compareTo(arr[j]) < 0) { String t = arr[j]; arr[j] = arr[i]; arr[i] = t; } System.out.println(arr[j]); } class indexOfDemo { public static void main(String args[]) { String s = "Now is the time for all good men " + "to come to the aid of their country " + "and pay their due taxes."; System.out.println(s); System.out.println("indexOf(f) = " + s.indexOf('f')); System.out.println("lastIndexOf(f) = " + s.lastIndexOf('f')); System.out.println("indexOf(the) = " + s.indexOf("the")); }} "Hello World".substring(6) // "World" "Hello World".substring(3,8) // "lo Wo" "Hello".concat(" World") // "Hello World" "Hello".replace('l', 'w') // "Hewwo" "Hello".toLowerCase() //"hello" "Hello".toUpperCase() // "HELLO" "Hello World ".trim() // "Hello World" } Примеры применения методов класса String
5 Класс StringBuffer. Конструкторы StringBuffer() – создает пустой StringBuffer (16 символов); StringBuffer(String s) – буфер заполняется указанным значением s; StringBuffer(int capacity) – создает экземпляр класса StringBuffer с указанным размером (длина char[]).
6 Методы класса StringBuffer append(String str) добавляет переданную строку str в буфер. insert(int offset, String str) вставка строки, начиная с позиции offset. ensureCapacity установки размера буфера. setLength установить длину строки в буфере. charAt setCharAt извлечь cимвол записать в заданную позицию строки нужный символ.
7 class StringBufferDemo { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello"); System.out.println("buffer = " + sb); System.out.println("length = " + sb.length()); System.out. println("capacity = " + sb.capacity()); } class setCharAtDemo { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello"); System.out.println("buffer before = " + sb); System.out.println("charAt(1) before = " + sb.charAt(1)); sb.setCharAt(1, 'i'); sb.setLength(2); System.out.println("buffer after = " + sb); System.out.println("charAt(1) after = " + sb.charAt(1)); } Примеры применения методов класса StringBuffer buffer = Hello length = 5 capacity = 21 buffer before = Hello charAt(1) before = e buffer after = Hi charAt(1) after = i class appendDemo { public static void main(String args[]) { String s; int a = 42; StringBuffer sb = new StringBuffer(40); s = sb.append("a = ").append(a).append("!").toString(); System.out.println(s); }
8 StringTokenizer Класс StringTokenizer предназначен для разбиения текста на последовательность лексем - слов (tokens). Конструктор StringTokenizer (String str, String delemiters); Реализует интерфейс Enumeration import java.util.StringTokenizer; class STDemo { static String in = "title=The Java Handbook:" + "author=Patrick Naughton:" + "isbn= :" + "ean= :" + corn"; public static void main(String args[]) { StringTokenizer st = new StringTokenizer(in, "=:"); while (st.hasMoreTokens()) {//есть еще лексемы String key = st.nextToken(); // получить следующую String val = st.nextToken(); System.out.println(key + "\t" + val); } } } title The Java Handbook author Patrick Naughton isbn ean corn
9 Классы-обертки Object NumberBigDecimal BooleanBigInteger CharacterByte ClassDouble Float Integer Long Short Character.SubSetInputSubSet Character.UnicodeBlock
10 Классы-обертки Классы являются неизменяемыми (если необходим объект, хранящий другое значение, его нужно создать заново), к тому же имеют атрибут final – от них нельзя наследовать класс. Все классы-обертки (кроме Void) реализуют интерфейс Serializable, поэтому объекты любого (кроме Void) класса- обертки могут быть сериализованы. Все классы-обертки содержат статическое поле TYPE, ссылающееся на объект Class, соответствующий примитивному оборачиваемому типу. Все классы-обертки реализуют интерфейс Comparable. Все классы-обертки числовых типов имеют метод equals(Object), сравнивающий примитивные значения объектов.
11 Классы-обертки Классы-обертки числовых типов Byte, Short, Integer, Long, Float, Double наследуются от одного класса – Number. В нем объявлены методы, возвращающие числовое значение во всех числовых форматах Java (byte, short, int, long, float и double). Класс-обертка Примитивный тип Bytebyte Shortshort Characterchar Integerint Longlong Floatfloat Doubledouble Booleanboolean
12 Integer Конструкторы для создания экземпляров класса Integer: Integer(String s) – конструктор, принимающий строку, представляющую числовое значение. Integer(int i) – конструктор, принимающий числовое значение. Cтатические методы: public static int parseInt(String s) – преобразует строку в int; public static int parseInt(String s, int radix) – преобразует строку, представляющую запись целого числа в системе счисления radix, в int. public static Integer valueOf(String s) public static Integer valueOf(String s, int radix) public static String toString(int i) – используется для преобразования значения типа int в строку. public static String toOctalString(int i) – восьмеричное; public static String toBinaryString(int i) – двоичное; public static String toHexString(int i) – шестнадцатеричное. Имеется также две статические константы: Integer.MIN_VALUE – минимальное int значение; Integer.MAX_VALUE – максимальное int значение. public int intValue() возвращает значение примитивного типа для данного объекта Integer.
13 Пример public static void main(String[] args) { int i = 1; byte b = 1; String value = "1000"; Integer iObj = new Integer(i); Byte bObj = new Byte(b); System.out.println("while i==b is " + (i==b)); //true System.out.println("iObj.equals(bObj) is " + iObj.equals(bObj)); //false Long lObj = new Long(value); System.out.println("lObj = " + lObj.toString()); //1000 Long sum = new Long(lObj.longValue() + iObj.byteValue() + bObj.shortValue()); System.out.println("The sum = " + sum.doubleValue()); // }
14 Character Реализует интерфейсы Comparable и Serializable. Конструктор Character(char) Методы: public char charValue() – возвращает обернутое значение char; public int compareTo(Character anotherCharacter) – сравнивает обернутые значения char как числа, возвращает значение return this.value – anotherCharacter.value. public int compareTo(Object o) – если переданный объект имеет тип Character, результат будет аналогичен вызову compareTo((Character)o), иначе будет брошено исключение ClassCastException, так как Character можно сравнивать только с Character.
15 Итог каждый примитивный тип имеет соответствующий класс-обертку; все классы-обертки могут быть сконструированы как с использованием примитивных типов, так и с использованием String, за исключением Character, который может быть сконструирован только по char; классы-обертки могут сравниваться с использованием метода equals(); примитивные типы могут быть извлечены из классов-оберток с помощью соответствующего метода xxxxValue() (например intValue()); классы-обертки также являются классами-утилитами, т.е. предоставляют набор статических методов для работы с примитивными типами; классы-обертки являются неизменяемыми.
16 Класс Math public static final double Math.PI – задает число π ("пи"); public static final double Math.E – основание натурального логарифма.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.