рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Массивы в Java

Массивы в Java - раздел Программирование, Язык программирования Java Массивы В Java. В Языке Java Присутствуют Массивы. Эти Массивы Типизированы. ...

Массивы в Java. В языке Java присутствуют массивы. Эти массивы типизированы. Декларация Point myPoints описывает переменную myPoints как массив объектов типа Point. Завести массив определенного размера можно с помощью инструкции вида myPoints new Point 10 Значения элементов массива при этом устанавливаются равными специальной величине null. Размер массива может быть получен во время выполнения программы howMany myPoints.length Для создания массива вы можете пользоваться квадратными скобками, расположив их справа от имени массива или от типа объектов, из которых составлен массив, например int nNumbers int nAnotherNumbers Допустимы оба варианта, поэтому вы можете выбрать тот, который вам больше нравится.

При определении массивов в языке Java нельзя указывать их размер. Приведенные выше две строки не вызывают резервирования памяти для массива. Здесь просто создаются ссылки на массивы, которые без инициализации использовать нельзя.

Для того чтобы заказать память для массива, вы должны создать соответствующие объекты с помощью ключевого слова new, например int nAnotherNumbers nAnotherNumbers new int 15 Как выполнить инициализацию ячеек таблицы? Такую инициализацию можно выполнить либо статически, либо динамически. В первом случае вы просто перечисляете значения в фигурных скобках, как это показано ниже int nColorRed 255, 255, 100, 0, 10 Динамическая инициализация выполняется с использованием индекса массива, например, в цикле int nInitialValue 7 int nAnotherNumbers nAnotherNumbers new int 15 for int i 0 i 15 i nAnotherNumbers i nInitialValue Возможно создавать массивы не только из переменных базовых типов, но и из произвольных объектов.

Каждый элемент такого массива должен инициализироваться оператором new. Массивы могут быть многомерными и, что интересно, несимметричными. Ниже создается массив массивов. В нулевом и первом элементе создается массив из четырех чисел, а во втором - из восьми int nDim new int 5 10 nDim 0 new int 4 nDim 1 new int 4 nDim 2 new int 8 Во время выполнения приложения виртуальная машина Java проверяет выход за границы массива.

Если приложение пытается выйти за границы массива, происходит исключение. Массивы в языке Java являются объектами некоторого встроенного класса. Для этого класса существует возможность определить размер массива, обратившись к элементу данных класса с именем length, например int nAnotherNumbers nAnotherNumbers new int 15 for int i 0 i nAnotherNumbers. length i nAnotherNumbers i nInitialValue Для определения размера массива вам не нужен такой оператор, как sizeof из языка программирования С, потому что существует другой способ определения этого размера.

Других структурных типов не являющихся объектами в языке Java нет, то есть нет структур, объединений и т.п. Нет в Java и указателей. Строки символов являются объектами типа String текстовые константы или StringBuffer изменяемые строки. Пример String hello Hello world! ПАКЕТЫ.Классы в языке Java объединяются в пакеты.

Все классы, входящие в один пакет, являются дружественными по отношению друг к другу, то есть имеют взаимный доступ к переменным и методам, если противное не оговорено явно посредством спецификаторов private или protected. Пакеты разграничивают пространства имен. Просто глобальных имен в языке Java не бывает. Пакет оформляется с помощью синтаксической конструкции вида package my packages.pack1 Инструкция package должна стоять первой в файле с исходным Java-текстом.

Она действует до конца файла. Пакеты могут импортироваться другими пакетами посредством инструкции import. Примеры, import java.util import java.util. HashTable import java.util. Первая инструкция import позволяет обращаться к классам пакета util следующим образом util. Vector util. HashTable Вторая инструкция импортирует лишь класс HashTable, позволяя в дальнейшем обращаться к этому классу по короткому имени, без префикса util. Третья инструкция import позволяет обращаться по коротким именам ко всем классам пакета util. УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ. Управляющие конструкции языка Java вполне традиционны, за исключением средств выхода из вложенных блоков в частности, из вложенных циклов. Пример test for int i 0 i 10 i for int j 0 j 10 j if i 3 break test Для передачи управления можно применять как конструкцию break, так и continue переход к следующей итерации цикла. Инструкция goto в языке Java отсутствует.

ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ. Для обработки исключительных ситуаций, возникающих во время выполнения программы, в языке Java используется конструкция try catch finally.

Блок try содержит инструкции, выполнение которых может привести к возникновению исключительных ситуаций. Следующие за ним один или несколько блоков catch предназначены для обработки исключительных ситуаций. Наконец, блок finally содержит инструкции, которые будут выполнены независимо от возникновения исключительной ситуации в блоке try. При выходе из try-части посредством инструкций передачи управления break, return и т.п. блок finally также будет выполнен.

Для передачи информации об исключительной ситуации используются объекты классов - наследников класса Throwable. Например, класс ArrayIndexOutOfBoundsException отвечает за контроль выхода индексов за границы массивов, класс OutOfMemoryException - за реакцию на исчерпание свободной памяти, класс ClassCastException - за ошибки при преобразовании типов, класс InterruptedException - за обработку прерывания текущего потока и т.д. Компонентой всех этих классов является поле типа String, в которое помещается текст сообщения об ошибке. Метод getMessage возвращает этот текст.

