Turli ma'lumotlarga ega Java dasturchilari uchun kitoblar to'plami. Noldan dasturlash: qaerdan boshlash kerak? Java-da noldan dasturlashni o'rganishni qanday boshlash kerak

Muallifdan: Dunyodagi taxminan 3 milliard smartfon, 125 million televizor va har bir Blu-ray pleer ushbu dasturlash tilida ishlaydi. Ushbu til muntazam ravishda dasturiy ta'minot ishlab chiquvchilari reytingida sovrinlarni qo'lga kiritadi va eng yirik IT kompaniyalari orasida eng mashhur hisoblanadi. Bu texnik hodisa va mutlaqo har qanday qurilmada ishlaydi, bu uning "bir marta yozish - istalgan joyda ishga tushirish" (WORA - "bir marta yozish, istalgan joyda chopish") tamoyiliga mos keladi. Kim taxmin qildi, qo'llaringizni ko'taring! Albatta, bu Java tili. Va bugun men sizga barcha kartalarni ochib beraman va noldan qanday qilib Java dasturchisi bo'lish haqida butun haqiqatni aytaman! Qulay bo'ling!

Java haqida ba'zi faktlar

Sizni uzoq nazariy va'zlar bilan zeriktirmaslik uchun men Java haqida ba'zi ma'lumotlarni ro'yxatga kiritdim, uni o'qib chiqqandan so'ng siz uning qanday til ekanligini va dasturlashning yovvoyi tabiatidagi roli qanday ekanligini tushunishingiz mumkin:

Java "xushbichim" va platformalararo dasturlash tilidir. U har qanday operatsion tizimga ega har qanday qurilmada ishlaydi. Unda barcha Google va Android ilovalari yozilgan. Hech bir boshqa tilda bunchalik ko'p ma'lumot va o'quv materiallarini topa olmaysiz;

Tilning rasmiy chiqarilish sanasi 1995-yil 23-may. Java 2010 yilda Oracle tomonidan sotib olingan Sun Microsystems tomonidan ixtiro qilingan;

Ko'pchilik Java va JavaScript-ni chalkashtirib yuboradi. Agar siz (veb-saytlar, veb-ilovalar) shug'ullanmoqchi bo'lsangiz, ikkinchi variantni tanlang. Java - bu back-end, ya'ni ilovalarni to'ldirishni ishlab chiqish;

bu ob'ektga yo'naltirilgan dasturlash tili bo'lib, uning kodi maxsus java virtual mashinasi (JVM) tomonidan bajariladi. AQShda har 10 ta kompyuterdan 9 tasida xuddi shunday JVM o'rnatilgan;

Til o'z nomini qahva brendidan oladi, shuning uchun rasmiy emblemada ilhomlantiruvchi chashka mavjud.

Siz hali ham shu yerdamisiz yoki o'zingizga bir chashka xushbo'y qahva tayyorlash uchun yugurdingizmi? Keyin qanday qilib Java dasturchisi bo'lish haqida suhbatni davom ettiramiz.

Dasturiy ta'minot muhitini o'rnatish

Ajabo, ba'zi odamlar Java dasturiy muhitini o'rnatish bosqichida muammolarga duch kelishmoqda. Buning uchun ishlab chiqaruvchi kompaniyaning rasmiy veb-saytiga o'ting - Oracle. Saytning eng yuqori qismida joriy versiyaga havolani ko'rasiz. Sizga Java SE (Standard Edition) va Java Development Kit - ishlab chiqish vositalari to'plami kerak. E'tibor bering, turli xil operatsion tizimlar uchun turli xil tarqatishlar mavjud.

Aytaylik, bizda Windows bor. Biz "Tizim xususiyatlari" ga o'tamiz va bizda qanday tizim bor - 32-bit yoki 64-bit. Bit chuqurligi bo'yicha bizga mos keladigan faylni yuklab oling. Agar siz noto'g'ri taqsimlashni tanlasangiz, kodni kompilyatsiya qilishda xatoga yo'l qo'yasiz. Litsenziya shartnomasini qabul qilishni tasdiqlaganingizdan so'ng, yuklab olish tugmasini bosing.

Java Developer Toolkit nima?

Dasturchi ko'p vaqtini IDE (IntelliJ IDEA, Eclipse, WebStorm, NetBeans) da o'tkazadi. IDE - integratsiyalashgan ishlab chiqish muhiti, dasturlash uchun maxsus interfeys. Bu nafaqat kod yozishda yordam beradi, balki boshqa dasturlash vositalaridan foydalanishni ham osonlashtiradi. Ba'zilar noldan Java dasturchisi bo'lishni xohlaydiganlarga birinchi dasturlarini oddiy bloknot yoki Notepad++ da yozishni maslahat berishadi.

Balki elementar dasturlarni muharrirda yozish kerak. Ammo kelajakda men hali ham IDE dan foydalanishni tavsiya qilaman. U kodni to'ldirish, sintaksisni boshqarish, usulni aniqlashga o'tish va boshqa ko'plab funktsiyalarga ega. Va aqlli maslahatlar sizni funktsiyalarning barcha nomlarini va ularning parametrlarini eslab qolishdan qutqaradi, bu jismoniy jihatdan imkonsizdir.

Jamoalarda ishlashda, bir vaqtning o'zida bir nechta odam bitta dasturda ishlaganda, versiyani boshqarish tizimi deb ataladigan tizimdan (Perforce, Git, Subversion va boshqalar) foydalanish kerak. Biroq, versiyani boshqarish tizimlari yolg'iz ishlashda juda qulaydir.

Java o'rganish uchun misol algoritmi

Java tili asoslarini o'rganish. Birinchi qadam mantiqiy fikrlash qobiliyatingizni rivojlantirish va dasturlash tili sintaksisining asosiy tushunchalarini o'rganishdir. Kitob, maqola yoki o'quv videosi bilan qurollangan holda, kirishga qarab har xil xatti-harakatlarga ega bo'lgan oddiy Java obyektlarini yaratish uchun IDE yoki matn muharriridan qanday foydalanishni o'rganing.

