Argumente de linie de comandă în Java [cu exemplu]
Publicat: 2021-03-03În timpul scrierii programelor Java, trebuie să fi observat (String[] args) în metoda main(). Acestea sunt argumente din linia de comandă care sunt stocate în șirul transmis metodei principale. Aceste argumente sunt numite argumente de linie de comandă.
Este destul de comun să folosiți argumente de linie de comandă, deoarece nu doriți ca aplicația dvs. să facă același lucru la fiecare rulare. Dacă vrem să-i configuram comportamentul cumva, va trebui să folosim argumente din linia de comandă.
Cuprins
Care este utilizarea argumentelor din linia de comandă?
Aceste argumente ale liniei de comandă sunt transmise din consolă. Ele pot fi primite în programul java pentru a fi folosite ca intrare. Putem transmite oricâte argumente vrem, cât este stocat într-o matrice. Iată un exemplu despre cum puteți utiliza argumentele liniei de comandă.
În program
test de clasă
{
public static void main(String[] args)
{
for(int i=0;i< args.length;++i)
{
System.out.println(args[i]);
}
}
}
În consolă
java args1 args2 args3 …
Ca rezultat, vom obține o ieșire cu aceste argumente, pe care le-am transmis ca intrare. Acest program va tipări toate aceste argumente separate printr-o nouă linie:
args1
args2
args3
După cum putem vedea, argumentele liniei de comandă pot fi doar de tip String. Ce se întâmplă dacă vrem să trecem numere ca argumente? Să presupunem că doriți să adăugați ceva la argumentul pe care îl transmiteți. Dacă o faci cu programul de mai sus, va fi ceva de genul:
În program
test de clasă
{
public static void main(String[] args)
{
for(int i=0;i< args.length;++i)
{
System.out.println(args[i]+1);
}
}
}
În consolă
test java 11 12 13
Ieșire
111
121
131
Puteți vedea că atașează caracterele la „Șirul” de numere. Pentru a adăuga un număr la ele, trebuie să convertim argumentele în formă întreagă. Pentru a face acest lucru, folosim metoda parseInt() a clasei Integer. Implementarea va fi ca -
În program
test de clasa {
public static void main(String[] args) {
pentru (int i = 0; i < args.length ; ++i ) {
int arg = Integer.parseInt(args[i]);
System.out.println(arg + 1);
}
}
}
În consolă
test java 11 12 13
Ieșire
12
13
14
După cum puteți vedea cum obținem rezultatele dorite. De asemenea, putem face același lucru cu double() și float() folosind parseDouble() și parseFloat().
Uneori, argumentele furnizate nu pot fi transformate în tipul numeric specific, ceea ce va duce la o excepție numită NumberFormatException.
Acum ați putea crede că transmitem aceste argumente aplicației noastre. Va afecta în vreun fel performanța aplicației? Răspunsul la asta este nu. Transmiterea de argumente nu va încetini aplicația dvs. și nu va avea alte rezultate de performanță. Chiar dacă se întâmplă, este foarte minim și nu ar trebui să fie vizibil.
Citiți: Idei și subiecte de proiecte Java
Argumente variabile în Java
În JDK 5, Java a inclus o nouă caracteristică care simplifică crearea de metode care necesită un număr variabil de argumente. Această caracteristică se numește varargs, ceea ce înseamnă argumente cu lungime variabilă. Metoda care preia argumentele variabilei se numește metoda varargs.
Înainte ca această caracteristică să fie implementată în Java, existau două moduri posibile de a transmite argumente variabile într-o aplicație. Una dintre ele folosea o metodă supraîncărcată, iar alta presupunea trecerea argumentelor într-un Array și apoi trecerea acelei matrice unei metode. Ambele metode erau predispuse la erori. Varargs a rezolvat toate problemele care au venit cu metodele anterioare, cu avantajul suplimentar de curat și mai puțin cod pentru a lucra.
Argumentele de lungime variabilă sunt specificate cu trei puncte (…), mai jos este sintaxa completă pentru aceeași –
public static void varMethod(int … x)
{
// corpul metodei
}
Sintaxa de mai sus îi spune compilatorului că varMethod() poate fi apelat cu zero sau mai multe argumente.
Vararg-urile pot fi, de asemenea, supraîncărcate.
Există câteva reguli pentru utilizarea vararg-urilor:
- În metodă poate exista un singur argument variabil.
- Argumentele variabile trebuie să fie ultimul argument.
Apare o eroare la utilizarea a două argumente într-o metodă Varargs
metoda void (String... str, int... a)
{
// Eroare de timp de compilare deoarece există două varargs
}
Apare o eroare când specificăm Varargs ca prim argument în loc de ultimul
metoda void (int... a, String str)
{
// Eroare de timp de compilare pe măsură ce apare vararg
// înainte de argumentul normal
}
Deci, dacă doriți să transmiteți argumente variabile, puteți utiliza metoda varargs.
Învață cursuri de software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Upgrade, Upgrade și Update
Java este într-adevăr un limbaj excepțional și este folosit de diverse corporații și companii multinaționale pentru a dezvolta aplicații la scară largă.
Domeniul de aplicare pentru astfel de abilități vă poate îmbunătăți cu adevărat cariera. upGrad a oferit cursuri excepționale de învățare automată, codare în multe limbi, cum ar fi Java, C++, C, AI, procesarea limbajului natural și multe altele. Luminează-ți cariera trecând la limbajul viitorului: Java!
Dacă sunteți interesat să aflați mai multe despre Java, dezvoltarea de software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea de software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, 9+ proiecte și sarcini, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
Cum să rulezi o clasă Java folosind linia de comandă?
Pentru a rula o clasă Java utilizând linia de comandă, adică din promptul shell, tastați pur și simplu comanda java -jar jar_file.jar unde jar_file.jar este numele fișierului dvs. JAR (de exemplu, QuoraAnswerManager.jar). Cel mai simplu mod de a rula o clasă Java în linia de comandă este să o compilați și să îi oferiți o cale de clasă. Compilați-vă clasa Java cu următoarea comandă: javac -classpath classpathMainFolder myClass.java. Apoi rulați clasa compilată cu următoarea comandă: java -classpath classpathMainFolder myClass.
Ce sunt fișierele jar în Java?
În Java există multe tipuri de fișiere jar. Fișierele Jar sunt pur și simplu pachete. Formatul de fișier JAR a fost creat inițial pentru Java și a fost destinat distribuției de software. Fișierele JAR sunt uneori numite arhive JAR deoarece funcționează similar cu un fișier ZIP, prin faptul că stochează mai multe fișiere și directoare într-un singur fișier pentru o distribuție ușoară. Un fișier JAR este uneori denumit Arhivă Java. Acest lucru nu este corect din punct de vedere tehnic, dar este adesea folosit în comunitatea Java, unde atât cuvântul arhivă, cât și ambalaj sunt uneori folosite pentru a se referi la fișierele JAR.