Tipiški programos dirba su duomenimis, kuriuos turi įvesti ir išvesti naudotojas. Šiame vadove ištirsime, kaip tu gali Java apdoroti įvestis iš naudotojo ir efektyviai teikti išvestis. Yra įvairių būdų, kaip rinkti ar teikti informaciją. Čia svarbios yra išvesties skirtumai tarp konsolės ir klaidų išvesties. Tu taip pat išmoksi, kaip efektyviai perskaityti duomenis, ar tai per konsolę, ar per grafines naudotojo sąsajas.
Pagrindiniai įžvalgai
- Java siūlo kelis būdus, kaip apdoroti duomenų įvedimą ir išvedimą.
- Svarbu atskirti išvestis ir klaidas.
- Scanner yra naudingas įrankis, skirtas naudotojo įvestims perskaityti.
Pagrindinė išvestis su System.out
Pirmasis žingsnis dirbant su išvestimis Java yra darbas su System.out, kuris atstovauja standartinę išvestį. Naudodamas PrintStream klasę, kurią reprezentuoja System.out, gali siųsti išvestis į konsolę.
Norėdamas sukurti tekstinę išvestį, gali paprasčiausiai naudoti System.out.print arba System.out.println. println užbaigia eilutę po išvesties, tuo tarpu print to nedaro. Taigi, jei nori, kad kita išvestis būtų toje pačioje eilutėje, naudok print.

Tu gali paleisti programą taip:
Ši išvestis bus rodoma konsolėje, o tu gali pritaikyti programą, kad teiktum daugiau informacijos.
Klaidų išvestis su System.err
Klaidų išvestims patartina naudoti System.err. Tai suteikia pranašumą, kad klaidos ir įprastos išvestys aiškiai atskiriamos. Klaidų gali būti vizualiai akcentuojamos, pavyzdžiui, naudojant kitą spalvą konsolėje (dažniausiai raudoną).
Jei įvyksta klaida, gali naudoti System.err.print arba System.err.println, kad išvestum specifinę klaidą:

Čia pavyzdys klaidos pranešimo:
Atskirti įprastas išvestis ir klaidų pranešimus gali padėti padidinti išvestų duomenų skaitomumą ir suprantamumą tavo programoje.
Įvestys su System.in ir Scanner
Norėdamas gauti įvestis iš naudotojo, naudojame System.in. Rekomenduojama naudoti Scanner klasę iš java.util paketo. Scanner supaprastina duomenų nuskaitymą, nes automatiškai atpažįsta skirtingus duomenų tipus ir grąžina įvestį kaip String.
Pirmiausia turi importuoti Scanner:

Tada gali sukurti Scanner instanciją, perduodamas System.in:
Dabar turi galimybę skaityti įvestis savo programoje.
Naudotojo įvestis
Norėdamas gauti duomenis iš naudotojo, gali naudoti nextLine(). Tai leidžia užfiksuoti visą eilutę kaip String. Tipiškas pavyzdys būtų naudotojo amžiaus įvedimas.
Čia pavyzdys naudotojo įvesties:

Šiame pavyzdyje naudotojas kviečiamas įvesti savo amžių, o programa tada grąžina įvestą informaciją.
Naudotojo sąveikos su grafinių dialogų pagalba
Jei nori naudoti grafinę vartotojo sąsają (GUI), gali naudoti JOptionPane klasę iš javax.swing paketo. Tai leidžia tau užfiksuoti įvestis standartiniame dialogo lange, kas gali būti šiek tiek draugiškiau naudotojui.

Tai rodo grafinį dialogą, kuriame naudotojas gali įvesti savo amžių.
Naudotojo įvesties validavimas
Svarbu validuoti įvestis, kurios ateina iš naudotojo. Tu turi užtikrinti, kad amžius iš tiesų yra priimtino formato, pavyzdžiui, kaip Integer. Tam gali bandyti konvertuoti String į skaičių ir dirbti su išimtimis.

Įgyvendinant šiuos validavimus, tu apsaugai savo programą nuo netikėtų įvestų duomenų.
Santrauka – optimizuoti įvestis ir išvestis Java
Dabar tu sužinojai pagrindinius įvedimo ir išvedimo suvokimus Java. Skirtumas tarp standartinių išvedimų ir klaidų pranešimų yra esminis norint sukurti aiškumą programos komunikacijoje. Be to, Scanner naudojimas ir galimybė įgyvendinti grafinio dialogo sprendimus suteikia lanksčius sprendimus duomenų įvedimui.
Dažniausiai užduodami klausimai
Kurią klasę naudoti standartinei išvestiai?Tu naudoji System.out, kad rodyti išvestis konsolės lange.
Kaip galiu išvesti klaidų pranešimus?Naudok System.err klaidų pranešimams, kad atskirtum juos nuo įprastų išvestių.
Kaip galiu užfiksuoti naudotojo įvestis konsolėje?Scanner iš java.util yra idealus, kad užfiksuotum naudotojo įvestis iš System.in.
Ar galiu naudoti grafinę įvesties dialogus?Taip, naudojant JOptionPane iš javax.swing tu gali naudoti grafinį dialogą įvedimui.
Ar turiu validuoti naudotojo įvestis?Taip, įvesties validavimas yra svarbus, kad išvengtum klaidų ir netikėtų įvestų duomenų.