Java tilining ilg'or imkoniyatlarini tahlil qilish. Ushbu bosqichda sintaksis, kutubxonalar va ramkalarni o'rganing, bu sizga amaliy diqqat bilan yanada murakkab ilovalarni yaratishga yordam beradi. Yaxshi dasturchi nafaqat turli kutubxonalardan qanday foydalanishni biladi, balki ular ichida qanday joylashtirilganligini ham biladi. Bundan tashqari, kiritish-chiqarish operatsiyalari, meros va abstraktsiyalar, serializatsiya, umumiy tiplar, muntazam iboralar kabi tushunchalar siz uchun bo'sh ibora bo'lmasligi kerak.

Veb-ishlab chiqishdagi zamonaviy tendentsiyalar va yondashuvlar

Veb-sayt yaratishda noldan tez o'sish algoritmini bilib oling

Dasturlashning nozik jihatlari. Hech qachon Java dasturlash hujjatlarini va jargonini tejamang. Ushbu bosqichda siz allaqachon etuk dasturchiga "mutatsiya" qilishingiz kerak. Java guruslari bilan muloqot qiling, ularni tematik forumlarda va dasturchilar yig'iladigan boshqa muhitlarda topasiz. Ularga kodingizni ko'rsating, boshqalar bilan maslahatlashing va maslahat bering - "karma to'plang". Siz hatto o'z blogingizni boshlashingiz, o'z kodingizning parchalarini joylashtirishingiz va tajribali dasturchilar bu haqda nima deyishini ko'rishingiz mumkin.

Dasturlashni qanday boshlash kerak?

Noldan Java dasturchisi bo'lmoqchi bo'lganlar uchun men sizga birinchi dasturingizni qanday yozishni aytib beraman.
Shunday qilib, istalgan matn muharririni oching va yozing:

sinf HelloWorld ( ommaviy statik bekor asosiy(String args) ( System.out.println("Salom Dunyo!"); ) )

