Java: руководство для начинающих (ЛП)

На нашем литературном портале можно бесплатно читать книгу Java: руководство для начинающих (ЛП), Шилдт Герберт-- . Жанр: Программирование. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Java: руководство для начинающих (ЛП)
Название: Java: руководство для начинающих (ЛП)
Дата добавления: 16 январь 2020
Количество просмотров: 683
Читать онлайн

Java: руководство для начинающих (ЛП) читать книгу онлайн

Java: руководство для начинающих (ЛП) - читать бесплатно онлайн , автор Шилдт Герберт

"Java: руководство для начинающих"составлено Гербертом Шилдтом, автором популярных во всем мире книг по языкам программирования, таким образом, чтобы читатель смог быстро овладеть основными навыками программирования на Java. Полностью обновленное по версии Java Platform, Standard Edition 7, пятое издание этого учебного пособия начинается с рассмотрения самых основ, включая компилирование и выполнение простых программ на Java. Затем в нем описываются ключевые слова и синтаксические конструкции, составляющие основу Java как языка программирования. Далее следует изложение самых передовых языковых средств Java, включая обобщения и многопоточное программирование. И завершается книга введением в библиотеку Swing. Представленный в книге учебный и справочный материал позволяет легко и быстро научиться программировать на Java. Для облегчения процесса изучения Java книга построена следующим образом: - Основные навыки и понятия. Каждая глава начинается с перечня основных навыков и понятий, которые предстоит усвоить читателю. - Обращение к знатоку. Во врезках под этим заголовком даются полезные рекомендации в форме вопросов и ответов. - Примеры для опробования. Это примеры небольших проектов, наглядно показывающие, как применять приобретенные знания и навыки на практике. - Упражнения для самопроверки. В конце каждой главы приводятся контрольные вопросы и задания для проверки прочности усвоенного материала. - Подробные комментарии к примерам программ. Все примеры программ в этой книге снабжены подробными комментариями, описывающими демонстрируемые языковые средства и приемы программирования на Java. В этом учебном пособии для начинающих программировать на Java подробно рассмотрены все основные средства данного языка программирования: типы данных, операторы, циклы, классы, интерфейсы, методы, исключения, обобщения, пакеты, основные библиотеки классов, средства многопоточного программирования, потоки ввода-вывода, перечисления, апплеты и документирующие комментарии. Применение всех этих языковых средств Java на практике наглядно демонстрируется в небольших проектах для самостоятельного опробования. Книга снабжена массой полезных советов авторитетного автора и множеством примеров программ с подробными комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. А для проверки прочности приобретенных знаний и навыков в конце каждой главы приводятся контрольные вопросы и задания.

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

1 ... 75 76 77 78 79 80 81 82 83 ... 133 ВПЕРЕД
Перейти на страницу:

Поток ввода System.in является экземпляром класса InputStream, и поэтому его можно указать в качестве параметра inputStream данного конструктора.

Затем на основании объекта типа InputStreamReader можно создать объект типа BufferedReader, используя следующий конструктор:BufferedReader(Reader inputReader)

где inputReader — это поток, который связывается с создаваемым экземпляром класса Buf feredReader. Объединяя обращения к указанным выше конструкторам в одну операцию, мы получаем приведенную ниже строку кода. В ней создается объект типа BufferedReader, связанный с клавиатурой.BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

После выполнения этого оператора присваивания переменная br будет содержать ссылку на символьный поток, связанный с консолью через поток ввода System.in.Чтение символов

Прочитать символы из потока ввода System, in можно с помощью метода read(), определенного в классе Buf f eredReader. Чтение символов мало чем отличается от чтения данных из байтовых потоков. Ниже приведены общие формы объявления трех вариантов метода read (), предусмотренных в классе Buf f eredReader.int read() throws IOExceptionint read(char data[]) throws IOExceptionint read(char data[], int start, int max) throws IOException

В первом варианте метод read () читает один символ в уникоде. По достижении конца потока этот метод возвращает значение -1. Во втором варианте метод read () читает данные из потока ввода и помещает их в массив. Чтение оканчивается по достижении конца потока, по заполнении массива data символами или при возникновении ошибки. В этом случае метод возвращает число прочитанных символов, а если достигнут конец потока, — значение -1. В третьем варианте метод read () помещает прочитанные символы в массив data, начиная с элемента, определяемого индексом start. Максимальное число символов, которые могут быть записаны в массив, определяется параметром max. В данном случае метод возвращает число прочитанных символов или значение -1, если достигнут конец потока. При возникновении ошибки в каждом из перечисленных выше вариантов метода read () генерируется исключение IOException. При чтении данных из потока ввода System, in конец потока устанавливается нажатием клавиши < Enter>.

