Преобразование типа
В ЯП Java, как и во многих других, имеются простые встроенные типы данных, имеющие приблизительно те же свойства
Программист может выполнить явное приведение типов, которое обычно необходимо, когда преобразование из одного типа в другой автоматически не выполняется (преобразование с сужением). Для этого имя типа указывается в скобках явно перед преобразуемым значением:
Классы-обертки
Классы BigInteger и BigDecimal
Задание 2
Наберите и отладьте пример. Добавьте блок, который складывает числа 1.234Е15 и 1.234Е-15. Воспользуйтесь примитивным типом double и классом BigDecimal. Сравните результаты.
Строки
Строка — это упорядоченная последовательность символов.
Для работы со строками в Java используютсяклассы:
Пример работы с классом StringBuffer
Задание 3
В ЯП Java, как и во многих других, имеются простые встроенные типы данных, имеющие приблизительно те же свойства
При выполнении операций с числами часто требуется преобразование типов (данные разного типа в одном выражении, тип результата не совпадает с типом данных).
Система выполняет автоматическое преобразование типа, если:- оба типа совместимы
- длина целевого типа больше длины исходного типа.
Преобразование типа производится по следующей схеме:
Сплошные линии обозначают преобразования, выполняемые без потери данных. Штриховые линии говорят о том, что при преобразовании может произойти потеря точности.
Типы char и boolean не совместимы ни между собой, ни с числовыми типами.
Программист может выполнить явное приведение типов, которое обычно необходимо, когда преобразование из одного типа в другой автоматически не выполняется (преобразование с сужением). Для этого имя типа указывается в скобках явно перед преобразуемым значением:
double a = 3.14;
byte b1 = (byte) a;
Простые (примитивные) типы в Java используются из соображений производительности.
Однако, многие из стандартных структур данных, реализованных в Java, оперируют с объектами, и их нельзя использовать с примитивными типами.
В таких ситуациях используют обертки примитивных типов, которые представляют собой классы, помещающие примитивный тип в объект.
Наименование класса-обертки обычно то же, что и у примитивного типа, только пишется с заглавной буквы (исключение - класс Character).
Пример работы с классами-обертками:
Задание 1
Наберите и отладьте пример. Добавьте вычисление и вывод на экран значение выражения ln(a)/(3,14a+1). Превратите это значение в строку вида " ln(a)/(3,14a+1)=..." вместо точек - значение.
Для работы с большими числами в в ЯП Java созданы специальные классы. BigInteger - для работы с длинными целыми, и BigDecimal - для работы с очень большими или очень малыми по модулю действительными числами.
Пример работы с классом BigInteger (для увеличения рисунка - нажмите на него):
Наберите и отладьте пример. Добавьте блок, который складывает числа 1.234Е15 и 1.234Е-15. Воспользуйтесь примитивным типом double и классом BigDecimal. Сравните результаты.
Для работы со строками в Java используютсяклассы:
- String (созданный объект класса String не может быть изменен)
- StringBuilder (созданный объект класса String может быть изменен, обрабатывается быстрее, чем StringBuffer, но не используется в многопоточных средах)
- StringBuffer (созданный объект класса String может быть изменен, используется в многопоточных средах)
Пример работы с классом String
String str1 = "Мама мыла раму";
int length = str1.length(); // возвращает длину строки
char ch = str1.charAt(2); // возвращает символ, находящийся по указанному индексу в строке
String name = str1.substring(4, str1.length()-4); // возвращает новую строку, которая является подстрокой используемой строки.
Можно вызывать методы объекта при выводе на экран, и помните, что объект не меняется:
System.out.println("Большие буквы, сравните! "+str1.toUpperCase()+" "+str1);
Дополнительные примеры найдете здесь:
String str1 = "Мама мыла раму";
int length = str1.length(); // возвращает длину строки
char ch = str1.charAt(2); // возвращает символ, находящийся по указанному индексу в строке
String name = str1.substring(4, str1.length()-4); // возвращает новую строку, которая является подстрокой используемой строки.
Можно вызывать методы объекта при выводе на экран, и помните, что объект не меняется:
System.out.println("Большие буквы, сравните! "+str1.toUpperCase()+" "+str1);
Дополнительные примеры найдете здесь:
- http://study-java.ru/uroki-java/rabota-so-strokami-v-java-osnovnye-metody-klassa-string/
- http://www.mstu.edu.ru/study/materials/java/09.htm
Пример работы с классом StringBuffer
Задание 3
•
- Дана строка символов, среди которых есть одна открывающаяся и одна закрывающаяся скобка. Вывести на экран все символы, расположенные внутри этих скобок.
- Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы. (Можно использовать разные методы, в том числе разбиение строк, показанное в примере на http://study-java.ru/ )
Комментариев нет:
Отправить комментарий