sinf HelloWorld(

umumiy statik void main(String args )(

Tizim. tashqariga. println("Salom dunyo!");

Biz faylni HelloWorld.java nomi bilan saqlaymiz. E'tibor bering, Java katta-kichik harflarga sezgir, shuning uchun "helloworld" va "HelloWorld" so'zlari boshqacha. Agar koddagi fayl va sinf nomlari farq qilsa, dastur shunchaki ishga tushmaydi. Bundan tashqari, kodlash ANSI bo'lishi muhimdir.

Endi biz JDK dan javac kompilyatoridan foydalanib dasturni kompilyatsiya qilishimiz kerak. Rivojlanish muhitini o'rnatmagan bo'lsak-da, biz cmd buyruq qatori yordamida kompilyatsiya qilamiz va uni Boshlash menyusidan chaqiramiz. Ko'rsatilgan oynada cmd yozing va Enter tugmasini bosing.

Agar biz HelloWorld.java-ni C diskidagi Prog jildiga saqlagan bo'lsak, u holda buyruqni kiritamiz:

cd C:\prog a

va Enter tugmasini bosing. Shunday qilib, biz katalogni dasturimiz joylashgan joyga o'zgartirdik. Keyin kiramiz.

Java manba fayli - bu bir yoki bir nechta sinf ta'riflarini o'z ichiga olgan matnli fayl. Java tarjimoni taxmin qiladi:

dasturlarning manba kodi Java kengaytmali fayllarda saqlanadi. Har bir sinf uchun tarjima jarayonida olingan kod nomi sinf nomiga mos keladigan va sinf kengaytmasi bilan alohida chiqish faylida yoziladi.

Avvalo, ushbu bobda biz kanonik "Salom Dunyo" dasturini yozamiz, efirga uzatamiz va ishga tushiramiz. Shundan so'ng biz Java tarjimoni qabul qiladigan barcha muhim leksik elementlarni ko'rib chiqamiz: bo'shliqlar, izohlar, kalit so'zlar, identifikatorlar, harflar, operatorlar va ajratuvchilar. Bo'lim oxirida siz yaxshi Java dasturini mustaqil boshqarish uchun etarli ma'lumotga ega bo'lasiz.

Mana sizning birinchi Java dasturingiz

:

sinf HelloWorld(

Tizim. tashqariga. println("Salom dunyo");

Kitobda keltirilgan misollar bilan ishlash uchun siz Sun Microsystems tarmog'idan o'tishingiz va Java Developers Kit-ni o'rnatishingiz kerak - Java dasturlarini ishlab chiqish uchun paket (

http://java.sun.com/products/jdk ). Paketli yordamchi dasturlarning to'liq tavsifi jdk-in 1-ilova .

Java tili barcha dastur kodlari nomli sinflar ichida bo'lishini talab qiladi. Yuqoridagi misol matni HelloWorld.java fayliga yozilishi kerak. Fayl nomidagi bosh harflar undagi sinf nomiga mos kelishini tekshiring. Ushbu misolni tarjima qilish uchun siz parametr sifatida manba fayl nomini ko'rsatgan holda Java tarjimoni - javacni ishga tushirishingiz kerak:

\> javac HelloWorld.Java

Tarjimon HelloWorld.class faylini bizning misolimizdagi protsessordan mustaqil bayt-kod bilan yaratadi. Olingan kodni bajarish uchun Java tilining ish vaqti muhiti bo'lishi kerak (bizning holimizda bu java dasturi), unga bajarish uchun yangi sinf yuklanishi kerak. Biz shuni ta'kidlaymizki, bu sinf joylashgan fayl nomi emas, balki sinf nomi ko'rsatilgan.

> java helloworld

Ko'p narsa qilinmadi, lekin biz o'rnatilgan Java tarjimoni va ish vaqti muhiti ishlayotganini tasdiqladik.

Qadam ba qadam

HelloWorld - bu ahamiyatsiz misol. Biroq, tilda yangi boshlanuvchilar uchun bunday oddiy dastur hamJava qo'rqinchli darajada murakkab bo'lib tuyulishi mumkin, chunki u sizni tilning ko'plab yangi tushunchalari va sintaksisi tafsilotlari bilan tanishtiradi. Keling, Java dasturini tashkil etuvchi elementlarni tahlil qilib, birinchi misolimizning har bir qatorini batafsil ko'rib chiqaylik.

sinf HelloWorld(

Bu qatorda zaxiralangan so'z mavjud.

sinf. Bu tarjimonga biz yangi sinfni tasvirlashimiz kerakligini aytadi.Sinfning toʻliq tavsifi birinchi qatordagi ochiladigan jingalak qavs va 5-qatordagi unga mos keladigan yopilish jingalak qavs oʻrtasida joylashgan.Java C va C tillarida bo'lgani kabi ishlatiladi++.

umumiy statik void main(String args )(

Bu juda murakkab ko'rinadigan misol qatori Java tilini loyihalashda muhim talabning natijasidir. Gap shundaki, ichida

Java-da global funksiyalar etishmayapti. Kitobning birinchi qismidagi aksariyat misollarda shunday satrlarni ko'rganingiz uchun, keling, ikkinchi qatordagi har bir elementni batafsil ko'rib chiqaylik.

Ushbu qatorni alohida tokenlarga bo'lish orqali biz darhol kalit so'zga duch kelamiz

ommaviy. Bu - kirish modifikatori, bu dasturchiga har qanday usul va har qanday o'zgaruvchining ko'rinishini nazorat qilish imkonini beradi. Bunday holda, kirish modifikatoripublic usulni bildiradimain ko'rinadigan va har qanday sinf uchun ochiq. Yana ikkita kirish darajasi ko'rsatkichlari mavjud - xususiy va himoyalangan, biz bu haqda ko'proq bilib olamiz8-bob .

Keyingi kalit so'z

statik. Ushbu so'z yordamida sinfning usullari va o'zgaruvchilari e'lon qilinadi, ular butun sinf bilan ishlash uchun ishlatiladi. Static kalit so'zi bilan e'lon qilingan usullar faqat mahalliy va statik o'zgaruvchilar bilan bevosita ishlashi mumkin.

Sizga tez-tez u yoki bu turdagi qiymatni qaytaradigan usullar kerak bo'ladi: masalan,

butun son qiymatlari uchun int, float - real uchun yoki dasturchi tomonidan belgilangan ma'lumotlar turlari uchun sinf nomi. Bizning holatda, siz shunchaki ekranda satrni ko'rsatishingiz va usuldan qiymatni qaytarishingiz kerakasosiy shart emas. Shuning uchun modifikator ishlatilganbekor. Ushbu masala maqolada batafsilroq muhokama qilinadi4-bob .

Nihoyat, biz usul nomiga keldik

asosiy. Bu erda g'ayrioddiy narsa yo'q, faqat Java tarjimonlarining barcha mavjud ilovalari sinfni talqin qilish buyrug'ini olgan holda, o'z ishini usulni chaqirish orqali boshlaydi. asosiy. Java tarjimoni asosiy usuli bo'lmagan sinfni tarjima qilishi mumkin. Va bu erda Java tarjimoni darslarni metodsiz bajarish uchun asosiy qila olmaydi.

Usulga o'tkaziladigan barcha parametrlar qavslar ichida ";" bilan ajratilgan elementlar ro'yxati sifatida ko'rsatilgan. (nuqta vergul). Har bir parametr ro'yxati elementi bo'sh joydan ajratilgan tur va identifikatordan iborat. Usul hech qanday parametrga ega bo'lmasa ham, uning nomidan keyin bir juft qavs qo'yish kerak. Biz hozir muhokama qilayotgan misolda usul

main juda murakkab turdagi bo'lsa-da, faqat bitta parametrga ega. String args nomli parametrni e'lon qiladiargs, ya'ni ob'ektlar massivi - sinf vakillariString. Args identifikatoridan keyin kvadrat qavslarga e'tibor bering. Aytishlaricha, biz ko'rsatilgan turdagi bitta element bilan emas, balki massiv bilan ishlaymiz. Biz keyingi bobda massivlar muhokamasiga qaytamiz, ammo hozircha, turiga e'tibor bering String - bu sinf. Biz strings haqida ko'proq gaplashamiz9-bob .

Tizim. tashqariga. prlntln ("Salom dunyo!");

Ushbu qator usulni bajaradi

println ob'ekti tashqariga chiqadi. Ob'ekt chiqib ketish sinfda e'lon qilinadiOutputStream va tizimda statik ravishda ishga tushiriladi. DA 9-boblar va 13 darslarning nozik jihatlari bilan tanishish imkoniga ega bo'lasiz String va OutputStream.

4-qatordagi yopuvchi jingalak qavs usul deklaratsiyasini tugatadi

asosiy va 5-qatordagi bir xil qavs HelloWorld sinfining deklaratsiyasini yakunlaydi.

Leksik asoslar

Endi biz minimal Java sinfini batafsil yoritganimizdan so'ng, keling, orqaga qaytaylik va Java sintaksisining umumiy jihatlarini ko'rib chiqaylik. uchun dasturlar

java- bu bo'shliqlar, izohlar, kalit so'zlar, identifikatorlar, literal konstantalar, operatorlar va ajratuvchilar to'plamidir.dastur matnini o'zboshimchalik bilan formatlash imkonini beruvchi til. Dasturning to'g'ri ishlashi uchun uning matnini maxsus tarzda tekislashning hojati yo'q. Masalan, sinfHelloWorld ikki qatorda yoki sizga yoqadigan boshqa usulda yozilishi mumkin. Va alohida tokenlar o'rtasida kamida bitta bo'sh joy, yorliq yoki yangi satr belgisi bo'lishi sharti bilan u xuddi shunday ishlaydi (ular orasida operatorlar yoki ajratuvchilar yo'q).

Izohlar

Sharhlar bajariladigan kodga hech qanday ta'sir qilmasa ham,

to'g'ri ishlatilsa, ular manba matnning juda muhim qismi bo'lib chiqadi. Izohlarning uch xili mavjud: bir qatorli sharhlar, ko‘p qatorli sharhlar va nihoyat, hujjat sharhlari. Bir qatorli izohlar // bilan boshlanadi va satr oxirida tugaydi. Ushbu sharhlash uslubi alohida kod satrlari uchun qisqacha tushuntirishlar berish uchun foydalidir:

a = 42; // agar

42 Javob bering, savol nima edi?

Batafsilroq tushuntirishlar uchun siz bir nechta satrlarda joylashtirilgan sharhlardan foydalanishingiz mumkin, sharhlar matnini belgilar bilan boshlab /* va belgilar bilan tugaydi */ Bu holda, bu juft belgilar orasidagi barcha matn sharh sifatida qabul qilinadi va tarjimon e'tibor bermang.

* Bu kod biroz chigallashgan...

* Men tushuntirishga harakat qilaman:

Sharhlarning uchinchi, maxsus shakli xizmat dasturi uchun mo'ljallangan.

javadoc,sinf interfeyslari uchun hujjatlarni avtomatik ravishda yaratish uchun Java tarjimon komponentlaridan foydalanadi. Ushbu turdagi sharhlar uchun ishlatiladigan konventsiya: umumiy sinf, usul yoki o'zgaruvchini e'lon qilishdan oldin hujjat sharhini joylashtirish, uni /** (qiyshiq chiziq va ikkita yulduzcha) bilan boshlashingiz kerak. Bunday sharh oddiy sharh kabi tugaydi - */ belgilari bilan. Javadoc dasturi ismlari @ belgisi bilan boshlanadigan hujjat sharhlarida ma'lum maxsus o'zgaruvchilarni taniy oladi. Mana shunday izohga misol:

* Bu sinf ajoyib narsalarni qila oladi. Kimga tavsiya qilamiz

* yanada mukammal sinf yozmoqchi, deb qabul qiling

* asos.

* @seeJava. applet. applet

* ©muallif Patrik Naughton

CoolApplet sinfi Appletni kengaytiradi (/**

* Ushbu usul ikkita parametrga ega:

kalit - parametr nomi.nomli parametrning qiymatikalit.

*/ void put (String kaliti, Ob'ekt qiymati) (

Zaxiralangan kalit so'zlar

Zaxiralangan kalit so'zlar tildagi maxsus identifikatorlardir

Java o'rnatilgan turlarni, modifikatorlarni va dastur bajarilishini boshqarishni aniqlash uchun ishlatiladi. Bugun tilda J ava 59 ta zahiralangan so'zlarga ega (2-jadvalga qarang). Bu kalit so'zlar operatorlar va ajratuvchilar sintaksisi bilan birga til tavsifiga kiritilganJava. Ulardan faqat maqsadga muvofiq foydalanish mumkin, ularni o'zgaruvchi, sinf yoki usul nomlari uchun identifikator sifatida ishlatib bo'lmaydi.

jadval 2

Java zaxiralangan so'zlar

E'tibor bering, so'zlar

byvalue, cast, const, kelajak, umumiy, goto, ichki, operator, tashqi, dam, varda bron qilingan Java, lekin hali ishlatilmagan.Bundan tashqari, in Java Zaxiralangan usul nomlari mavjud (bu usullar har bir sinf tomonidan meros bo'lib o'tadi, ulardan sinf usullarini aniq bekor qilgandan tashqari foydalanish mumkin emas) ob'ekt).

3-jadval

Zaxiralangan usul nomlari

Java

Identifikatorlar

Identifikatorlar sinflar, usullar va o'zgaruvchilarni nomlash uchun ishlatiladi. Identifikator sifatida kichik va katta harflarning har qanday ketma-ketligi, raqamlar va _ (pastki chiziq) va $ (dollar) belgilaridan foydalanish mumkin. Identifikatorlar raqam bilan boshlanmasligi kerak, shuning uchun tarjimon ularni quyida tavsiflanadigan sonli harfiy konstantalar bilan aralashtirib yubormasligi kerak.

java- katta-kichik harf sezgir til. Bu shuni anglatadiki, masalan, Qiymat va VALUE - turli identifikatorlar.

Harflar

Konstantalar ichida

Java-ga ularning tom ma'nodagi ifodasi berilgan. Butun sonlar, suzuvchi nuqta raqamlari, mantiqiy qiymatlar, belgilar va satrlar manba kodining istalgan joyiga joylashtirilishi mumkin. Turlari qamrab olinadi4-bob .

Butun sonli harflar

Butun sonlar oddiy dasturlarda eng ko'p qo'llaniladigan turdir. 1, 2, 3, 42 kabi har qanday butun son qiymati butun sondir. Ushbu misolda o'nlik sonlar, ya'ni 10 bazasi bo'lgan raqamlar ko'rsatilgan - aynan biz kompyuterlar dunyosidan tashqarida har kuni foydalanadigan raqamlar. O'nlikdan tashqari, sakkizlik va o'n oltilik raqamlar ham butun sonli harf sifatida ishlatilishi mumkin. Java sakkizlik sonlarni bosh nolga qarab taniydi. Oddiy o'nlik sonlar noldan boshlana olmaydi, shuning uchun dasturda haqiqiy haqiqiy 09 raqamidan foydalanish tarjima xatosiga olib keladi, chunki 9 0 oralig'ida emas.

7, sakkizlik raqamlar uchun amal qiladi. O'n oltilik konstanta bosh nol-x belgilar (0x yoki 0X) bilan ajralib turadi. O'n oltilik raqamning qiymat diapazoni 0 ga teng.15 va 10 qiymatlari uchun raqamlar sifatida..A dan 15 ta harflar ishlatiladi F (yoki a dan f). O'n oltilik raqamlardan foydalanib, siz kompyuterga yo'naltirilgan qiymatlarni qisqa va aniq ifodalashingiz mumkin, masalan, yozish orqali Oxffff 65535 o'rniga.

Butun sonli harflar - bu turdagi qiymatlar

int, ya'ni Java 32 bitli so'zda saqlanadi. Agar sizga modul bo'yicha taxminan 2 milliarddan katta qiymat kerak bo'lsa, tur konstantasini ishlatishingiz kerakuzoq. Bunday holda, raqam 64 bitli so'zda saqlanadi. Yuqoridagi asoslardan birortasiga ega raqamlarga siz o'ngga kichik yoki katta harf belgilashingiz mumkinL, berilgan sonning turga tegishli ekanligini ko'rsatadiuzoq. Masalan, Ox7ffffffffffffffL yoki9223372036854775807L - bir qator turlar uchun eng katta qiymat uzoq.

Suzuvchi nuqtali harflar

O'zgaruvchan nuqta raqamlari kasr qismiga ega bo'lgan o'nlik qiymatlarni ifodalaydi. Ular oddiy yoki eksponensial formatda yozilishi mumkin. Odatiy formatda raqam bir qator o'nlik raqamlardan keyin o'nli nuqtadan, keyin esa kasr qismining o'nlik raqamlaridan iborat. Masalan, 2.0, 3.14159 va .6667 standart formatda yozilgan suzuvchi nuqtali raqamlar uchun haqiqiy qiymatlardir. Eksponensial formatda sanab o'tilgan elementlardan keyin o'nlik daraja qo'shimcha ravishda ko'rsatiladi. Tartib E yoki e belgisidan keyingi musbat yoki manfiy kasr soni bilan aniqlanadi. Eksponensial formatdagi raqamlarga misollar: 6.022e23, 314159E-05, 2e+100. DA

Java floatlari sukut bo'yicha ikki barobar sifatida ko'rib chiqiladi. Agar sizga doimiy tur kerak bo'lsafloat, harfning o'ng tomoniga F yoki f belgisi qo'yilishi kerak. Agar siz ortiqcha ta'riflarning muxlisi bo'lsangiz, literallarni kiritishingiz mumkin qo'sh belgi D yoki d. Standart turdagi qiymatlardouble 64 bitli so'zda saqlanadi, kamroq aniq turdagi qiymatlar float - 32-bitda.

Mantiqiy harflar

Mantiqiy o'zgaruvchi faqat ikkita qiymatga ega bo'lishi mumkin -

rost (to'g'ri) va yolg'on (noto'g'ri). Mantiqiy qiymatlar haqiqat va false hech qanday raqamli ko'rinishga aylantirilmaydi. Kalit so'z Java'da true 1 ga teng emas, noto'g'ri esa 0 ga teng emas Java-da bu qiymatlar faqat mantiqiy o'zgaruvchilarga tayinlanishi yoki mantiqiy operatorlar bilan ifodalarda ishlatilishi mumkin.

Belgilar harflari

Belgilar ichida

java- bu belgilar jadvalidagi indekslarUNICODE. Ular butun sonlarga aylantirilishi mumkin bo'lgan va qo'shish va ayirish kabi butun sonli arifmetik operatorlar qo'llanilishi mumkin bo'lgan 16 bitli qiymatlardir. Belgilar harflari bir juft apostrof ("") ichiga joylashtiriladi. Barcha ko'rinadigan jadval belgilariASCII to'g'ridan-to'g'ri bir juft apostrof ichiga kiritilishi mumkin: -"a", "z", "@". To'g'ridan-to'g'ri kiritib bo'lmaydigan belgilar uchun bir nechta qochish ketma-ketligi mavjud.

3-jadval

2. Belgilardan qochish ketma-ketliklari

Qochish ketma-ketligi

Tavsif

Sakkizlik belgi

(ddd)

O'n oltilik belgi

UNICODE (xxxx)

Apostrof

Teskari chiziq

vagonning qaytishi

Satr tasmasi (satr tasmasi, yangi qator)

Sahifa tarjimasi

(forma tasmasi)

Gorizontal yorliq

(tab)

Orqaga qadam

(backspace)

String literallari

Satr harflari

Java ko'plab boshqa tillardagi kabi ko'rinadi - bu juft tirnoq ("") ichiga o'zboshimchalik bilan yozilgan matn. Kichik harflar bilan yozilgan bo'lsa-daJava juda o'ziga xos tarzda amalga oshiriladi(Java har bir satr uchun ob'ekt yaratadi), tashqi tomondan bu hech qanday tarzda ko'rinmaydi. String literallariga misollar: Salom Dunyo!”; "ikki\strings; \ Bu tirnoq ichida\"".Java bir xil manba qatorida boshlanishi va tugashi kerak. Bu til, boshqa tillardan farqli o'laroq, yangi satrda satr literalini davom ettirish uchun qochish ketma-ketligiga ega emas.

Operatorlar

Operator - bu bir yoki ikkita argument bo'yicha ba'zi harakatlarni bajaradigan va natija beradigan narsa. Sintaktik jihatdan operatorlar ko'pincha identifikatorlar va harflar orasiga joylashtiriladi. Operatorlar batafsil muhokama qilinadi

5-bob , ularning ro'yxati 3-jadvalda keltirilgan. 3.

3-jadval

3. Til operatorlari Java

Separatorlar

Sintaktik jihatdan to'g'ri Java dasturida paydo bo'lishi mumkin bo'lgan bir nechta belgilar guruhi hali ham nomlanmagan. Bu kodning ko'rinishi va funksionalligiga ta'sir qiluvchi oddiy chegaralovchilar.

Ism

Ular nima uchun ishlatiladi

dumaloq qavslar

Ular usulni e'lon qilish va chaqirishda parametrlar ro'yxatini ajratadilar, ular ifodalarda amallar ustuvorligini belgilash, dastur bajarilishini boshqarish operatorlarida ifodalarni tanlashda va turlarni taqsimlash operatorlarida ham qo'llaniladi.

qavslar

kvadrat qavslar

Massiv deklaratsiyasida va alohida massiv elementlariga kirishda foydalaniladi.

nuqta-vergul

Operatorlarni ajratadi.

O'zgaruvchilar deklaratsiyasida identifikatorlarni ajratadi, shuningdek, tsikl sarlavhasidagi bayonotlarni bog'lash uchun ishlatiladi

uchun.

Paket nomlarini pastki paket va sinf nomlaridan ajratadi, shuningdek, o'zgaruvchi yoki usul nomini o'zgaruvchi nomidan ajratish uchun ishlatiladi.

O'zgaruvchilar

O'zgaruvchi Java dasturida axborotni saqlashning asosiy elementidir. O'zgaruvchi identifikator, tur va qamrovning kombinatsiyasi bilan tavsiflanadi. O'zgaruvchini qayerda e'lon qilganingizga qarab, u, masalan, for tsiklidagi kod uchun mahalliy bo'lishi mumkin yoki bu sinfning barcha usullari uchun mavjud bo'lgan misol o'zgaruvchisi bo'lishi mumkin. Mahalliy qavslar jingalak qavslar yordamida e'lon qilinadi.

O'zgaruvchan deklaratsiya

O'zgaruvchilar deklaratsiyasining asosiy shakli:

turi id[=value][, id[=value]

7...];

Turi o'rnatilgan turlardan biri, ya'ni.

bayt, qisqa, int, uzun, char, float, double,boolean yoki sinf yoki interfeys nomi. Biz ushbu turlarning barchasini batafsil muhokama qilamizkeyingi bob . Quyida har xil turdagi o'zgaruvchan deklaratsiyalarning ba'zi misollari keltirilgan. E'tibor bering, ba'zi misollar boshlang'ich qiymatni ishga tushirishni o'z ichiga oladi. Dastlabki qiymatlari ko'rsatilmagan o'zgaruvchilar avtomatik ravishda nolga tenglashtiriladi.

Quyidagi misol to'g'ri burchakli uchburchakning tomonlariga mos keladigan uchta o'zgaruvchini yaratadi va keyin

c Pifagor teoremasidan foydalanib, gipotenuzaning uzunligi, bu holda 5 raqami, tomonlari 3-4-5 bo'lgan klassik to'g'ri burchakli uchburchakning gipotenuzasining kattaligi hisoblanadi.

sinf o'zgaruvchilari (

umumiy statik void main(String args )(

= Math.sqrt (a* a + b* b);

System.out.println("c = "+c);

Sizning birinchi qadamingiz

Biz allaqachon ko'p narsaga erishdik: avval biz tilda kichik dastur yozdik

Java va uning nimadan iboratligi (kod bloklari, sharhlar) batafsil ko'rib chiqildi. Maqsadlari keyingi boblarda batafsil bayon qilinadigan kalit so'zlar va operatorlar ro'yxatiga duch keldik. Endi siz har qanday Java dasturining asosiy qismlarini mustaqil ravishda ajrata olasiz va o'qishni boshlashga tayyorsiz.4-bob , unda oddiy ma'lumotlar turlari batafsil muhokama qilinadi.
  • 2 oylik Java EE treningi (haftasiga 2 marta 4 soatdan)
  • agar siz yaxshi natijalarni ko'rsatsangiz (siz ushbu ikki oyda yozgan loyihangizni muvaffaqiyatli himoya qilsangiz), unda sizga ish taklif etiladi.
Kompaniya juda yaxshi, chet el, taniqli va ish sharoitlari a'lo darajada - bir so'z bilan aytganda, ular menga taklif qilgan joydan ko'ra ko'proq borishni xohlardim. Tanlov jarayoni 3 bosqichdan iborat:
  1. Uyda amaliy topshiriqlarni bajarish.
  2. Muvaffaqiyatli bo'lsa, sizni ofisda kompyuter testiga taklif qilishadi.
  3. Agar test muvaffaqiyatli o'tgan bo'lsa, siz o'sha kuni suhbatdan o'tasiz.
Men amaliy vazifalarni hech qanday muammosiz hal qildim - bu erda JavaRush va ularning vazifalariga katta rahmat, shundan keyin bu vazifalar juda oddiy bo'lib tuyuldi. 3 ta vazifa bor edi: RegExp-da (Google yordam berdi, chunki men ularga chiday olmadim va ularni eslay olmadim), algoritmlar bo'yicha (juda oddiy, ko'proq mutafakkirga o'xshaydi) va fayldan yozish/o'qish (bor JavaRush kursida bunday ko'p). Meni kompyuter testlariga taklif qilishdi. Men viktorina saytida testga tayyorlandim. Ushbu testlar juda ko'p yordam berdi, ba'zi savollar hatto oxirida kesishdi. Men testdan muvaffaqiyatli o'tdim, ular mendan intervyu olishni boshladilar. Bu suhbatni hayotimda hech qachon unutmayman. Men bilan suhbatlashayotgan odam mendan eshitishni xohlagan narsa Java nazariyasi asoslari edi, masalan:
  • tekshirilgan istisnolar belgilanmaganlardan qanday farq qiladi;
  • Object sinfida qanday usullar mavjud va ular nima uchun kerak;
  • to'plamlar nima va ular nima uchun;
  • va ko'p ish zarralari haqida bir oz.
JavaRush - bu ajoyib kurs, u sizga muammolarni va dasturni qanday hal qilishni o'rgatadi, lekin nazariyani (intervyular uchun) alohida o'rganish kerak, men bu masalalarda akvariumdagi baliq kabi suzish orqali amin bo'ldim. Ular meni o'rab olmoqchi bo'lishdi. Men uni tushunaman - deyarli hech narsaga aniq javob bera olmadim, men hamma narsani kod yozish nuqtai nazaridan aytib berishga harakat qildim va u nazariyaga qiziqdi. Lekin men ushbu amaliyotga kirishni juda xohlayotganimni aniq bilardim va agar menga vaqt berilsa, hammasini to'ldirishimni va baxtsiz nazariyani o'rganishimni bilardim. Men unga bularning barchasini aytdim va u meni kutib olish uchun yarim yo'lda ketdi - u bir haftadan keyin yana uchrashishni taklif qildi, ammo hozircha u mavzular ro'yxatini berdi (taxminan yuqorida aytib o'tganimdek) va ularni qaerdan o'rganish mumkinligini aytdi - shunchaki oracle o'quv qo'llanma, unda hamma narsa bor: http://docs.oracle.com/javase/tutorial/ Bir hafta ichida men ushbu qo'llanmani yaxshilab o'rganib chiqdim va yangi ish joyida kutilgan kun arafasida ikkinchi intervyuga bordim. Ko'rinishidan, men bilan suhbatlashgan odamni eng muhimi mening qat'iyatim bog'lagan edi (agar men ushbu amaliyotga kirsam, kelajak faqat o'zimga bog'liqligini bilardim - ikki oy ichida men o'zimga kerak bo'lgan hamma narsani aniqlab olgan bo'lardim). Qanday bo'lmasin, men ushbu amaliyotga kirdim va ilgari taklif qilingan joyga ishlashdan bosh tortdim. 2 oy davomida biz Java EE dan ko‘plab mavzular bilan tanishdik, masalan: Servlets, JSP, Hibernate JSF, Spring va boshqa ko‘plar – amaliyotdan so‘ng biz asosiy Java EE texnologiya stegi bilan tanishdik (taxminiy tasavvurga ega edik). Shuningdek, amaliyot davomida biz o'z loyihamizni yozdik, oxirida ishga joylashish uchun muvaffaqiyatli topshirilishi kerak edi. Men faqat birinchi ma'ruzadagi birinchi his-tuyg'ularimni eslayman. Men ushbu loyihaning vazifasini ko'rib chiqdim (u birinchi ma'ruzada darhol chiqarilgan) va bu erda qaerdan boshlashni va buni qanday qilishni tushunmadim. Muvaffaqiyatli qilishim uchun nima kerak bo'lganini ham eslayman. Shu ikki oy ichida boshimdagi deyarli barcha fikrlar muvaffaqiyatli ishga joylashish va orzuimni amalga oshirish mening qo'limda va boshqa hech narsa emas edi. Men buni qila olamanmi, boshqa hech kimga bog'liq emas edi. Faqat mendan. Men allaqachon ishimni tashlagan edim, deyarli pulsiz o'tirdim va bu juda qiyin edi. Men ertalab o'tirdim, tushdan keyin o'tirdim, kechqurun o'tirdim, lekin xursand bo'lishdan charchamadim - yana qachon o'zimni bunday vasvasaga bag'ishlaganimni eslay olmayman. Bu safar yana bir bor menga dasturlashni qanchalik yaxshi ko'rishimni va bu sohada ishlashni qanchalik xohlayotganimni tushunishga yordam berdi. Bitiruv paytida men o'z loyihamni taqdim etdim. Men buni chindan ham yaxshi himoya qildim, kutilganidan ancha yaxshi edi va istisno tariqasida meni boshlang'ich lavozimga emas, darhol Middle Java Developer lavozimiga ishga olishdi. 2014-yil 9-dekabr edi. Ishonmadim, lekin ish taklifi oldimda monitorimda turardi. Dastur muhandisi. Bu sodir bo'ldi. 15 dekabr kuni ishga ketdim. “Jin ursin, ishga bormoqchi emasman” degan xayolga hech qachon kelmaganman. Har kuni ertalab uydan chiqib, nima uchun ishga ketayotganimni, nima qilishimni va buni qanchalik xohlayotganimni bilaman. Bu nihoyatda yoqimli. Bunga arziydi va orzuingizga erishish uchun to'lashingiz kerak bo'lgan narxga arziydi. Haqiqatan ham dasturchi bo'lishni istagan barchangizga maqsadingizga erishishda oldinga intilishingizni tilayman. Bu haqiqatdan ham ko'proq, u juda yaqin, lekin buning uchun pul to'lash kerak. Ketgan vaqtingiz, asablaringiz bilan to'lang, chunki noldan biror narsani o'rganish haqiqatan ham eng oson qadam emas. JavaGush menga bu birinchi qadamlarni osonlik bilan qilishimga yordam berdi va men nazariyaning murakkabligi va koʻpligi tufayli boshidanoq dasturlashdan yuz oʻgirmadim. Shunday qilib, men o'zimning juda aqldan ozgan g'oyamni kasbiy faoliyat sohasida (hatto texnik ma'lumot bo'lmagan taqdirda ham) tubdan o'zgartirishga erishdim. Va, albatta, mumkin.

HeadHunter portali ma'lumotlariga ko'ra, 2016 yilda Java dasturchilariga bo'lgan talab 38 foizga o'sgan. Va bu chegara emas. Birgina mobil ilovalar bozori 2020 yilga borib ikki barobarga oshadi: yalpi yillik daromad 100 milliard dollardan oshadi, App Annie tahlilchilari bashorat qilmoqdalar.
Java hamjamiyatining bir qismi bo'lishni va kelgusi 5 yil ichida smartfon va shaxsiy kompyuterlar uchun dasturiy ta'minot qanday bo'lishiga ta'sir qilishni xohlaysizmi? Professional sayohatingizni hoziroq boshlang. Birinchi bosqichda sizga kerak bo'ladigan eng muhim narsalarni biz yangi boshlanuvchilar uchun Java Intensive Programming dasturida to'pladik.

Java-ni noldan o'rganishni qanday boshlash kerak?

Bepul

Tanish uchun pul to'lash noto'g'ri. GeekBrains buning uchun pul olmaydi. Shuning uchun bizning kirish onlayn Java kurslarimiz bepul.

uzoqdan

Qaerda bo'lsangiz ham, bilim yaqin. Java tilini onlayn o'rganish uchun sizga internetga kirish imkoniyati va moslashuvchan aqlga ega kompyuter/smartfon kerak bo'ladi. Sinf xonasida siz o'qituvchiga savollar berishingiz va sinfdoshlaringiz bilan suhbatlashishingiz mumkin.

Java dasturlash asoslari intensivligi kimlar uchun?

Dummies uchun

Agar siz dasturlashni endigina boshlayotgan bo'lsangiz va "qo'g'irchoqlar uchun" Java kursini izlayotgan bo'lsangiz, intensiv dars foydali bo'ladi.

Maktab o'quvchilari uchun

Material aniq, misollar bilan taqdim etilgan. Bir necha soat ichida siz tilning asosiy xususiyatlari va xususiyatlarini ko'rasiz. Maktab o'quvchilari uchun GeekBrains-da Java-ni o'rganish o'yin sanoatida tezkor boshlanishdir. Birinchi darsda siz do'stlaringiz va Internetda baham ko'rish uchun yoqimli bo'lgan o'yin yaratasiz.

Hamma uchun

Til sizga yoqadimi yoki yo'qmi va Java dasturini professional tarzda ishlab chiqishga tayyormisiz, bilish uchun Java dasturlashni noldan o'rganishni boshlang.

Men 7 yildan beri Java-da dasturlash bilan shug'ullanaman. Ammo ishda siz ko'pincha yangi avlodni tayyorlashingiz kerak. Shu munosabat bilan men Habrchan uchun foydali bo'lishiga umid qiladigan bir nechta hiyla-nayranglarni tayyorlashga qaror qildim. Agar kimdir ushbu maqoladagi ma'lumotni biror narsa bilan to'ldirishga yordam bersa, yozing! Shunday qilib:

Boshlang'ich ta'lim uchun asosiy manbalar

  • www.javable.com - Java bo'yicha maqolalar va o'quv qo'llanmasi mavjud sayt.Hammasi asosan rus tilida.
  • www.exampledepot.com - juda foydali manba, unda ma'lum paketlar uchun sinflardan foydalanishning qisqacha misollari mavjud
  • java.sun.com - asl manbasiz qilolmaysiz. Har qanday Java dasturchisi uchun JavaDoc yakuniy haqiqat bo'lishi kerak. Shuningdek, bu erda siz barcha mumkin bo'lgan mavzular bo'yicha bir qator o'quv qo'llanmalarini topishingiz mumkin.

Asosiy Java paketlari

Quyida dasturchi yaxshi bilishi kerak bo'lgan Java paketlari ro'yxati keltirilgan. Ular bilan JavaDocs orqali ham, www.exampledepot.com yordamida ham tanishish tavsiya etiladi.Barcha paketlar o‘rganish uchun tavsiya etilgan tartibda joylashtirilgan.Shunday qilib:
  1. java.lang asoslarning asosidir. Ushbu paketdagi har bir sinf alohida e'tibor talab qiladi.
  2. java.io - hech qanday dastur kiritish-chiqarish operatsiyalarisiz bajarolmaydi.
  3. java.util - To'plam asosan to'plamlar bilan ishlash uchun kerak bo'lgan hamma narsani o'z ichiga oladi: To'plam, Ro'yxat, To'plam, Ro'yxat, Xarita va boshqalar. va h.k.
  4. java.net - tarmoq bilan ishlash uchun asosiy sinflarni o'z ichiga oladi.
  5. java.text - matnni formatlash uchun kerak bo'lgan hamma narsa
  6. java.lang.reflect - Agar Reflection bo'lmaganida Java Java bo'lmas edi.Reflection ma'lumotlar va kod o'rtasidagi chiziqni xiralashtiradi.
  7. javax.sql - ma'lumotlar bazalari bilan ishlash uchun kerak bo'lgan hamma narsa
  8. javax.xml.* , org.w3c.dom.* , org.xml.sax.* - XML ​​bilan ishlashni ushbu paketlarsiz tasavvur qilib bo'lmaydi.

Ufqlaringizni kengaytirish uchun manbalar

  • onjava.com - ertami-kechmi Java olamidagi barcha yangiliklar shu yerda tugaydi
  • www.javaspecialists.eu - yangi boshlanuvchilar va ilg'or dasturchilar uchun foydali bo'lgan manba, chunki unda Java bilan ishlashning nozik jihatlari haqida ko'plab maqolalar mavjud.
  • www.theserverside.com - RSS-ga obuna bo'lish tavsiya etiladi, chunki Java haqida juda qiziqarli narsalar ko'pincha o'tib ketadi.

Java kutubxonalari hamma bilishi kerak

Java faqat JSDK xususiyatlarini bilish bilan tugamaydi. O'zingizni qulay his qilish uchun siz hamma joyda Java dasturchilari tomonidan ishlatiladigan o'nlab yoki ikkita uchinchi tomon kutubxonalarini bilishingiz kerak. Shunday qilib, keling, asosiy narsalardan boshlaylik:
  • Commons Lang - JDKga nima kiritish "unutilgan"
  • Commons Math java.math-ga ajoyib qo'shimcha hisoblanadi
  • Commons Logging - logging malakali bo'lishi kerak. System.out.println jurnali jurnallarini ko'rsatishi uchun yangi boshlanuvchi dasturchilar bir haftalik mashg'ulotdan so'ng qo'llarini kesishlari kerak.
  • Sergey Savenkov

    qandaydir "oz" sharh ... go'yo qayergadir shoshayotgandek