Ниже приведен пример программы, демонстрирующий применение метода read() для чтения символов с консоли. Символы читаются до тех пор, пока пользователь не введет точку. Следует иметь в виду, что исключения, которые могут быть сгенерированы при выполнении данной программы, обрабатываются за пределами метода main (). Как пояснялось выше, подобный подход характерен для обработки ошибок при чтении данных с консоли. По желанию вы можете употребить другой механизм обработки ошибок.// Применение класса BufferedReader для чтения символов с консоли,import java.io.*;class ReadChars { public static void main(String args[]) throws IOException { char c; // Создание объекта типа BufferedReader, связанного // с потоком стандартного ввода System.in. BufferedReader br = new BufferedReader(new InputStreamReader'(System. in) ) ; System.out.println("Enter characters, period to quit."); // читать символы do { с = (char) br.read(); System.out.println(c) ; } while(c != '.'); }}

Результат выполнения данной программы выглядит следующим образом:Enter characters, period to quit.One Two.OneTwоЧтение символьных строк

Для ввода символьной строки с клавиатуры следует воспользоваться методом readLine () из класса Buf feredReader. Ниже приведена общая форма объявления этого метода.String readLine() throws IOException

Этот метод возвращает объект типа String, содержащий прочитанные символы. При попытке прочитать символьную строку по окончании потока метод возвращает пустое знчение null.

Ниже приведен пример программы, демонстрирующий применение класса BufferedReader и метода readLine (). В этой программе текстовые строки читаются и отображаются до тех пор, пока не будет введено слово "stop".// Чтение символьных строк с консоли средствами класса BufferedReader.import java.io.*; class ReadLines { public static void main(String args[]) throws IOException { // создать объект типа BufferedReader, связанный с потоком System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; System.out.println("Enter lines of text."); System.out.println("Enter 'stop' to quit."); do { // использовать метод readLine() из класса BufferedReader // для чтения текстовой строки str = br.readLine(); System.out.println(str) ; } while(!str.equals("stop")) ; }}Консольный вывод в символьные потоки

Несмотря на то что поток стандартного вывода System, out вполне может использоваться для вывода на консоль, такой подход скорее пригоден для целей отладки или при создании очень простых программ, подобных тем, которые приводятся в качестве примеров в этой книге. Для реальных прикладных программ на Java вывод на консоль обычно организуется через поток PrintWriter, относящийся к одному из классов, представляющих символьные потоки. Как упоминалось ранее, применение символьных потоков упрощает локализацию прикладных программ.

В классе PrintWriter определен ряд конструкторов. Далее будет использоваться следующий конструктор:PrintWriter(OutputStream OutputStream, boolean flushOnNewline)

где в качестве первого параметра OutputStream конструктору передается объект типа OutputStream, а второй параметр f lushOnNewline указывает, должен ли производиться вывод данных из буфера в поток вывода при каждом вызове метода println (). Если параметр f lushOnNewline принимает логическое значение true, данные выводятся из буфера автоматически.

В классе PrintWriter поддерживаются методы print () и println () для всех типов, включая Object. Следовательно, методы print () и println () можно использовать точно так же, как и вместе с потоком вывода System, out. Если значение аргумента не относится к простому типу, то методы из класса PrintWriter вызывают метод toString () для объекта, указываемого в качестве параметра, а затем выводят результат.

Для вывода данных на консоль через поток типа PrintWriter следует указать System.out B качестве потока вывода и обеспечить вывод данных из буфера после каждого вызова метода println (). Например, при выполнении следующей строки кода создается объект типа PrintWriter, связанный с консолью:PrintWriter pw = new PrintWriter(System.out, true);

Ниже приведен пример прикладной программы, демонстрирующий применение класса PrintWriter для организации вывода на консоль.// Применение класса PrintWriter.import java.io.*;public class PrintWriterDemo { public static void main(String args[]) { // Создание объекта типа PrintWriter, связанного // с потоком стандартного вывода System.out. PrintWriter pw = new PrintWriter(System.out, true); int i = 10; double d = 123.65; pw.println("Using a PrintWriter."); pw.println(i); pw.println(d); pw.println(i + " + " + d + " is " + (i+d)); }}

Выполнение этой программы дает следующий результат:Using a PrintWriter.10123.6510 + 123.65 is 133.65

Несмотря на все удобство символьных потоков, не следует забывать, что для изучения языка Java или отладки программ можно вполне пользоваться и потоком вывода System, out. Но если в программе применяется поток PrintWriter, то ее проще локализировать. Для кратких примеров программ, представленных в этой книге, применение потока PrintWriter не имеет существенных преимуществ перед потоком System, out, поэтому в и последующих примерах для вывода на консоль будет использоваться поток System.out.Ввод-вывод в файлы через символьные потоки

На практике чаще всего приходится обращаться с файлами, имеющими байтовую организацию, тем не менее, для этой цели можно пользоваться символьными потоками. Преимущество символьных потоков заключается в том, что они оперируют непосредственно символами в уникоде. Так, если требуется сохранить текст в уникоде, для этой цели лучше всего воспользоваться символьными потоками. Как правило, для файлового ввода-вывода символов служат классы FileReader и FileWriter.Применение класса FileWriter

1 ... 75 76 77 78 79 80 81 82 83 ... 133 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название