Опубликован: 15.11.2010 | Доступ: свободный | Студентов: 643 / 18 | Оценка: 4.00 / 5.00 | Длительность: 17:30:00
Специальности: Программист
Лекция 7:

Буферизированный (потоковый) ввод-вывод. Часть II

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

7.1.8. Вывод средствами языка Java

Вывод в стандартные потоки вывода и ошибок символьных данных средствами языка Java возможен при использовании следующих функций:

  • println ;
  • print.

Рассмотрим эти функции поподробнее.

ФУНКЦИЯ PRINTLN
ОПРЕДЕЛЕНА В: Класс System
СИНТАКСИС: System.out.println( "Элемент_1"{ + "Элемент_n"} ) ; где "Элемент_1" - "Элемент_n" - Заключённые в кавычки строки, переменные, константы (например, числа) или практически любой объект, определённый в языке Java;
НАЗНАЧЕНИЕ: Функция выводит один или несколько элементов в стандартный поток вывода;
ОПИСАНИЕ: Вывод текстовой строки из текстовых (или преобразованные в текстовую форму) переменных, констант и литералов. Переменные разделяются знаками "+", в конце автоматически вставляется символ "EOL" ;
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: Функция не возвращает значений;
ПЕРЕНОСИМОСТЬ: Везде;

ФУНКЦИЯ PRINT
ОПРЕДЕЛЕНА В: Класс System
СИНТАКСИС: System.out.print( "Элемент_1"{ + "Элемент_n"} ) ; где "Элемент_1" - "Элемент_n" - Заключённые в кавычки строки, переменные, константы (например, числа) или практически любой объект, определённый в языке Java;
НАЗНАЧЕНИЕ: Функция выводит один или несколько элементов в стандартный поток вывода;
ОПИСАНИЕ: Вывод текста или преобразованных в текст объектов, констант и литералов. Переменные выводятся, начиная с текущей позиции курсора, разделяются знаками "+", в конце строка не завершается символом "EOL" (то есть новый вывод будет осуществляться с той же строки);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: Функция не возвращает значений;
ПЕРЕНОСИМОСТЬ: Везде;

Пример 7.9.

/* File ex07009.java */
/* Функция реализует простейший диалог между ЭВМ и человеком с условием */
/* Данный пример тестировался на компиляторе Sun J2EE SDK 1.6) */
/* Данный пример требует наличие компилированного класса SavitchIn */
import java.io.*;
import java.util.*;
// Файл ex07009.java
public class ex07009
{
	public static void main( String[] args )
	{
/* Определение переменных */
		int Age;
		String Name, junk;
/* Начало диалога (ввод данных пользователя */
		System.out.print("Введите Ваше имя: ");
		Name = SavitchIn.readLine();
		System.out.print( "Введите Ваш возраст: " );
		Age = SavitchIn.readLineInt();
/* Проверка условия и вывод диалога */
		if( Age < 40 )
			System.out.println( "Добрый день, Молодой человек!" );
		else
			System.out.println( "Добрый день, Папаша!" );
		System.out.println( "Ваш возраст, " + Name + ", - " + Age +" лет." );
/* Завершение работы программы */
		System.out.println( "Press key Enter to exit..." );
		junk = SavitchIn.readLine();
	}
}
Листинг 7.9. Реализация алгоритма из примера 7.2.

7.2. Резюме стандартного буферизированного ввода-вывода

На данной лекции Вы познакомились с описанием функций буферизированного (потокового) вывода в стандартный поток вывода и, частично, в стандартный поток ошибок. На этой лекции Вы "закрепили и развили" содержание "Буферизированный (потоковый) ввод-вывод" данного курса, и теперь можете свободно писать программы-фильтры для работы с текстом в любой операционной системе - был бы только подходящий инструментарий.

С помощью полученных знаний Вы можете писать диалоговые программы, в том числе и первые "диалоговые игровые программы", столь популярные на компьютерах образца 80-х годов XX века.

Однако для того чтобы писать более "продвинутые" программы, требующие работы с файлами, Вам потребуются функции создания, закрытия и манипулирования файловыми потоками. Об этом - в следующих лекциях.

7.3. Приложение №1

Функции вывода данных в стандартный поток вывода языка Си.

ФУНКЦИЯ printf
ОПРЕДЕЛЕНА В: <stdio.h>
СИНТАКСИС:
int printf( format_string[, arguments…] );
char *format_string;
НАЗНАЧЕНИЕ: Функция печатает символы и формирует и печатает задаваемые аргументами значения в стандартный поток вывода ( stdout ). Она имеет переменное число параметров;
ОПИСАНИЕ: Строка описания формата вывода, format_string, состоит из обычных символов, escape и других управляющих последовательностей, а также спецификаций форматов вывода переменных, заданных в списке аргументов, по одному для каждого аргумента;

Обычные символы и escape последовательности просто копируются в поток stdout в порядке их появления, при этом символ: '\n' преобразуется в последовательность: '\r\n'. Если же за параметром format_string следуют аргументы: arguments, то она должна содержать спецификации форматов, начинающиеся со знака: '%'. Строка описания формата прочитывается слева направо, значения переменных, указанные в строке форматов как спецификации форматов, выводятся последовательно друг за другом. Лишние спецификации игнорируются. Результат не определён, если спецификаций в строке форматов меньше, чем аргументов функции;

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: Число напечатанных символов.

ФУНКЦИЯ: puts
ОПРЕДЕЛЕНА В: <stdio.h>
СИНТАКСИС:
int puts( s );
const char *;
НАЗНАЧЕНИЕ: Функция выводит строку в поток stdout ;
ОПИСАНИЕ: Функция puts копирует строку символов с нулевым окончанием '\0' в поток стандартного вывода stdout, причём добавляет в конец символ перехода на новую строку (т.е. заменяет символ '\0' на строку символов "\r\n\0") ;
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: При успешном завершении функция puts возвращает ненулевое значение. В противном случае возвращается значение EOF ;
ПЕРЕНОСИМОСТЬ: Данная функция поддерживается в операционных системах, основанных на UNIX, содержится в стандарте ANSI C.

ФУНКЦИЯ: putc
ОПРЕДЕЛЕНА В: <stdio.h>
СИНТАКСИС:
int putc( c, stream );
int c;
FILE *stream;
НАЗНАЧЕНИЕ: Функция выводит символ в поток;
ОПИСАНИЕ: Функция putc представляет собой макрокоманду, которая выводит символ в указанный выходной поток stream ;
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: При успешном завершении функция возвращает символ c. При возникновении ошибки функция возвращает значение EOF (конец файла);
ПЕРЕНОСИМОСТЬ: Функция поддерживается в операционных системах UNIX, стандарте ANSI C, и определена в стандарте Кернигана и Ритчи.

ФУНКЦИЯ: putchar
ОПРЕДЕЛЕНА В: <stdio.h>
СИНТАКСИС:
int putchar( c );
int c;
НАЗНАЧЕНИЕ: Функция выводит символ в поток stdout ;
ОПИСАНИЕ: putchar - это макрокоманда, определённая как putc( c, stdout) ;
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: При успешном завершении функция возвращает выведенный символ c. При ошибке она возвращает EOF ;
ПЕРЕНОСИМОСТЬ: Функция поддерживается в операционных системах UNIX, стандарте ANSI C, и определена в стандарте Кернигана и Ритчи.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Дмитрий Карпов
Дмитрий Карпов
Россия, Нижний Новгород
Олег Корсак
Олег Корсак
Латвия, Рига