В подобных объектах может содержаться и дополнительная информация. Например, объекты класса InterruptedIOException содержат поле, в которое заносится число байт, переданных до возникновения исключительной ситуации. try for int i 0 i 100 i System.out.println messages i catch ArrayOutOfBoundException e System.out.println No more messages catch Exception e System.out.println Unexpected exception System.out.println e.getMessage finally System.out.println Work done Фрагмент программы, показанный выше, распечатывает сообщения из массива messages.

При этом мы не пытаемся выяснить размер массива, а просто полагаемся на механизм обработки исключительных ситуаций. Конечно, мы не советуем писать программы в таком стиле. Исключительные ситуации могут возбуждаться программно при помощи инструкций вида throw new MyException Something s wrong Спецификации языка Java подразделяют исключительные ситуации на две категории.

К первой категории класс Error относятся ситуации, на которые программа не обязана реагировать это заведомо сделает Java-машина. Ко второй категории класс Exception относятся ситуации, которые программа должна обрабатывать обязательно. Если при выполнении метода может возникать исключительная ситуация второго типа, он должен либо обрабатывать ее сам с помощью конструкции try catch finally, либо в его определении должна фигурировать конструкция throws Exception1, Exception2, class Foo extends Object public void readFromFile String fn throws InvalidFormatException FileInputStream fis try fis new FileInputStream fn Читаем данные из файла Если файл имеет неправильный формат, вожбуждаем исключительную ситуацию throw new InvalidFormatException Wrong format catch FileNotFoundException e Предпринимаем соответствующие действия finally if fis ! null fis.close всегда закрываем файл, если он был открыт В этом примере, в методе readFromFile могут возникнуть две исключительные ситуации.

Первая связана с тем, что нужный файл недоступен.

Эта ситуация обрабатывается внутри метода readFromFile. Вторая исключительная ситуация может возникнуть, если файл имеет неправильный формат. Эта ситуация передается для обработки наверх. МЕХАНИЗМ ПОТОКОВ. Механизм потоков - обязательная черта современных операционных сред. За счет потоков обеспечивается масштабируемость программных систем, оптимальное использование аппаратных ресурсов, высокая скорость отклика на запросы пользователей.

Нет ничего удивительного в том, что в языке Java механизм потоков предусмотрен с самого начала и в полном объеме. В языке Java потоки представлены посредством класса Thread, интерфейса Runnable, спецификатора метода synchronized и методов класса Object wait и notify.

– Конец работы –

Эта тема принадлежит разделу:

Язык программирования Java

И тем не менее, уже довольно длительная история развития персональных компьютеров не знала ничего, подобного феномену Java. Что изменилось в мире в… Он стал доступен миллионам людей, далеких от технических проблем. Число пользователей Интернет по порядку величины уже не отличается от числа пользователей персональных компьютеров и…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Массивы в Java

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Мобильность Java
Мобильность Java. Язык программирования С является мобильным. Это нужно понимать в том смысле, что имеется принципиальная возможность переноса программ C на различные платформы. Однак

ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA
ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA. Когда говорят об объектно-ориентированном языке программирования, предполагают поддержку трех механизмов инкапсуляция наследование полиморфизм. Инкапсуляция и наследова

НАСЛЕДОВАНИЕ. Интерфейсы
НАСЛЕДОВАНИЕ. Интерфейсы. Модель наследования в языке Java существенно отличается от модели C . Во-первых, в Java нет множественного наследования. Таким образом, для каждого дочернего класса

ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА
ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА. Объекты создаются с помощью оператора new. Инициализация объекта производится с помощью соответствующего конструктора. Эти операции разделить нельзя - за new всегда с

КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE
КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE. Поток thread представляет собой отдельный поток управления в пределах процесса. Таким образом, у каждого потока есть начало, последовательность действий, т

СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ
СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ. Как и во всякой многопроцессной или многопотоковой среде, в Java существует проблема синхронизации доступа к разделяемым ресурсам. Примером такого ресурса явл

Замещающие классы
Замещающие классы. Очень часто в наших приложениях вместо базовых типов переменных мы будем использовать объекты встроенных классов, которые называются замещающими классами wrapper classes. Ниже мы

Другие встроенные классы
Другие встроенные классы. Среди других встроенных классов отметим класс Math, предназначенный для выполнения математических операций, таких как вычисление синуса, косинуса и тангенса. Предус

Библиотека классов java.io
Библиотека классов java.io. В библиотеке классов java.io собраны классы, имеющие отношение к вводу и выводу данных через потоки. С использованием этих классов можно работать не только с пото

ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ
ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ. Технологический цикл подготовки, трансляции, редактирования внешних связей, тестирования, отладки и выполнения Java-программ тот же, что и для других и

СИСТЕМА КОМАНД JAVA-МАШИНЫ
СИСТЕМА КОМАНД JAVA-МАШИНЫ. проектировались таким образом, чтобы всячески способствовать компактификации кода. С другой стороны, формат команд Java-машины довольно прост обычно команды не имеют опе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги