Файл: История возникновения и развития языка программирования Си (С++) и Java (Понятие языков программирования С и С++).pdf
Добавлен: 01.04.2023
Просмотров: 73
Скачиваний: 1
Их нельзя использовать в качестве идентификаторов (имен переменных, подпрограмм и т.п.), но можно использовать в строковых выражениях.
В языке Java только 8 примитивных (скалярных, простых) типов: boolean, byte, char, short, int, long, float, double.
Длины и диапазоны значений примитивных типов определяются стандартом, а не реализацией и приведены в таблице. Тип char сделали двухбайтовым для удобства локализации (один из идеологических принципов Java): когда складывался стандарт, уже существовал Unicode-16, но не Unicode-32. Поскольку в результате не осталось однобайтового типа, добавили новый тип byte, причем в Java, в отличие от других языков, он не является беззнаковым. Типы float и double могут иметь специальные значения, и «не число» (NaN). Для типа double они обозначаются Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.NaN; для типа float- так же, но с приставкой Float вместо Double. Минимальные положительные значения, принимаемые типами float и double, тоже стандартизованы.
Тип |
Длина (в байтах) |
Диапазон или набор значений |
boolean |
не определено |
true, false |
byte |
1 |
?128..127 |
char |
2 |
0..216?1, или 0..65535 |
short |
2 |
?215..215?1, или ?32768..32767 |
int |
4 |
?231..231?1, или ?2147483648..2147483647 |
long |
8 |
?263..263?1, или примерно ?9.2·1018..9.2·1018 |
float |
4 |
-(2-2?23)·2127..(2-2?23)·2127, или примерно ?3.4·1038..3.4·1038, а также , , NaN |
double |
8 |
-(2-2?52)·21023..(2-2?52)·21023, или примерно ?1.8·10308..1.8·10308, а также , , NaN |
Такая жёсткая стандартизация была необходима, чтобы сделать язык платформенно-независимым, что является одним из идеологических требований к Java и одной из причин её успеха. Тем не менее, одна небольшая проблема с платформенной независимостью всё же осталась. Некоторые процессоры используют для промежуточного хранения результатов 10-байтовые регистры или другими способами улучшают точность вычислений. Для того, чтобы сделать Java максимально совместимой между разными системами, в ранних версиях любые способы повышения точности вычислений были запрещены. Однако это приводило к снижению быстродействия. Выяснилось, что ухудшение точности ради платформенной независимости мало кому нужно, тем более, если за это приходится платить замедлением работы программ. После многочисленных протестов этот запрет отменили, но добавили ключевое слово strictfp, запрещающее повышение точности.
Преобразования при математических операциях Майкл ЭферганJava: справочник .- QUE Corporation, 1997, Издательство "Питер Ком", 1998. - С.71-75.
В языке Java действуют следующие правила:
1. Если один операнд имеет тип double, другой тоже преобразуется к типу double.
2. Иначе, если один операнд имеет тип float, другой тоже преобразуется к типу float.
3. Иначе, если один операнд имеет тип long, другой тоже преобразуется к типу long.
4. Иначе оба операнда преобразуются к типу int.
Данный способ неявного преобразования встроенных типов полностью совпадает с преобразованием типов в C++.
Заключение
Как было обещано в первом издании книги «Бьерн Страуструп. Язык программирования С++ », запросы пользователей определили развитие С++. Его направлял опыт широкого круга пользователей, которые трудились в различных сферах программирования. За 6 лет, которые отделяли нас от первого издания описания С++, количество пользователей увеличилось в сотни раз. За этот небольшой период усвоились множество уроков, рассмотрены в теории и применено на практике достаточное число приемов программирования.
Благодаря языку C++ произошел стремительный прорыв в развитии всего программирования. С++ и сегодня занимает доминирующее положение среди всех зыков программирования в мире. Благодаря ему множество программистов разрабатывает огромное число различных проектов. И в будущем этот язык программирования сохранит свои позиции, совершенствуясь изо дня в день
Язык Java является объектно-ориентированным и поставляется с достаточно объемной библиотекой классов. Благодаря библиотекам классов Java значительно упростилась разработка приложений, ведь в распоряжение программиста предоставлены мощные средства решения распространенных задач. Вследствие этого программист имеет возможность больше внимания уделить решению прикладных задач, а не таких, как, например, организация динамических массивов, взаимодействие с ОС или реализация элементов пользовательского интерфейса.
Свойства языка Java:
- язык программирования объектно-ориентирован, оснащён богатой библиотекой классов и одновременно довольно прост для освоения;
- цикл разработки приложений сокращен при помощи того, что система построена на основе интерпретатора;
- приложение получается автоматически переносимым между множеством платформ и ОС;
- за счет встроенной системы сборки «мусора» программист освобождается от необходимости явного управления памятью;