Страницы

Поиск по вопросам

суббота, 23 марта 2019 г.

Java. Создание объекта. Советы про использование String

Я недавно начал изучать Java и у меня возникло несколько вопросов.
Мне непонятно почему в Java нет простого механизма (метода) ввода\ вывода чего либо. То есть когда в Pascal - это write
ead или Python - print\input. В Java есть стандартное средство вывода - System.out.println, но ввод нужно реализовывать через импорт Scanner Подскажите это я чего-то не понимаю или реально в таком мощном языке нету таких базовых методов? Также как я понял Scanner подходит лишь для текста, а что если мне нужно вводить числа? Что использовать? Можно полностью написать как это будет выглядеть. Объясните пожалуйста, что значат аргументы в этой команде.
public static void main(String[] args) Можно объясните принцип создание экземпляра класса. Например:
String variable = new String ("Text");
Почему почему дважды вызывается класс String в начале и при создании? Я понимаю, что можно просто смирится и все, но мне не понятно зачем это действие, есть для этого объяснение или это сделано просто так?


Ответ

Java - объектно-ориентированный язык в отличие от Паскаля, и его богатая система классов ввода-вывода, базирующаяся на потоках (streams), позволяет использовать одни и те же механизмы для любых ситуаций: работа с консолью, работа с файлами, работа с сетью, работа с архивами.
Раз речь зашла про класс Scanner - обратимся к документации
Класс предоставляет кучу методов для разных ситуаций:
String next(String pattern) - вернет строку, если она соответствует шаблону; boolean nextBoolean() - вернет значение булева типа; int nextInt() - вернет целочисленное значение; float nextFloat() - вернет значение с плавающей точкой типа float
Это не все, то умеет Scanner, но теперь вы знаете, где искать.

Это не команда. Это объявление публичного (public - доступного всем) статического (static - доступного без создания экземпляра класса) метода main, который принимает массив строк (String[] args) и ничего не возвращает (void).
Согласно спецификации, метод с такой сигнатурой является точкой входа в вашу программу. То есть, при запуске в командной строке java MyClass выполнение программы начнется с этого метода в классе MyClass. В качестве массива args будут переданы аргументы из командной строки. Например, при запуске java MyClass foo bar массив args будет иметь значение ["foo", "bar"].

почему дважды вызывается Класс String в начале и при создании
String variable = new String ("Text");
Класс не "вызывается", класс нельзя "вызвать". В данном случае происходит три действия:
Объявляется переменная variable типа String Создается новый экземпляр типа String через конструктор с одним аргументом "Text" Переменной variable присваивается ссылка на созданный объект.
В случае со строками это можно было сократить до вида:
String variable = "Text";
PS. Крайне рекомендую начать изучение Java, вооружившись одним из учебников для начинающих, там есть ответы на подобные вопросы: Книги по Java и другая литература

PPS. В следующий раз, пожалуйста, соблюдайте правила и задавайте по одному вопросу за раз.

Комментариев нет:

Отправить комментарий