Как вывести текст в java
Наиболее простой способ взаимодействия с пользователем представляет консоль: мы можем выводить на консоль некоторую информацию или, наоборот, считывать с консоли некоторые данные. Для взаимодействия с консолью в Java применяется класс System , а его функциональность собственно обеспечивает консольный ввод и вывод.
Вывод на консоль
Для создания потока вывода в класс System определен объект out . В этом объекте определен метод println , который позволяет вывести на консоль некоторое значение с последующим переводом курсора консоли на следующую строку. Например:
public class Program < public static void main(String[] args) < System.out.println("Hello world!"); System.out.println("Bye world. "); >>
В метод println передается любое значение, как правило, строка, которое надо вывести на консоль. И в данном случае мы получим следующий вывод:
Hello world! Bye world.
При необходимости можно и не переводить курсор на следующую строку. В этом случае можно использовать метод System.out.print() , который аналогичен println за тем исключением, что не осуществляет перевода на следующую строку.
public class Program < public static void main(String[] args) < System.out.print("Hello world!"); System.out.print("Bye world. "); >>
Консольный вывод данной программы:
Hello world!Bye world.
Но с помощью метода System.out.print также можно осуществить перевод каретки на следующую строку. Для этого надо использовать escape-последовательность \n:
System.out.print("Hello world \n");
Нередко необходимо подставлять в строку какие-нибудь данные. Например, у нас есть два числа, и мы хотим вывести их значения на экран. В этом случае мы можем, например, написать так:
public class Program < public static void main(String[] args) < int x=5; int y=6; System.out.println("x=" + x + "; y console">x=5; y=6Но в Java есть также функция для форматированного вывода, унаследованная от языка С: System.out.printf() . С ее помощью мы можем переписать предыдущий пример следующим образом:
int x=5; int y=6; System.out.printf("x=%d; y=%d \n", x, y);В данном случае символы %d обозначают спецификатор, вместо которого подставляет один из аргументов. Спецификаторов и соответствующих им аргументов может быть множество. В данном случае у нас только два аргумента, поэтому вместо первого %d подставляет значение переменной x, а вместо второго - значение переменной y. Сама буква d означает, что данный спецификатор будет использоваться для вывода целочисленных значений.
Кроме спецификатора %d мы можем использовать еще ряд спецификаторов для других типов данных:
- %x : для вывода шестнадцатеричных чисел
- %f : для вывода чисел с плавающей точкой
- %e : для вывода чисел в экспоненциальной форме, например, 1.3e+01
- %c : для вывода одиночного символа
- %s : для вывода строковых значений
public class Program < public static void main(String[] args) < String name = "Tom"; int age = 30; float height = 1.7f; System.out.printf("Name: %s Age: %d Height: %.2f \n", name, age, height); >>
При выводе чисел с плавающей точкой мы можем указать количество знаков после запятой, для этого используем спецификатор на %.2f , где .2 указывает, что после запятой будет два знака. В итоге мы получим следующий вывод:
Name: Tom Age: 30 Height: 1,70
Ввод с консоли
Для получения ввода с консоли в классе System определен объект in . Однако непосредственно через объект System.in не очень удобно работать, поэтому, как правило, используют класс Scanner , который, в свою очередь использует System.in . Например, напишем маленькую программу, которая осуществляет ввод чисел:
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Input a number: "); int num = in.nextInt(); System.out.printf("Your number: %d \n", num); in.close(); >>
Так как класс Scanner находится в пакете java.util , то мы вначале его импортируем с помощью инструкции import java.util.Scanner .
Для создания самого объекта Scanner в его конструктор передается объект System.in . После этого мы можем получать вводимые значения. Например, в данном случае вначале выводим приглашение к вводу и затем получаем вводимое число в переменную num.
Чтобы получить введенное число, используется метод in.nextInt(); , который возвращает введенное с клавиатуры целочисленное значение.
Пример работы программы:
Input a number: 5 Your number: 5
Класс Scanner имеет еще ряд методов, которые позволяют получить введенные пользователем значения:
- next() : считывает введенную строку до первого пробела
- nextLine() : считывает всю введенную строку
- nextInt() : считывает введенное число int
- nextDouble() : считывает введенное число double
- nextBoolean() : считывает значение boolean
- nextByte() : считывает введенное число byte
- nextFloat() : считывает введенное число float
- nextShort() : считывает введенное число short
То есть для ввода значений каждого примитивного типа в классе Scanner определен свой метод.
Например, создадим программу для ввода информации о человеке:
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Input name: "); String name = in.nextLine(); System.out.print("Input age: "); int age = in.nextInt(); System.out.print("Input height: "); float height = in.nextFloat(); System.out.printf("Name: %s Age: %d Height: %.2f \n", name, age, height); in.close(); >>
Здесь последовательно вводятся данные типов String, int, float и потом все введенные данные вместе выводятся на консоль. Пример работы программы:
Input name: Tom Input age: 34 Input height: 1,7 Name: Tom Age: 34 Height: 1,70
Обратите внимание, что для ввода значения типа float (то же самое относится к типу double) применяется число "1,7", где разделителем является запятая, а не "1.7", где разделителем является точка. В данном случае все зависит от текущей языковой локализации системы. В моем случае русскоязычная локализация, соответственно вводить необходимо числа, где разделителем является запятая. То же самое касается многих других локализаций, например, немецкой, французской и т.д., где применяется запятая.
- Глава 1. Введение в Java
- Язык программирования Java
- Установка Java
- Первая программа на Java
- Первая программа в IntelliJ IDEA
- Первая программа в NetBeans
- Первая программа в Eclipse
- Структура программы
- Переменные и константы
- Типы данных
- Консольный ввод/вывод в Java
- Арифметические операции
- Поразрядные операции
- Условные выражения
- Операции присваивания и приоритет операций
- Преобразования базовых типов данных
- Условные конструкции
- Циклы
- Массивы
- Методы
- Параметры методов
- Оператор return. Результат метода
- Перегрузка методов
- Рекурсивные функции
- Введение в обработку исключений
- Классы и объекты
- Пакеты
- Модификаторы доступа и инкапсуляция
- Статические члены и модификатор static
- Объекты как параметры методов
- Внутренние и вложенные классы
- Наследование
- Абстрактные классы
- Иерархия наследования и преобразование типов
- Интерфейсы
- Интерфейсы в механизме обратного вызова
- Перечисления enum
- Класс Object и его методы
- Обобщения (Generics)
- Ограничения обобщений
- Наследование и обобщения
- Ссылочные типы и клонирование объектов
- Records
- Оператор throws
- Классы исключений
- Создание своих классов исключений
- Типы коллекций. Интерфейс Collection
- Класс ArrayList и интерфейс List
- Очереди и класс ArrayDeque
- Класс LinkedList
- Интерфейс Set и класс HashSet
- SortedSet, NavigableSet, TreeSet
- Интерфейсы Comparable и Comporator. Сортировка
- Интерфейс Map и класс HashMap
- Интерфейсы SortedMap и NavigableMap. Класс TreeMap
- Итераторы
- Потоки ввода-вывода
- Чтение и запись файлов. FileInputStream и FileOutputStream
- Закрытие потоков
- Классы ByteArrayInputStream и ByteArrayOutputStream
- Буферизованные потоки BufferedInputStream и BufferedOutputStream
- Форматируемый вывод. PrintStream и PrintWriter
- Классы DataOutputStream и DataInputStream
- Чтение и запись текстовых файлов
- Буферизация символьных потоков. BufferedReader и BufferedWriter
- Сериализация объектов
- Класс File. Работа с файлами и каталогами
- Работа с ZIP-архивами
- Класс Console
- Введение в строки. Класс String
- Основные операции со строками
- StringBuffer и StringBuilder
- Регулярные выражения
- Введение в лямбда-выражения
- Лямбды как параметры и результаты методов
- Встроенные функциональные интерфейсы
- Класс Thread
- Создание и выполнение потоков
- Завершение и прерывание потока
- Синхронизация потоков. Оператор synchronized
- Взаимодействие потоков. Методы wait и notify
- Семафоры
- Обмен между потоками. Класс Exchanger
- Класс Phaser
- Блокировки. ReentrantLock
- Условия в блокировках
- Введение в Stream API
- Создание потока данных
- Фильтрация, перебор элементов и отображение
- Сортировка
- Получение подпотока и объединение потоков
- Методы skip и limit
- Операции сведения
- Метод reduce
- Тип Optional
- Метод collect
- Группировка
- Параллельные потоки
- Параллельные операции над массивами
- Создание модуля
- Зависимые модули
- Взаимодействие между модулями
- Математические вычисления и класс Math
- Большие числа BigInteger и BigDecimal
- Работа с датами. LocalDate
Как вывести текст в java
Для выведения текста на экран или в консоль в Java используется метод System.out.println() :
System.out.println("Hello, world!"); // => Hello, world!
Основы Java за 14 дней
62 урока в онлайн-тренажере
4 живых вебинара и масскодинг
Помощь наставника на весь период обучения
Есть что добавить? Зарегистрируйтесь
Курсы по программированию в Хекслете
Backend-разработка
Разработка серверной части сайтов и веб-приложений
Frontend-разработка
Разработка внешнего интерфейса сайтов и веб-приложений и верстка
Создание сайтов
Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails
Тестирование
Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP
Аналитика данных
Сбор, анализ и интерпретация данных на Python
Интенсивные курсы
Интенсивное обучение для продолжающих
DevOps
Автоматизация настройки локального окружения и серверов, развертывания и деплоя
Веб-разработка
Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков
Математика для программистов
Обучение разделам математики, которые будут полезны при изучении программирования
JavaScript
Разработка сайтов и веб-приложений и автоматизированное тестирование на JS
Python
Веб-разработка, автоматическое тестирование и аналитика данных на Python
Java
Веб-разработка и автоматическое тестирование на Java
PHP
Веб-разработка и автоматическое тестирование на PHP
Ruby
Разработка сайтов и веб-приложений на Ruby on Rails
Go
Курсы по веб-разработке на языке Go
HTML
Современная верстка с помощью HTML и CSS
SQL
Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД
Git
Система управления версиями Git, регулярные выражения и основы командой строки
Похожие вопросы
23 ноября 2021
23 ноября 2021
23 ноября 2021
23 ноября 2021
- 8 800 100 22 47 бесплатно по РФ
- +7 495 085 28 38 бесплатно по Москве
Направления
- Курсы «Backend-разработка»
- Курсы «Frontend-разработка»
- Курсы «Создание сайтов»
- Курсы «Тестирование»
- Курсы «Аналитика данных»
- Интенсивные курсы
- Курсы DevOps
- Курсы «Веб-разработка»
- Курсы «Математика для программистов»
- Все курсы
О Хекслете
- О нас
- Карьера в Хекслете
- Хекслет Колледж
ООО «Хекслет Рус» 108813, г. Москва, вн.тер.г. поселение Московский, г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 10/3 ОГРН 1217300010476
- Справка
- Вопросы и ответы
- Сообщество
- Дополнительно
- Условия использования
- Соглашение об обработке ПД
- Оферта
- Акции
System.out.println
С чего начинается изучение языка программирования? С написания первой программы. Традиционно первая программа называется “Hello world”, и весь её функционал состоит из вывода на консоль фразы “Hello world!”. Такая простая программа дает возможность новому программисту почувствовать, что что-то да заработало.
“Hello world” на разных языках программирования
На разных языках программирования код будет разным: Pascal “Hello world”
begin writeln ('Hello, world.'); end.
C “Hello world”
int main()
C# “Hello world”
static void Main(string[] args)
Java “Hello world”
public static void main(String[] args)
- Pascal — writeln ;
- C — printf ;
- C# — System.Console.WriteLine ;
- Java — System.out.println .
Подробнее о выводе на консоль в Java
Как вы уже поняли, чтобы вывести текст на консоль, в Java необходимо воспользоваться командой System.out.println() . Но что значит этот набор символов? Для тех, кто знаком с языком Java и основными терминами ООП (для студентов, которые прошли курс JavaRush примерно до 15 уровня), ответ очевиден: “Для вывода текста на консоль мы обращаемся к статическому полю out класса System , у которого вызываем метод println() , и в качестве аргумента передаем объект класса String ”. Если для вас смысл сказанного выше туманный, значит, будем разбираться! Данная команда состоит из трех слов: System out println . Каждое из них представляет собой какую-то сущность, которая предоставляет необходимый функционал для работы с консолью. System — сущность (в Java это называется классом), которая выполняет роль “моста”, соединяющего вашу программу со средой, в которой она запущена. out — сущность, которая хранится внутри System . По умолчанию ссылается на поток вывода на консоль. Подробнее о потоках ввода/вывода в Java можно прочитать здесь. println — метод, который вызывается у сущности out, чтобы обозначить способ, с помощью которого информация будет выведена на консоль. Давай разберемся с каждым элементом из этой цепочки подробней.
System
- Доступ к переменным окружения операционной системы:
System.getenv("JAVA_HOME")
Возвращает значение переменной окружения JAVA_HOME, которая устанавливается в системных настройках ОС. При установке Java ты наверняка с ней сталкивался;
System.exit(0)
System.lineSeparator()
System.currentTimeMillis();
- out — уже знакомая нам ссылка на сущность потока вывода информации на консоль;
- in — ссылка на сущность, которая отвечает за чтение вводимой информации с консоли.
- err — очень похожа out , но предназначена для вывода ошибок.
System.out
Теперь разберемся, что из себя представляет этот out .
out
- print() — вывод переданной информации. В качестве аргументов может принимать числа, строки, другие объекты;
- printf() — форматированный вывод. Форматирует переданный текст, используя специальные строки и аргументы;
- println() — вывод переданной информации и перевод строки. В качестве аргументов может принимать числа, строки, другие объекты;
- Некоторые другие методы, которые нам не интересны в контексте этой статьи.
Hello World!Hello World!Hello World!
В то время как метод println() каждый вывод будет призводить с новой строки:
Hello World! Hello World! Hello World!
Для вызова метода у объекта используется знакомый нам оператор “.”. Таким образом, вызов метода println() у сущности out выглядит так:
out.println()
println
Как и в многих других языках программирования, в Java println — это сокращение от “print line”. Мы уже знаем, что println() — это метод, который необходимо вызвать у сущности out . Если ты новичок в Java и в программировании в целом, то методы — это некий набор команд, которые логически объединены. В нашем случае, println() — это блок команд, который направляет текст в поток вывода и в конце добавляет перевод строки. В Java методы могут получать аргументы. Когда мы вызываем метод, аргументы передаются внутрь круглых скобок.
println(“Hello World!”);
В свою очередь, код, который находится внутри метода, получает переданный нами текст и отправляет его на вывод.
Построим логическую цепочку
- Обратиться к сущности, которая способна соединить наше приложение и консоль — System ;
- Обратиться к потоку вывода на консоль — System.out ;
- Вызвать метод, который записывает информацию на консоль — System.out.println ;
- Передать текст, который необходимо записать — System.out.println(“Hello World!”);
Подведем итоги
Обычный вывод информации на консоль в Java запускает целую цепочку обращения к различным объектам и методам. Понимание того, что происходит во время вызова самой используемой команды в Java, делает нас немного ближе к статусу Джава-Гуру!
Как выводить текст в java
Для вывода данных в консоль в Java используется метод System.out.println() . Например, чтобы вывести строку "Hello, world!" в консоль, нужно написать следующий код:
System.out.println("Hello, world!"); // => Hello, world!
Если нужно вывести значение переменной, то нужно вместо строки указать имя переменной:
int x = 10; System.out.println(x); // => 10