Что такое string args
javeine
Для чего нужны аргументы командной строки String args[] в методе main?
Метод main() указывает интерпретатору класс, с которого нужно начать выполнение программы. Однако в языке Java разрешено использовать несколько методов с названием main() даже в одном классе. Поэтому по-настоящему главный метод содержит аргументы командной строки (String[] args).
public class Testmain <
public static void main(String[] args) <
if(args.length > 0) // если через консоль были введены аргументы
System.out.println(args[0]); // то вывести на консоль первый элемент из массива
else < // иначе —
Testmain obj = new Testmain(); //создать объект
obj.main(); // и использовать обычный метод с названием main()
>
>
public static void main() < // это обычный метод с названием main()
System.out.println(«it’s usual main method without String[] args!»);
>
>
.
В командной строке консоли после команды java Testmain было введено три аргумента: 1 2 3. В программе строка System.out.println(args[0]); выводит на консоль первый аргумент массива args[0], в данном случае выведено 1.
Если же аргументы не были указаны через консоль, то выполняется блок оператора else, в котором вызывается обычный метод, но тоже названный main().
Дополнительная информация:
args в методе main() — это название массива String[] и оно может быть другим.
public class Testmain2 <
public static void main(String[] lalala) <
Что такое «String args []»? параметр в основном методе Java
Я только начинаю писать программы на Java. Что означает следующий код Java?
Исходный код и/или примеры предпочтительнее абстрактных объяснений
ОТВЕТЫ
Ответ 1
Ответ 2
Это аргументы командной строки в Java.
Другими словами, если вы запустите
Затем args содержит:
Причина этого заключается в том, чтобы настроить приложение для запуска определенным образом или предоставить ему некоторую часть информации, которая ему нужна.
Ответ 3
args содержит аргументы командной строки, переданные программе Java при вызове. Например, если я вызываю программу следующим образом:
Ответ 4
Следующий ответ основан на моем понимании и некоторых тестах.
Что такое String [] args?
Ans- >
String [] → Как мы знаем, это простой массив String.
args → это имя массива, которое может быть чем угодно (например, a, ar, argument, param, parameter), никаких проблем с компилятором и выполненных, и я также тестировал.
например.
1) public static void main (аргумент String [])
2) public static void main (параметр String [])
Когда вы будете использовать эти аргументы?
Ans →
Основная функция разработана очень разумно разработчиками. Фактическое мышление очень глубокое. Что в основном разрабатывается при рассмотрении C и С++ на основе аргумента командной строки, но в настоящее время его больше никто не использует.
E.g Следующая программа скомпилирована и выполнена, и я также протестировал ее.
Если входной сигнал → 1 1
Ответ 5
В этой сигнатуре метода массив args будет заполнен значениями при вызове метода (как показывают другие примеры здесь). Поскольку вы изучаете, однако, стоит понять, что этот массив args похож, если вы создали его самостоятельно в методе, как в этом:
Ответ 6
«public» означает, что main() можно вызывать из любого места.
«static» означает, что main() не принадлежит к определенному объекту
«void» означает, что main() не возвращает значение
«String []» означает массив строки.
Ответ 7
после перехода к папке программы с помощью
на Mac (обратите внимание, что mac менее clunky) для запуска кода, но для указания параметров, которые вы использовали бы
Эти параметры, хранящиеся в массиве args, которые вы можете использовать в своей программе, вы хотите разрешить пользователю контролировать специальные параметры, такие как файл для использования или объем памяти, который может иметь программа. Если вы хотите знать, как использовать массив, вы, вероятно, можете найти тему на этом сайте или просто отправить ее в Google. Обратите внимание, что можно использовать любое количество параметров.
Ответ 8
Public : это модификатор доступа, который определяет, кто может получить доступ к этому методу. Public означает, что этот метод будет доступен любому классу (если другие классы могут получить доступ к этому классу.).
Static : это ключевое слово, которое идентифицирует связанную с классом вещь. Это означает, что данный метод или переменная не относится к экземпляру, а относится к классу. Доступ к нему возможен без создания экземпляра класса.
Void : используется для определения типа возврата метода. Он определяет способ возврата метода. Void означает, что метод не вернет никакого значения.
main : имя метода. Это имя метода ищет JVM в качестве отправной точки для приложения с определенной сигнатурой.
String[] args : это параметр основного метода.
Если вы посмотрите исходный код JDK (jdk-src\j2se\src\share\bin\java.c):
Вы можете видеть, что метод запуска в java должен быть назван main и должен иметь общую public static void main(String[] args)
Код также сообщает нам, что public static void main(String[] args) не является фиксированным, если вы измените код в (jdk-src\j2se\src\share\bin\java.c) на другую подпись, это будет работа, но изменение этого даст вам другие возможные проблемы из-за спецификаций java
Offtopic: Прошло 7 лет с тех пор, как OP задал этот вопрос, я думаю, что OP может ответить на его собственный вопрос.
Ответ 9
Когда класс java выполняется с консоли, основным методом является то, что вызывается. Чтобы это произошло, определение этого основного метода должно быть
Тот факт, что этот строковый массив называется args, является стандартным соглашением, но не требуется строго. Вы должны заполнить этот массив в командной строке, в которой вы запускаете свою программу
Они обычно используются для определения параметров вашей программы, например файлов для записи или чтения.
Ответ 10
Ответ 11
public static void main (String. args)
public static void main (String[] arguments)
public static void main (String[] freddiefujiwara)
Ответ 12
Объяснение в простом языке непрофессионала.
Если вы хотите проверить, действительно ли ваш основной метод принял аргумент «1» или нет. Просто внутри основного метода введите следующее:
Ответ 13
Стиль dataType[] arrayRefVar является предпочтительным. Стиль dataType arrayRefVar[] исходит из языка C/С++ и был принят на Java для размещения программистов на C/С++.
Ответ 14
Вы можете включить аргументы в свою программу, используя большинство современных IDE.
Например, в Intellij вы можете включить аргументы, выполнив:
Запустить → Изменить конфигурации. → Вкладка «Конфигурация» → «Аргументы программы»
Вы можете увидеть здесь его наиболее распространенное разделение пробелами, и если в имени есть пробелы, вы можете использовать двойные кавычки для его обертки.
Этот фрагмент будет печатать:
аргумент arg1
аргумент arg2
имя аргумента arg 3
Что означает «String [] args» содержится в java?
Когда я запускаю следующую программу:
Он печатает: [Ljava.lang.String;@153c375
и когда я запустил его снова, он печатает: [Ljava.lang.String;@1d1e730
он дает мне разные выходные данные каждый раз
Итак, что означает “ [Ljava.lang.String;@153c375 “?
Обновление. Я только что понял, что я никогда не отвечал на вопрос “Что означает” String [] args “содержать в java?”?:-) Это массив аргументов командной строки, предоставленных программе, причем каждый аргумент имеет String в массиве.
И теперь мы возобновляем наш регулярный ответ…
Вы можете прокручивать аргументы следующим образом:
Аналогично, если вам не нужен индекс:
String[] args В основном методе находится массив строк аргументы командной строки.
[Ljava.lang.String;@1d1e730 – это имя класса ( [Ljava.lang.String is String[] ) и hashcode объекта ( @1d1e730 );
если вы хотите напечатать фактические значения строк в массиве, вы можете использовать простой для каждого цикла:
Это форма name mangling, используемая для переадресации метода устранения неоднозначности. Имя метода добавляется рядом символов, описывающих параметры и возвращаемый тип: параметры появляются последовательно в круглых скобках, а тип возврата следует за закрывающей скобкой. Коды заключаются в следующем:
Итак, согласно приведенным выше кодам [Ljava.lang.String;@153c375
Массив строки (полное имя класса java.lang.String), за которым следует hascode.
Это строковый массив.
Это напечатает: “привет”
Потому что “привет” – это аргумент, который вы передаете своему классу.
Если вы попробуете: args[x], where x=0..n и запустите ваш класс через командную строку: java Проверьте ваши аргументы, то вы увидите любое содержимое, которое вы передаете..
У метода main есть параметр, который является массивом ссылок String.
Таким образом, каждый раз, когда вы пытаетесь напечатать аргументы, он дает вам место в памяти массива ‘args’, потому что этот аргумент массива String находится в памяти для элементов массива.
Это говорит о том, что у вас есть простая программа под названием HelloWorld.java, например:
Готов протестировать эту программу с интерфейсом командной строки:
Мы видим, что эта программа печатает эти аргументы после ‘java Helloworld’
б
с
Давайте сделаем это проще
1: написать простой класс с именем “test”
2: теперь скомпилируйте его следующим образом
3: теперь запустите это, передав аргумент
Understanding public static void main(String[] args) in Java
In Java programs, the point from where the program starts its execution or simply the entry point of Java programs is the main() method. Hence, it is one of the most important methods of Java and having proper understanding of it is very important.
Most common syntax of main() method:
Apart from the above mentioned signature of main, you could use public static void main(String args[]) or public static void main(String… args) to call the main function in java. The main method is called if it’s formal parameter matches that of an array of Strings.
Can main method be int? If no, why?
Java does not return int implicitly, even if we declare return type of main as int.
We will get compile time error
Now, even if we do return 0 or integer explicitly ourselves, from int main.
We get run time error.
Error: Main method must return a value of type void in class GeeksforGeeks, please
define the main method as:
public static void main(String[] args)
Explanation –
The C and C++ programs which return int from main are processes of Operating System. The int value returned from main in C and C++ is exit code or exit status. The exit code of C or C++ program illustrates, why the program terminated. Exit code 0 means successfull termination. However, non zero exit status indicates error. Eg, exit code 1 depicts Miscellaneous errors, such as “divide by zero”
Parent process of any child process keeps waiting for exit status of child. And after receiving the exit status of child, cleans up the child process from process table and frees the resources allocated to it. Which is why it becomes mandatory for C and C++ programs(which are prcoesses of OS) to pass its exit status from main explicitly or implicitly.
However, The java program runs as ‘main thread’ in JVM. The Java program is not even a process of Operating System directly. There is no direct interaction between Java program and Operating System. There is no direct allocation of resources to Java program directly, or the Java program does not occupy any place in process table. Whom should it return exit status to, then. Which is why main method of Java is designed not to return int or exit status.
What is «String args[]»? parameter in main method Java
I’m just beginning to write programs in Java. What does the following Java code mean?
Source code and/or examples are preferred over abstract explanations
18 Answers 18
In Java args contains the supplied command-line arguments as an array of String objects.
Those are for command-line arguments in Java.
In other words, if you run
Then args contains:
The reason for this is to configure your application to run a particular way or provide it with some piece of information it needs.
If you are new to Java, I highly recommend reading through the official Oracle’s Java™ Tutorials.
args contains the command-line arguments passed to the Java program upon invocation. For example, if I invoke the program like so:
The following answer is based my understanding & some test.
public static void main(String[] argument)
public static void main(String[] parameter)
When would you use these args?
The main function is designed very intelligently by developers. Actual thinking is very deep. Which is basically developed under consideration of C & C++ based on Command line argument but nowadays nobody uses it more.
1- User can enter any type of data from the command line can be Number or String & necessary to accept it by the compiler which datatype we should have to use? see the thing 2
2- String is the datatype which supports all of the primitive datatypes like int, long, float, double, byte, shot, char in Java. You can easily parse it in any primitive datatype.
E.g: The following program is compiled & executed & I tested as well.
Public : is an Access Modifier, which defines who can access this Method. Public means that this Method will be accessible by any Class(If other Classes are able to access this Class.).
Static : is a keyword which identifies the class related thing. This means the given Method or variable is not instance related but Class related. It can be accessed without creating the instance of a Class.
Void : is used to define the Return Type of the Method. It defines what the method can return. Void means the Method will not return any value.
main : is the name of the Method. This Method name is searched by JVM as a starting point for an application with a particular signature only.
String[] args : is the parameter to the main Method.
If you look into JDK source code (jdk-src\j2se\src\share\bin\java.c):
You can see that the starting method in java must be named main and must have the specific signature public static void main(String[] args)
The code also tells us that the public static void main(String[] args) is not fixed, if you change the code in (jdk-src\j2se\src\share\bin\java.c) to another signature, it will work but changing this will give you other possible problems because of the java specs
Offtopic: It’s been 7 years since OP asked this question, my guess is that OP can answer his own question by now.