Ключевое слово void, его особенности и return [дубликат]
Выводится в консоль: 14 Не могу понять зачем нам void , если мы можем написать public **int** run(. ) Пытаюсь разобраться с void и return.
Отслеживать
задан 19 ноя 2018 в 11:49
Петровченко Иван Петровченко Иван
1,893 1 1 золотой знак 12 12 серебряных знаков 36 36 бронзовых знаков
В первом примере функция run не возвращает ничего.
19 ноя 2018 в 11:52
Вы видите одно и то же, а под капотом происходит разное. Можно вообще просто написать в методе main одну строчку System.out.println(«14»); и спрашивать, зачем нам вообще нужны какие-то функции, методы и классы, когда я просто могу вывести «14» одной строчкой кода.
19 ноя 2018 в 12:34
Вы месяц назад уже задавали такой вопрос и даже отметили один из ответов. Зачем опять задавать такой же вопрос?
19 ноя 2018 в 12:37
@Эникейщик я понял как это работает, но не пойму что использовать и как? Потому что выше 2 примера работают одинаково.
19 ноя 2018 в 12:50
@Эникейщик то есть 1 пример говорит: зачем нам return если можно сделать так (как в 1 примере)
19 ноя 2018 в 12:50
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Весь смысл функции с типом void — это действия без отчета. Если функция не void , то она по возвращает какой-то результат и заканчивает работу.
В первом примете, если у вас, к примеру, нет доступа к консоли, вы никогда не узнаете о том, что функция выполнена.
Во втором случаи, функция отсылает «отчет» о том, что она сделала, и вы видите результат. И так, void используем для функций, которые работают независимо и мы не ждем от них «отчета».
Ключевое слово return прекращает выполнение функции. Можно использовать и в циклах ( break ), функциях.
public void count(int stop) < for(int i = 0; i < 100; i++) < System.out.println(i); if (i == stop) < return; >> >
В данном случаи мы в функцию передаем число, после которого следует прекратить вывод чисел.
Что такое void java
Если переменные и константы хранят некоторые значения, то методы содержат собой набор операторов, которые выполняют определенные действия.
Общее определение методов выглядит следующим образом:
[модификаторы] тип_возвращаемого_значения название_метода ([параметры]) < // тело метода >
Модификаторы и параметры необязательны.
По умолчанию главный класс любой программы на Java содержит метод main, который служит точкой входа в программу:
public static void main(String[] args)
Ключевые слова public и static являются модификаторами. Далее идет тип возвращаемого значения. Ключевое слово void указывает на то, что метод ничего не возвращает.
Затем идут название метода — main и в скобках параметры метода — String[] args . И в фигурные скобки заключено тело метода — все действия, которые он выполняет.
Создадим еще несколько методов:
public class Program < public static void main (String args[])< >void hello() < System.out.println("Hello"); >void welcome() < System.out.println("Welcome to Java 10"); >>
Здесь определены два дополнительных метода: hello и welcome, каждый из которых выводит некоторую строку на консоль. Методы определяются внутри класса — в данном случае внутри класса Program, в котором определен метод main.
Но если мы скомпилируем и запустим данную программу, то мы ничего не увидим на консоли. В примере выше мы определили два метода, но мы их нигде не вызываем. По умолчанию в программе Java выполняется только метод main и все его содержимое. Поэтому, если мы хотим, чтобы другие методы тоже выполнялись, их надо вызвать в методе main.
Вызов метода осуществляется в форме:
имя_метода(аргументы);
После имени метода указываются скобки, в которых перечисляются аргументы — значения для параметров метода.
Например, определим и выполним несколько методов:
public class Program < public static void main (String args[])< hello(); welcome(); welcome(); >static void hello() < System.out.println("Hello"); >static void welcome() < System.out.println("Welcome to Java 10"); >>
В методе main вызывается один раз метод hello и два раза метод welcome. В этом и заключается одно из преимуществ методов: мы можем вынести некоторые общие действия в отдельный метод и затем вызывать многократно их в различных местах программы. Поскольку оба метода не имеют никаких параметров, то после их названия при вызове ставятся пустые скобки.
Также следует отметить, что чтобы вызвать в методе main другие методы, которые определены в одном классе с методом main, они должны иметь модификатор static .
В итоге после компиляции и выполнения программы мы увидим на консоли:
Hello Welcome to Java 10 Welcome to Java 10
Что такое public void c и как его использовать
Ключевое слово «public» в программировании обозначает видимость метода или переменной в других частях программы. В языке программирования Java «public» означает, что метод или переменная доступна для использования в любой части программы. Следующее ключевое слово «void» указывает, что метод не возвращает какое-либо значение. Когда метод объявлен с типом «void», это означает, что данный метод выполняет определенные действия, но не возвращает никакого значения.
Ключевое слово «c» в выражении «public void c» является именем метода. В программировании имя метода представляет собой идентификатор, который используется для его вызова или ссылки на него. Имя метода может быть любым словом, но желательно использовать осмысленные имена для повышения читабельности кода. Например, если метод выполняет сложение двух чисел, его имя может быть «sum», «add» или что-то подобное.
Пример использования выражения «public void c» может выглядеть следующим образом:
В данном примере мы объявляем метод с именем «c», который не принимает никаких аргументов и не возвращает значений. В теле метода находится одна строка кода, которая выводит на экран фразу «Hello, World!». Для вызова данного метода в другом месте программы следует использовать его имя, за которым следует круглые скобки. Например, для вызова метода «c» можно написать «c();».
Public void C что это
Ключевое слово public в Java означает, что метод или переменная доступны для использования в любом месте программы.
Ключевое слово void обозначает, что метод не возвращает никакого значения.
c в названии public void c скорее всего является именем метода или переменной. Обычно в Java методы и переменные называются согласно некоторым соглашениям. Обычно методы называются с использованием глаголов, чтобы указать на действие, выполняемое методом. Возможно, c — это сокращение от слова «создать» или какого-то другого глагола, указывающего на действие метода.
Примеры использования конструкции public void c:
- public void calculateSum(int a, int b) — метод, который вычисляет сумму двух чисел и не возвращает результат;
- public void printMessage() — метод, который печатает на экране какое-то сообщение;
- public void createUser(String name, int age) — метод, который создает нового пользователя с указанным именем и возрастом.
Описание и примеры использования
Public void – это модификатор доступа в Java, который указывает на то, что метод не возвращает значение. Вместо этого метод выполняет определенные действия или операции.
Ключевое слово public обозначает, что метод доступен для использования во всех частях программы.
Ключевое слово void указывает на тип возвращаемого значения метода, в данном случае — отсутствие значения.
Методы с модификатором public void могут принимать аргументы и выполнять несколько операций, но результат их работы не возвращается.
Вот пример использования метода с модификатором public void:
public class Example
public void showMessage(String message)
System.out.println(«Сообщение: » + message);
>
public void calculateSum(int a, int b)
int sum = a + b;
System.out.println(«Сумма чисел: » + sum);
>
>
public class Main
public static void main(String[] args)
Example example = new Example();
example.showMessage(«Привет, Мир!»);
example.calculateSum(5, 3);
>
>
В данном примере класс Example содержит два метода с модификатором public void – showMessage и calculateSum.
Метод showMessage принимает строковый аргумент и выводит сообщение на экран.
Метод calculateSum принимает два целочисленных аргумента, складывает их и выводит сумму на экран.
В методе main создается объект класса Example и вызываются его методы showMessage и calculateSum.
Результат работы методов выводится на экран:
- Сообщение: Привет, Мир!
- Сумма чисел: 8
Таким образом, использование методов с модификатором public void позволяет выполнять действия или операции без возвращения значения.
Как использовать public void C в программировании
public void C — это синтаксическая конструкция языка программирования Java, которая указывает на объявление метода без возвращаемого значения. Такой метод выполняет определенные действия, но не возвращает какое-либо значение после выполнения.
Основное назначение методов с модификатором public void C в программировании — выполнение действий без возвращаемого результата. Это может быть полезно, когда не требуется получать результат выполнения метода, а просто нужно выполнить некоторые действия или изменить состояние программы.
Ниже приведен пример использования public void C:
public class Example
public void doSomething()
// выполняем необходимые действия
System.out.println(«Выполняется метод doSomething()»);
// не возвращаем никакого значения
>
>
В данном примере создается класс Example с методом doSomething(). Внутри этого метода выполняются определенные действия, в данном случае выводится сообщение на консоль.
Пример вызова метода:
public class Main
public static void main(String[] args)
Example example = new Example();
example.doSomething(); // вызов метода doSomething()
>
>
В данном примере создается объект класса Example и вызывается его метод doSomething(). Как результат, на консоль будет выведено сообщение «Выполняется метод doSomething()».
public void C также может быть использован для изменения состояния программы. Например, метод может изменять значения полей объекта или выполнять другие операции, влияющие на состояние программы.
Важно помнить, что public void C не возвращает никакого значения, и поэтому не может быть использован в выражениях или присваиваниях других переменных.
Public void C: примеры кода и рекомендации по использованию
Public void C — ключевое слово в программировании на языке Java, которое используется для определения метода, который не возвращает никакого значения.
Пример использования public void C:
- Создайте новый Java-класс с именем «Example».
- Внутри класса «Example» создайте метод с именем «printHelloWorld».
- Используйте ключевое слово public для указания модификатора доступа, чтобы метод был доступен из других частей программы.
- Используйте ключевое слово void для указания, что метод не возвращает никакого значения.
- Используйте ключевое слово printHelloWorld в качестве имени метода.
- Внутри метода напишите код, который будет выводить на экран сообщение «Hello, World!»
- В итоге, ваш Java-класс «Example» должен выглядеть следующим образом:
public class Example
public void printHelloWorld()
Для использования метода «printHelloWorld» из другого класса, вам необходимо создать экземпляр класса «Example» и вызвать метод «printHelloWorld» на этом экземпляре.
Вот пример кода, который демонстрирует использование метода «printHelloWorld»:
public class Main
public static void main(String[] args)
Example example = new Example();
При выполнении этого кода на экран будет выведено сообщение «Hello, World!»
Важно отметить, что ключевое слово public void C может использоваться не только для методов, но и для конструкторов классов. В этом случае, метод или конструктор будет выполнять определенные действия при создании экземпляра класса, без возвращения значения.
Вопрос-ответ
Что такое public void в Java?
Ключевое слово «public» в Java указывает на то, что метод или переменная доступна для использования во всем коде программы. Ключевое слово «void» указывает на то, что метод не возвращает никакого значения. То есть, public void означает, что метод открыт для всех, но не возвращает никакого результата.
Какие примеры использования public void в Java?
Примеры использования public void в Java включают создание метода, который выводит текст на экран, записывает данные в файл, обновляет значения в базе данных или выполняет любые другие действия, которые не требуют возврата значения.
Можно ли использовать public void без аргументов в Java?
Да, можно использовать public void без аргументов в Java. Например, метод может просто выводить текст на экран или записывать данные в файл без необходимости передавать какие-либо аргументы.
Что произойдет, если вам нужно вернуть значение из метода, но вы используете public void?
Если вам нужно вернуть значение из метода, но вы используете public void, то вам придется изменить объявление метода на тип, соответствующий возвращаемому значению. Например, если вам нужно вернуть целое число, вы должны использовать «public int» вместо «public void».
В чем разница между public void и public static void в Java?
Разница между public void и public static void в Java заключается в том, что ключевое слово «static» указывает на то, что метод или переменная принадлежит классу, а не объекту. Это означает, что метод можно вызывать без создания экземпляра класса. Оба ключевых слова «public» и «void» указывают на доступность метода и его отсутствие возвращаемого значения соответственно.
Методы
Класс может содержать методы — один, два, три и больше в зависимости от сложности класса. Название метода всегда завершается двумя круглыми скобками, после которых идет блок кода, обрамлённый фигурными скобками. Например, метод sayMeow() класса Cat выводит мяуканье кошки. Внутри имени метода могут быть параметры, например, sayMeow(3) — кошка мяукает три раза. Параметров может быть несколько, тогда они разделяются запятыми.
Общая форма объявления метода выглядит следующим образом:
модификатор тип имяМетода(список_параметров) < // тело метода >
Метод может не иметь параметров, в этом случае используются пустые скобки. Модификатор определяет видимость метода (public, private). Если модификатор не указан, то считается, что метод имеет модификатор private в пределах своего пакета.
Методы могут вызывать другие методы.
Каждый метод начинается со строки объявления внутри круглых скобок, которую называют сигнатурой метода:
public static void sayMeow(int count) < // здесь ваш код >
Если рассмотреть данный метод, то можно сказать следующее. Ключевое слово public означает, что метод доступен для любого класса. Ключевое слово static означает, что нам не нужно создавать экземпляр (копию) объекта Cat в памяти. Ключевое слово void означает, что метод не возвращает никаких данных. Именем метода является слово перед круглыми скобками.
Если метод возвращает какие-то данные, то в теле метода используется оператор return значение, где значение — это возвращаемое значение. Тогда вместо void нужно указать возвращаемый тип.
Вспомним наш класс Box, в котором определены высота, ширина и глубина ящика. Зная эти величины, мы вычисляли объём коробки самостоятельно. Но мы можем расширить возможности класса, чтобы он сам мог вычислить объём внутри класса и предоставить нам готовые данные. Давайте добавим в класс новый метод:
class Box < int width; // ширина коробки int height; // высота коробки int depth; // глубина коробки // вычисляем объём коробки String getVolume() < return "Объём коробки: " + (width * height * depth); >>
Теперь пробуем вычислить объём коробки с помощью готового метода, который есть в классе:
Box catBox = new Box(); catBox.width = 400; catBox.height = 200; catBox.depth = 250; mInfoTextView.setText(catBox.getVolume());
Мы уже не вычисляем объём вручную, за нас это сделает класс Box, у которого есть готовый метод для вычисления объёмов.
Обращение к методу осуществляется как и к переменной через точку. Наличие круглых скобок позволяет различать метод от имени переменной. То есть, если вы увидите запись:
cat.getVolume; // это переменная cat.getVolume(); // это метод
Выше приведён немного искусственный пример, так как опытный программист никогда не назовёт переменную именем getVolume. Существует рекомендация, что для методов в начале имени нужно использовать глагол и начинаться имя должно с маленькой буквы — переменные так называть не следует.
Использование параметров
Параметры позволяют работать с различными данными. Допустим, мы хотим вычислить площадь прямоугольника со сторонами 3 и 5 см.
int getSquare()
Метод работает, но область его применения слишком ограничена. Мы сможем вычислять площадь только одного прямоугольника с жёстко заданными размерами. Но прямоугольники бывают разными и нам нужен универсальный метод. Добиться решения задачи можно с помощью параметров. Перепишем метод следующим образом:
int getSquare(int a, int b)
Теперь мы можем вычислять площадь любого прямоугольника, зная его размеры. Возьмём тот же прямоугольник со сторонами 3 и 5 см и вычислим его площадь:
mInfoTextView.setText("Площадь прямоугольника: " + getSquare(3, 5));
В правильно написанных классах стараются избегать доступа к переменным класса напрямую. Следует использовать методы, которые позволяют избежать ошибок. В нашем классе Box использовались отдельные переменные width, height, depth. Код с использованием этих переменных слишком громоздкий, кроме того вы можете забыть про какую-нибудь переменную. Добавим в класс новый метод, который упростит наш код для вычисления объёма ящика:
package ru.alexanderklimov.test; class Box < int width; // ширина коробки int height; // высота коробки int depth; // глубина коробки // вычисляем объём коробки int getVolume() < return width * height * depth; >// устанавливаем размеры коробки void setDim(int w, int h, int d) < width = w; height = h; depth = d; >>
Пробуем класс в действии:
Box catBox = new Box(); catBox.setDim(400, 200, 250); int vol = catBox.getVolume(); mInfoTextView.setText("Объём ящика: " + vol);
Теперь мы не обращаемся к отдельным переменным класса, а вызываем метод setDim() для установки размеров ящика, после чего можно вызвать метод getVolume() для вычисления объёма. Естественно, вы можете реализовать свою логику в классе. Например, вы можете создать метод getVolume() с параметрами, которые отвечают за размеры ящика и возвращать сразу готовый результат.
Перегрузка методов
Метод — имя для действия: прыгнуть, мяукнуть, отформатировать диск. Использование имён при написании кода упрощает её понимание и модификацию. Работа разработчика схожа с работой писателя — в обоих случаях требуется донести свою мысль до читателя/приложения.
Часто одно и то же слово имеет несколько разных значений — оно перегружено. Например, мы говорим «вымыть посуду» и «вымыть кота». Было бы глупо говорить «посудовымыть посуду» или «котовымыть кота», чтобы подчеркнуть разницу. Также и с методами. Можно создавать методы с одинаковыми именами, но с разным набором аргументов.
Перегрузку (overloading) следует отличать от замещения (overriding) — иной реализации метода в подклассе первоначально определившего метод класса.
Java, как и многие языки программирования, разрешает создавать внутри одно класса несколько методов с одним именем. Главное, чтобы у них различались параметры. Параметры могут различаться типами или количеством аргументов. Будьте внимательны, если вы зададите различные типы для возвращаемого значения, то этого будет недостаточно для создания перегруженной версии метода. Когда Java встречает вызов перегруженного метода, то выбирает ту версию, параметры которой соответствуют аргументам, использованным в вызове.
Создадим класс Cat с набором перегруженных методов:
class Cat < void meow() < // параметры отсутствуют >void meow(int count) < // используется один параметр типа int >void meow(int count, int pause) < // используются два параметра типа int >long meow(long time) < // используется один параметр типа long return time; >double meow(double time) < // используется один параметр типа double return time; >>
Вы можете вызвать любой метод из класса:
Cat kitty = new Cat(); kitty.meow(); kitty.meow(3); kitty.meow(3, 2); kitty.meow(4500.25);
Если присмотреться, то можно догадаться, какая именно версия метода вызывается в каждом конкретном случае.
Аналогично, перегрузка используется и для конструкторов.
Методы с переменным числом параметров
Можно создавать методы с переменным числом параметров. В этом случае используется многоточие.
public static double getMaxValue(Object. args) < // код >
По сути, создаётся массив типа Object[].
Создадим метод, вычисляющий и возвращающий максимальное из произвольного количества значений.
public static double getMaxValue(double. values) < double largest = Double.MIN_VALUE; for(double v : values) < if (v >largest) < largest = v; >> return largest; >
double variable = getMaxValue(5.3, 39.6, -4);
До Java 5 использовался следующий способ.
static void printArray(Object[] args)
Подобный код может встречаться в старых проектах, но в Android практически не используется.
Метод toString()
Каждый класс реализует метод toString(), так как он определён в классе Object. Но использовать метод по умолчанию не слишком удобно, так как не содержит полезной информации. Разработчики предпочитают переопределять данный метод под свои нужды. Сам метод имеет форму:
String toString()
Вам остаётся возвратить объект класса String, который будет содержать полезную информацию о вашем классе. Давайте возьмём для примера класс Box, созданный выше:
class Box < int width; // ширина коробки int height; // высота коробки int depth; // глубина коробки Box(int width, int height, int depth)< this.width = width; this.height = height; this.depth = depth; >// вычисляем объём коробки String getVolume() < return "Объём коробки: " + (width * height * depth); >public String toString() < return "Коробочка для кота размером " + width + "x" + height + "x" + depth; >>
Теперь можете узнать о классе Box:
Box box = new Box(4, 5, 6); mInfoTextView.setText(box.toString());
Метод очень часто используется при создании собственных классов и вам тоже придётся прибегать к этому способу.
Как вернуть из метода больше одного значения?
Методы в Java возвращают одно значение. А если хочется сразу вернуть сразу два и более значений? Например, у нас имеется массив чисел и мы хотим написать метод, который сразу возвращает минимальное и максимальное значение из него.
Одно из решений заключается в том, что нужно «запаковать» два значения полученные в одном методе с помощью конструктора специального класса, а затем «распаковать» их в другом методе, при обращении к конструктору.
