Yeni başlayanlar için Java dili. JAVA programlama eğitimi

  • 16.07.2019

Java'da malzeme seçimi. Çalışırsanız, hangi aşamada olursanız olun, kesinlikle kendiniz için yararlı bir şeyler bulacaksınız.

Liste, dilde yayınlanan güncellemeler dikkate alınarak derlenmiştir. En iyi yönlendirme için tüm kitapların kendi kategorisi vardır.

Çaylak

Bu kitap, bu dilde programlama yolculuğuna yeni başlayanlar için idealdir. Burada bir programcı için ilk başta gerekli ve gerekli olabilecek her şeyi bulabilirsiniz. Her biri size dilin temellerini, ana ilkelerini ve yeteneklerini tanıtacak 17 bölümden oluşur. Kitap ayrıca, geliştiricinin bilgisini kesinlikle zenginleştirecek olan Swing kitaplığı ve JavaFX platformuyla çalışma ilkelerine de değiniyor.

Bu, Java programlama dilinde program yazmak, derlemek ve çalıştırmak için vazgeçilmez bir öğreticidir. Materyalin derinliği, okuyucunun bu dilde program geliştirmeyi kolaylaştıracak ve süsleyecek birçok gerekli bilgiyi toplamasına yardımcı olacaktır.

Kitap, kodu olabildiğince verimli ve temiz hale getirmek için ne yapılması ve ne yapılmaması gerektiğini netleştirecek bir dizi çok yararlı kural içermektedir. Daha iyi anlaşılması için her kurala örnekler eşlik eder.
Dilin ve kütüphanelerin özellikleri de dikkate alınacaktır. Birçok farklı çalışma yöntemi, deneyimli geliştiricilerden tavsiyeler. Bunların hepsi birlikte, bu geliştirme platformundan en iyi şekilde yararlanmanıza yardımcı olacaktır.

Derinlemesine çalışma için temelleri bilmek

Kitap, halihazırda geliştirme deneyimi olan programcılar için kapsamlı bir rehber ve referans aracıdır. Bilgiler, dildeki tüm yenilikler doğrultusunda güncellenmiştir. Ciddi bir programcıysanız ve pratik sorunları çözüyorsanız, bu sizin için mükemmel bir rehberdir. Bu sayede dil ve kütüphaneleri hakkında derin bir anlayışa sahip olacaksınız. Bu cilt, dilin temellerine ve kullanıcı arayüzü programlama ilkelerine odaklanmaktadır. Ayrıca, nesne yönelimli programlama ilkelerinden paralel ve işlevsel programlamadaki en son tekniklere kadar çeşitli konuları öğreneceksiniz.

Profesyonel

Spring çerçevesine aşina olan herkes önce belgelerini okumalıdır. Her şeyden önce, buradan pratikte faydalı olacak bir hazine deposu bulabilmeniz nedeniyle. Belgeler, Spring'in tüm özellikleri hakkında bilgi içerir. Bu çerçeveyi kullanarak açılan yeni bir bilgi alanı ve fırsatlarla yeni tanışanlar için de uygundur.

Kitap, Java EE yazılım platformuyla çalışmalarının verimliliğini artırmak isteyenler için uygundur. Buradaki modeller, uygulamalı problem çözme örnekleri kullanılarak hem teorik hem de pratik olarak her yönden ele alınır.
Okuyucuya Java EE7'nin ana ve ayırt edici özellikleri tanıtılacaktır.

Kitabın kapsamı oldukça dardır, ancak bu onu daha az kullanışlı yapmaz. Henüz işlevsel programlama ile çalışmamış, farklı programlama deneyimine sahip kişiler için faydalı olacaktır.
Kitaptan, lambda ifadelerini nasıl kullanacağınızı ve bunların performansı nasıl iyileştirebileceğini öğreneceksiniz. Kitap, kodu nasıl daha kolay ve daha iyi hale getireceğiniz, size kitaplıklarla çalışma becerilerini nasıl tanıtacağınız konusunda rehberiniz olacak. Bilgiye, konunun çalışılmasını daha ilginç ve faydalı hale getirecek çok sayıda örnek ve kusursuz açıklamalar eşlik ediyor.

Java öğrenmenize yardımcı olacak Rusça kanallar

1. çevrimiçi eğitim

Bence herkes en az bir kez bu yazardan alınan derslere rastladı. Çok yavaş açıklıyor gibi görünebilir, ancak aslında alınan bilgileri iyi özümsemenize ve pekiştirmenize izin veren bu hızdır. Bu IDE'nin kısayollarına, kitaplıklarına ve diğer avantajlarına aşina olmayanlar için uygun olan Eclipse ile çalışır (özellikle her yerde Eclipse bilgisi gerektiğinden). Çalma listeleri giriş, profesyoneller için Java, sıralama algoritmaları, JSP, Swing, desenler ve daha fazlasına bölünmüştür.

2. Zhirni Toni

Ayrıca temel bilgileri öğrenmeye odaklanan popüler bir kanal. Programlamanın kendisine ek olarak, OOP'nin temellerinin analizine kadar sürecin şematik bir görselleştirmesi de burada sunulmaktadır. İşte ana sınıfa, konsola çıktıya ve döngülere genel bir bakış. Temelde Java'yı sıfırdan öğrenmek için ihtiyacınız olan her şey. Videolar kısa, her biri 20 dakikaya kadar. Açıklamalar, özlü olmasına rağmen geniştir, böylece izledikten sonra gereksiz soru kalmaz. Oynatma listeleri, Aptallar, Java Üretimi ve Metodolojisini içerir. Bir röportaj için hazırlanıyorsanız, ihtiyacınız olan şey budur.

3. çatı katı blogu

Solyanka koleksiyonu. Hayır, gerçekten: Bu kanalda pek çok şey var. Programlamanın temelleri, HTML, CSS, Python, Git ile ilgili dersler bulabilirsiniz. Hatta Adobe Premiere'de video düzenleme. Yani, adamların deneyimi muazzam. Ama Java hakkında konuşacağız. Burada, sevgili IntelliJ IDEA'mızın tümü (kesinlikle çoğu) ile çalışırken gösteriliyoruz. Yeniyseniz veya IntelliJ'i hiç kullanmadıysanız yararlı olan IDE'yi nasıl kuracağınızı bile gösterirler. Aynı zamanda, konunun karmaşıklığına bağlı olarak derslerin süresi farklıdır. Malzemenin sunumu hafif ama eksiksizdir.

4. kötü inek

Burada derslerin seviyelere ayrılması çok iyi: Yeni başlayanlar için Java eğitimi, orta seviye, JavaFX ve “Java'da program yaz” var. Ama hayır, programları sadece orada yazmanız gerekmeyecek: görselleştirilmiş kodlama içeren açıklamalar her yerde. Sadece son bölüm daha ayrıntılı, programı sıfırdan hazırlamak için tasarlandı. Tecrübeli olsanız bile çalma listelerine göz atmak isteyeceğiniz acemi caz müzisyenleri için vazgeçilmez bir yardımcı kanal.

İngilizce Youtube kanalları

5. Derek Banas

Bu kanal ile Java öğrenmek zor olmasa da yazar Java ile sınırlı değildir. Burada birçok destekleyici malzeme var. Örneğin, Java'dan sonra Android'e "akmak" istiyorsanız, bu bir soru değil çünkü kanalda ilgili video eğitimleri var. Hem algoritmalar hem de Java öğreticileri sunulur. Videolar, hem dilin kendisinin hem de üzerindeki programın çalışma şemasını kısa ve öz bir şekilde ve olabildiğince açık bir şekilde açıklayan sunumlarla sağlanır. Yazar ayrıca Eclipse kullanıyor.

6. Durga Yazılım Çözümleri

Ve ancak şimdi kanala derslerle girdik. Evet, bazen sadece ders materyaline ihtiyacınız var - bir tahta, bir kalemle, böylece her şey siyah beyaz olsun. Birçoğu için bilgi bu şekilde gerçekten daha iyi emilir. Öğretim görevlisi konuyu anlıyor ve bu onun kendinden emin açıklamalarından görülebilir. Malzemenin çok iyi sunumu ve gerçekten çok sayıda ders, izledikten sonra sadece Java öğrenmekle kalmaz, aynı zamanda geleceğe de tam anlamıyla hazırlanabilirsiniz. Her ders yaklaşık bir saatinizi alacaktır.

7. Java Beyinleri

Java Brains öğretmeni mükemmel bir öğretmen ve öğrettiklerinde teknik uzmandır. Uzun süredir yazılım geliştirici olarak çalışıyor, bu yüzden her anlamda doğru içeriği alacağınızdan emin olabilirsiniz. Bazen yazar yollardan birini gösterir ve ardından aynı şeyi, ancak daha iyi, daha temiz yapmak için kodu nasıl değiştirebileceğinizi açıklar. Java Enterprise Edition'ın yanı sıra Spring ve Hibernate gibi popüler çerçevelerin bir dökümü de dahil olmak üzere birçok oynatma listesi vardır.

8. Deege U

Bu kanalda size bunun ne olduğunu, Github'da nasıl havuz oluşturulacağını, mikro hizmetlerin, öğreticilerin vb. gösterilmesini anlatacaklar. Genel olarak, hiçbir süpernova yoktur, ancak bu kanal, her yerde ele alınmayan gerçekten ilginç bazı konulara değinildiği için öncekilere harika bir ek olacaktır. Örneğin, Java EE uygulama sunucusu Wildfly. Hem yeni başlayanlar hem de daha deneyimli geliştiriciler için iyi bir cankurtaran.

Seçimimizi alın. Java öğrenmek isteyen yeni başlayanlar ve "materyali" hatırlamak isteyen deneyimli programcılar için kesinlikle kullanışlı olacaktır. Yeni ufuklar açmada iyi şanslar!

Yazardan: dünyadaki yaklaşık 3 milyar akıllı telefon, 125 milyon televizyon seti ve her bir Blu-ray oynatıcı bu programlama dilinde çalışıyor. Bu dil, yazılım geliştiricilerin derecelendirmelerinde düzenli olarak ödüller kazanır ve en büyük BT şirketleri arasında en popüler olanıdır. Bu teknik bir olgudur ve "bir kez yaz - her yerde çalıştır" ilkesine karşılık gelen kesinlikle herhangi bir cihazda çalışır (WORA - "bir kez yaz, her yerde çalıştır"). Kim tahmin etti, ellerini kaldır! Tabii ki, bu Java dilidir. Ve bugün size tüm kartları açıklayacağım ve sıfırdan nasıl Java programcısı olunacağına dair tüm gerçeği anlatacağım! Rahatla!

Java hakkında bazı gerçekler

Sizi uzun teorik vaazlarla sıkmamak için, Java ile ilgili bazı bilgileri bir listede gruplandırdım, okuduktan sonra ne tür bir dil olduğunu ve programlamanın vahşi doğasındaki rolünün ne olduğunu anlayacaksınız:

Java, "süslü" ve platformlar arası bir programlama dilidir. Herhangi bir işletim sistemine sahip herhangi bir cihazda çalışır. Tüm Google ve Android uygulamaları üzerine yazılmıştır. Başka hiçbir dilde bu kadar çok bilgi ve öğrenme materyali bulamazsınız;

dilin resmi çıkış tarihi 23 Mayıs 1995'tir. Başlangıçta interaktif kablolu televizyon için tasarlanmıştı, ancak "birlikte gelişmedi." Java, 2010 yılında Oracle tarafından satın alınan Sun Microsystems tarafından icat edildi;

Birçok kişi Java ve JavaScript'i karıştırır. Etkileşim kurmak istiyorsanız (web siteleri, web uygulamaları), ikinci seçeneği seçin. Java bir arka uçtur, yani uygulama doldurmanın geliştirilmesi;

JavaScript. Hızlı başlangıç

kodu özel bir java sanal makinesi (JVM) tarafından yürütülen nesne yönelimli bir programlama dilidir. ABD'de, 10 bilgisayardan yaklaşık 9'unda aynı JVM kuruludur;

Dil, adını bir kahve markasından alır, bu nedenle resmi amblemde ilham verici bir fincan bulunur.

Hala burada mısın yoksa kendine mis kokulu bir kahve yapmak için mi koştun? O halde nasıl Java programcısı olunacağından bahsetmeye devam edelim.

Yazılım ortamının kurulması

Garip bir şekilde, bazı insanlar zaten Java yazılım ortamını kurma aşamasında sorun yaşıyor. Bunu yapmak için geliştirici şirketin resmi web sitesine gidin - Oracle. Sitenin en üstünde mevcut sürüme bir bağlantı göreceksiniz. Java SE'ye (Standart Sürüm) ve bir dizi geliştirme aracı olan Java Development Kit'e ihtiyacınız var. Lütfen farklı işletim sistemleri için farklı dağıtımlar olduğunu unutmayın.

Diyelim ki Windows'umuz var. "Sistem Özellikleri" ne gidiyoruz ve ne tür bir sistemimiz olduğunu görüyoruz - 32 bit veya 64 bit. Bit derinliği açısından bize uygun dosyayı indirin. Yanlış dağıtımı seçerseniz, kodu derlerken bir hata alırsınız. Lisans Sözleşmesini Kabul Et'i onayladıktan sonra indir düğmesine tıklayın.

Java Developer's Toolkit nedir?

Bir programcı çoğu zaman bir IDE'de (IntelliJ IDEA, Eclipse, WebStorm, NetBeans) geçirir. IDE, programlama için özel bir arayüz olan entegre bir geliştirme ortamıdır. Yalnızca kod yazarken yardımcı olmakla kalmaz, aynı zamanda diğer programlama araçlarını kullanmayı da kolaylaştırır. Bazıları sıfırdan Java programcısı olmak isteyenlere ilk programlarını normal bir notepad veya Notepad++ ile yazmalarını tavsiye ediyor.

Belki de temel programlar bir editörde yazılmalıdır. Ancak gelecekte, IDE'yi kullanmanızı şiddetle tavsiye ediyorum. Kod tamamlama, sözdizimi kontrolü, yöntem tanımına atlama ve diğer pek çok işleve sahiptir. Ve akıllı ipuçları sizi, fiziksel olarak imkansız olan tüm fonksiyonların isimlerini ve parametrelerini hatırlamak zorunda kalmaktan kurtaracaktır.

Ekipler halinde çalışırken, birkaç kişi aynı anda aynı program üzerinde çalıştığında, sözde sürüm kontrol sistemini (Perforce, Git, Subversion vb.) Kullanmak zorunludur. Ancak sürüm kontrol sistemleri tek başına çalışırken çok uygundur.

Java öğrenmek için örnek bir algoritma

Java dilinin temellerini öğrenmek. İlk adım, mantıksal düşünme becerilerinizi geliştirmek ve programlama dili sözdiziminin temel kavramlarını öğrenmektir. Bir kitap, makale veya öğretici video ile donanmış olarak, girdiye bağlı olarak farklı davranışlara sahip basit Java nesneleri oluşturmak için bir IDE veya metin düzenleyici kullanmayı öğrenin.

Java dilinin gelişmiş özelliklerinin analizi. Bu adımda, pratik odaklı daha karmaşık uygulamalar oluşturmanıza yardımcı olacak sözdizimini, kitaplıkları ve çerçeveleri öğrenin. İyi bir programcı, çeşitli kitaplıkların nasıl kullanılacağını bilmekle kalmaz, aynı zamanda bunların içinde nasıl düzenlendiğini de bilir. Ayrıca I/O işlemleri, kalıtım ve soyutlamalar, serileştirme, genel tipler, düzenli ifadeler gibi kavramlar sizin için boş bir cümle olmamalıdır.

JavaScript. Hızlı başlangıç

Bir web uygulaması oluşturmaya ilişkin pratik bir örnekle JavaScript'in temellerini öğrenin

Programlama incelikleri. Java programlamanın belgelerine ve jargonuna asla göz yummayın. Bu aşamada, zaten olgun bir programcıya "mutasyona uğruyor" olmalısınız. Tematik forumlarda ve programcıların bir araya geldiği diğer ortamlarda bulacağınız Java uzmanlarıyla iletişim kurun. Onlara kodunuzu gösterin, başkalarına danışın ve tavsiyelerde bulunun - "karma biriktirin." Hatta kendi blogunuzu başlatabilir, kendi kodunuzun parçacıklarını yayınlayabilir ve daha deneyimli programcıların bu konuda söylediklerini görebilirsiniz.

Programlamaya nasıl başlanır?

Sıfırdan Java programcısı olacaklar için ilk programınızı nasıl yazacağınızı anlatacağım.
Bu nedenle, herhangi bir metin düzenleyiciyi açın ve şunu yazın:

sınıf HelloWorld ( public static void main(String args) ( System.out.println("Merhaba Dünya!"); ) )

sınıf HelloWorld(

public static void main(String args )(

Sistem. dışarı . println("Merhaba Dünya!");

Dosyayı HelloWorld.java adı altında kaydediyoruz. Lütfen Java'nın büyük/küçük harfe duyarlı olduğunu, bu nedenle "helloworld" ve "HelloWorld" kelimelerinin farklı olduğunu unutmayın. Koddaki dosya ve sınıf adları farklıysa, program başlamaz. Ayrıca kodlamanın ANSI olması önemlidir.

Şimdi programı JDK'dan javac derleyicisini kullanarak derlememiz gerekiyor. Geliştirme ortamını kurmamışken, Başlat menüsünden çağırarak cmd komut satırını kullanarak derleyeceğiz. Açılan pencereye cmd yazın ve Enter'a basın.

HelloWorld.java'yı C sürücüsündeki Prog klasörüne kaydettiysek, şu komutu giriyoruz:

cd C :\prog a

ve Enter'a basın. Böylece dizini programımızın bulunduğu dizine değiştirdik. Sonra giriyoruz.

Merhaba sevgili okuyucu. Uzun zamandır benzer bir makale yazmak istiyordum ama ya yeterli zaman yoktu ya da haince tembellik araya girdi. Ama öyle olsa bile, size bir fayda sağlayacağını umduğum bir şey yazmak için yine de düşüncelerimi toplamayı başardım. Bilgi ve deneyimimi memnuniyetle paylaşacağım, karşılığında size zaman ve ilgi göstereceğim. Bence bu yayın, kendi çıkarları doğrultusunda karar vermeye hazır olan ve hayatlarını bir şekilde BT ile birleştirmek isteyenler için çok uygundur. O zaman hadi gidelim!

Bir programlama dili seçmek

Yayın, birçok benzer materyal gibi görünmeye başlar. Türün yasasına göre, bir çift üç programlama dilinin adını yazmam, birkaç artı ve eksi belirtmem ve sonuç olarak soruyu yanıtlamadan bir sonraki bölüme geçmem gerekecek. Kısmen bunda bazı gerçekler var, çünkü gelecekte ne tür ürünler geliştirmek istediğine bağlı olarak herkes kendisine daha yakın olan dili seçer. Çoğunuz okulda Turbo Pascal okudunuz ve artık bu dilde neredeyse hiçbir şeyin yazılmadığı haberiniz olmayacak. Dolayısıyla bu durumda, dili akıllıca seçmeniz gerekir, ancak hiçbir zaman çok fazla bilgi olmasa da, ancak kısa sürede programcıların saflarına etkili bir şekilde katılmak istiyorsanız, dil seçimine akıllıca yaklaşılmalıdır. En başta şunu unutmayın: iyi bir programcı asla aç kalmaz ve çoğu durumda kendisine çok fazla havyar satın alabilir.(bu tanım herhangi bir uzmanlık için uygundur, ancak hiçbir uzmanlık size hem şirketler hem de ülkeler açısından bir iş yeri seçmede bu kadar özgürlük vermez - o Hindistan'da bir programcı ve programcıdır).

Dil ve talep ne kadar popüler olursa, gelecekte iş bulma olasılığı o kadar yüksek olurken, dilin öğrenilmesi kolay olmalıdır. Çünkü çok sayıda oyun C++ ile yazılsa ve bunun için iyi para kazansa da, yeni başlayanlar için, özellikle OOP'ye (nesne yönelimli programlama) aşina olmayanlar için bu dili bir süre cehenneme çevirmek daha iyidir. Aşağıdaki linkte 2014 yılının en popüler programlama dillerinin listesi yer alıyor ve görebileceğiniz gibi Java ilk sırada, ardından C dilleri ardından Phyton, JavaScript, PHP, Ruby vb. Bu tür istatistikleri kendiniz ararsanız, farklı kaynaklarda yerlerin farklı şekilde işgal edildiğini görürsünüz, ancak genel olarak içerikte ilk 10 yer her yerde çakışacaktır.

Twitter'da yayınlanan açık pozisyonların analizine dayanan bir başkasına dönerseniz, ilk örnekle çok benzer bir durum göreceksiniz. Ve evet, her iki makale de İngilizcedir, buna alışın, programcı olmak istiyorsanız, hemen hemen tüm belgelerin ve yararlı bilgi kaynaklarının İngilizce yazıldığını unutmayın, bu nedenle bu dildeki bilginiz oldukça zayıfsa, kendinizi ekleyin. İngilizce öğrenmek ve pratik yapmak için yarın ve yakın gelecekte yapılacaklar listenize ekleyin. Hatta yabancı dil öğrenmekle ilgili ayrı bir yazı bile yazmayı düşünüyorum.

Bu iki kaynağa dayanarak, şu anda hangi programlama dillerinin "moda" olduğunu hayal edebiliyoruz. Adından da anlaşılacağı gibi, makalenin yazarı kendisi için Java'yı seçti. OOP'yi öğrenmek için en iyisi olduğunu düşünmeme rağmen, benimle aynı fikirde olmayacak birçok insan var ve bu mantıklı - kaç kişi, çok fazla fikir. Burada küçük bir yol ayrımındayız: Programların ve uygulamaların doldurulmasıyla (back-end) çalışmak istiyorsak Java, C# (Java'ya çok benzer), Phyton'u veya istiyorsak PHP, JavaScript, HTML'yi seçin. web geliştirme yapmak (ön uç). İlk durumda Java'yı ve ikincisinde PHP'yi seçerdim, yine zevkinize daha uygun olsa da, çeşitli diller hakkında kendiniz bilgi aramalı ve genel olarak ne yapmak istediğinizi anlamalısınız. Düşünce için, dünyanın en büyük İnternet şirketlerinde kullanılan dillerden bir seçki burada.

Java veya PHP'yi seçmemin 2 ana nedeni var. Birincisi çok popüler diller ve uygun işi bulmak zor olmayacak, ikincisi ise başka hiçbir dilde bu iki dilde olduğu kadar hem Rusça hem de İngilizce olarak öğretim materyali bulamayacaksınız.

Eğitim

Yani çoğu insanın sorunsuz ulaştığı bir aşamaya geldik ama bu dönem haklı olarak bir programcının kariyerindeki en zor dönemlerden biri. Bir programcı hayatı boyunca öğrense de, ilk adımlarını atmaya başladığı zaman, gelecekteki kaderini büyük ölçüde belirler. Genel olarak, eğitim bir kişinin gücünü, dayanıp dayanmayacağını, bir ay içinde ilgisini kaybedip kaybetmeyeceğini (bazılarının yaptığı gibi), sona ulaşıp ulaşamayacağını ve tüm katmanların üzerinde olduğu temel bilgilere hakim olup olmayacağını test eder. bilgi daha sonra katmanlı olacaktır.

Genel olarak, pratikte defalarca onayladığım kendi teorim var: Kesinlikle her şey 1 yılda öğrenilebilir.. İnanın bu mutlak gerçektir, hatta biri için daha az zaman alır ama insan bir yıl boyunca pes etmez ve öğrenmeye akıllıca yaklaşırsa, o zaman öğrenmemesi neredeyse imkansızdır. Bu sadece programlamada değil, kesinlikle herhangi bir alanda: gitar çalmak istiyorsanız - sorun değil (çok fazla zaman ve çaba harcamadım), Arjantin tangosu öğrenin, sörf yapın - tüm bunlar bir yıl sürer. Ana şey öğrenmek!

Bu durumda, bana hala daha yakın olduğu için Java dilini ele alacağım. Neyse ki, İnternet başkalarının öğrenmesine yardımcı olmak için bağış yapan insanlarla dolu, bu nedenle sizin için doğru materyali bulmak zor değil. , rahat dairenizin duvarlarından kalem ve kağıtla bakabileceğiniz (şimdiye kadar sadece Rusça). Materyali okumaya alışkın olanlar için yine İnternet harika fırsatlar sunuyor ve bu, Java dersleri içeren çeşitli sitelerden sadece biri. Gereğinden fazla teori var, ancak Coursera.org gibi çeşitli dillerde ve programlama dahil çeşitli alanlarda eğitim kursları bulabileceğiniz böyle bir eğitim sitesi hakkında söyleyemem - yine her şey tamamen ücretsiz . Böyle bir veya iki site yok, sadece bakmalısın.

Ancak bilişsel teori ne kadar önemli olursa olsun, programlama pratik olmadan yapamaz. Ancak burada bile işin yarısı bizim için zaten yapılmış durumda ve becerilerimizi geliştirmek için çeşitli görevler aramamıza gerek yok, JavaRush gibi bir hizmet bu konuda çok yardımcı olacaktır. Genel olarak bu site, ekrandan kod kopyalamakla başlayıp karmaşık görevlerle biten hem teori hem de pratik sağlar ve hatta molalarda dinlenmeyi ve kötü şöhretli animasyon dizilerini izlemeyi teklif eder. Yazarlara göre, hizmette 20. seviyeye ulaşmış olanlar, bir BT şirketinde iş bulmak için yeterli bilgiye sahip olacak.

Ve elbette birileri soracak, peki ya kitap? Onları okumak gerekli değil mi ve gerekirse ne olacak? Buna, hiç kimsenin kitap okumaktan daha aptal olmadığı cevabını vereceğim. Ayrıca çok fazla kitap var ama sadece küçük bir kısmını listeleyeceğim:

pratikte yardım

Daha önce de belirtildiği gibi, uygulama, özellikle programlama olmak üzere herhangi bir eğitimin ayrılmaz bir parçasıdır. Burada parmaklarınızın kas hafızasına kadar kodlamanız ve kodlamanız gerekir. Bu, elbette biraz abartılı, ancak başlangıçta çeşitli tasarımların anlamlarını ezberlemek için tuşlara gerçekten çok basmanız gerekecek, böylece gelecekte bunları neredeyse otomatik olarak kullanacaksınız.

Pek çok acemi programcının, özellikle bağımsız bir görevi tamamlamaları gerektiğinde, başta çok sayıda sorusu vardır. Bu iyi. Ancak bu gibi durumlarda, aklınıza takılan hemen hemen her sorunun internette yanıtlanabileceğini anlamanız gerekir. Onunla ilk karşılaşan muhtemelen siz değilsiniz, bu nedenle çeşitli programcı forumlarında (bu konuda biraz sonra yazacağım) soru sormak için acele etmeyin. Bir dakika oturun, sorunu kafanızda doğru bir şekilde formüle edin ve cesaretle arama motorunda arayın. Elbette çoğu kişi Rusça arama yapacaktır, ancak programcıların dilinin İngilizce olduğunu unutmayın, bu nedenle cevabı büyük ve kudretli olarak bulamadıysanız, herkesin okulda öğrendiği, ancak asla öğrenmediği dile bakmalısınız. . Ancak bu durumda bile sorunuzun hiçbir yerde yanıtı olmadığı ortaya çıkarsa, en iyi İnternet forumları savaşa girer:

  • Cyberforum - bence en popüler Rusça BT forumu, burada yalnızca programlama alanında değil, soruların yanıtlarını bulabilirsiniz;
  • Programcılar forumu - büyük bir Rusça forum;
  • Arama motorları kötü şöhretli bir forumdur ancak daha çok web programlamada uzmanlaşmıştır;
  • Yığın taşması - ve bu sözlerden korkmuyorum, burası dünyanın en popüler BT forumu, neredeyse tüm sorularınızın yanıtlarını burada bulacaksınız;
  • Geliştirici kulübesi aynı zamanda büyük bir İngilizce forumdur;
  • Quora bir kodlama forumu değildir, ancak gerçek bir profesyonelden yanıt alma şansınız yüksektir.

Elbette forumlar, sorularınıza yanıt almanın tek yolu değildir. Uygulamalarında, her yerdeki programcılar resmi belgeler yazdıkları dil. Belirli sınıfların ve arayüzlerin nasıl çalıştığını açıklar, bazen dokümantasyon sorunları çözmeye yardımcı olabilecek tek kaynaktır, çünkü yalnızca ilk aşamada herkesin benzer soruları vardır ve kolayca hazır çözümler bulabilirsiniz, ancak ilerledikçe ormanda, cevapları bulmak gittikçe zorlaşıyor, bu yüzden umarım zaten zeki olan kafanıza güvenmeniz gerekir.

kodu derlemek

Zaten epeyce yazdım, elbette bu kadar geniş bir konuyu bir makale çerçevesinde ele almak zor ama bence ilk adımlar çoktan atıldı ve sizde uygun düşünceleri uyandırmalılar. Bence bu, "Nasıl programcı olunur" serisinin yalnızca ilk makalesi ve buna göre "neden?", Bir yol ayrımındaysanız ve henüz hangi yolu seçeceğinizi bilmiyorsanız. Bir dahaki sefere maddi olarak daha ilginç şeylere değineceğim, programcıların fakir insanlar olmadığı bir sır değil ve bir dahaki sefere nereden ve ne kadar alacaklarını göreceğiz.

Son olarak, gerçekten programcı olmak isteyenler için, boğayı boynuzlarından tutmanızı, tüm iradenizi bir yumruk haline getirmenizi ve istediğinizi yapmanızı dilerim. Benden önce binlerce kez söylendi ama tekrar ediyorum asıl mesele istemek ve çalışmak. O zaman her şey senin için yoluna girecek. En önemli şeyi hatırla: programlama dilleri ve çeşitli teknolojilerin incelenmesini bir amaç olarak değil, bir ARAÇ olarak algılar. Sadece önünüzde açılan olasılıkları hayal edin. Belki de gerçek zamanlı olarak dünyayı değiştirenlerden biri olursunuz. İyi şanslar ve izlediğiniz için teşekkürler!

Video bonusu

Etiketler: Etiket ekle

Bu yazıda Delphi'de programlamanın temellerini olabildiğince basit ve anlaşılır bir şekilde açıklamaya çalışacağım.

Aptallar için Java. Ders 1. Program Merhaba Dünya!

Öncelikle size Java'nın neler yapabileceğini anlatacağım. İlk olarak, bu dilde, sitenin web sayfasına gömülü olan programlar - uygulamalar yazabilirsiniz. Örneğin, bir oyun, bir iş grafik sistemi ve çok daha fazlası olabilir. İkinci olarak, Java'da mutlaka Web ile ilgili olmayan tam teşekküllü uygulamalar yazabilirsiniz. Ve servlet'ler de mümkündür - applet'lerin aksine istemci tarafında değil, sunucu tarafında yürütülen programlar.

En temel bilgilerle başlayalım. Geleneğe saygı gösterelim ve ekranda bir selamlama görüntüleyen basit bir program yazalım. Selam Dünya. Java'nız yoksa, daha sonra http://www.java.com/ru resmi sitesinden indirilebilir. Ardından kurun.

Java ise yüklediniz, ardından bir düzenleyiciye aşağıdaki metni yazın:

Genel sınıf HelloWorld {

genel statik geçersiz ana ( Dize bağımsız değişkenleri ) {

sistem . dışarı . Yazdır ( "Selam Dünya!" );

}

}

Ve adı altında kaydettiğinizden emin olun. Selam Dünya. java- yürütülebilir sınıfın adı, dosyanın adıyla eşleşmelidir. Derlemek için programı kullanın javac.exe standart pakete dahildir Java. İşte bir derleme toplu iş dosyasının nasıl görünebileceği bu java dosyası:

"c:\Program Files\Java\jdk1.7.0\bin\javac" HellowWorld.java

Duraklat

Derleme sırasında herhangi bir hata yoksa:

daha sonra, büyük ihtimalle derleme başarılı oldu ve onu HellowWorld'ün bulunduğu dizinde bulundurursunuz. java HelloWorld de ortaya çıktı.sınıf:

Şimdi derlenmiş dosyamızla birlikte Java yorumlayıcısını çağıracak başka bir toplu iş dosyası çalıştıralım:

"c:\Program Files\Java\jdk1.7.0\bin\java" HellowWorld

Duraklat

Her şey doğru yapılırsa, aşağıdaki sonucu almalısınız:

Eğer anladıysanız, sizi tebrik edebilirim - ilk Java programınızı yazdınız. Gelecekte, Java uygulamalarının nasıl yazılacağını ve çok daha fazlasını öğreneceğiz. Ve şimdi programın kendisi hakkında birkaç söz. Gördüğünüz gibi, halk kelimesiyle başlıyor. Bu, genel bir şey bildirdiğimiz anlamına gelen bir değiştiricidir: bir sınıf, bir sınıf yöntemi veya bir değişken. Başka değiştiriciler de vardır, örneğin: özel, korumalı, arkadaş canlısı, nihai, soyut, statik. Bazıları birbiriyle kombine edilebilir. Örneğin private, bildirmek istediğimiz değişkenin diğer sınıflara özel olduğu anlamına gelir. Ancak değiştiriciye ulaşacağız. Şimdi aşağıdaki sınıf anahtar sözcüğünü ele alalım. Bu, bir sınıf ilan ettiğimiz anlamına gelir. Java'daki her şey sınıflara dayalıdır. Sınıflardan biri temel sınıf olmalıdır. Ve temel sınıf herkese açık olmalıdır. Bu örnekte, bu HelloWord sınıfıdır. Şimdilik, elimizdeki tek kişi o.

Şimdi basit terimlerle ne olduğunu açıklamaya çalışacağım. Sınıf ve nedir bir obje.

Zoolojinin okul kursunu hatırlayın. Canlılar dünyası nasıl sınıflandırılır? İlk olarak, "krallık" kavramı tanıtılır.

1. Tek hücreli krallığı,

2. Bitki krallığı

3. Hayvan Krallığı.

Hayvanları ele alalım. Türlere ayrılabilirler. Örneğin:

1. Bağırsak yazın.

2. Yassı kurtları yazın.

3. Kabuklu deniz ürünleri türü.

4. kordalılar yazın.

İkincisi memeliler, sürüngenler, amfibiler, kuşlar vb. Sınıflandırmaya daha da gidebilirsiniz, ancak şimdi bunu yapmayacağız, doğrudan programlamaya geçeceğiz.

Java dilinde, yaşayan dünyanın sınıflandırılması gibi, nesneleri (program ve veri parçalarını) sınıflandırabilirsiniz. Bunun için sınıfları var.

Dur dur! - diyorsunuz, - bu nesneleri neden sınıflandırıyorsunuz?

Bir tür demiurge (yaratıcı, tanrı) gibi Dünya'da yaşam yarattığınızı hayal edin. Önce en basit organik bileşikleri geliştirdiniz. Yani, deney uğruna, ne olur. Daha sonra bunları, tuğlalar gibi en basit mikroorganizmaları bir araya getirdikleri karmaşık moleküller halinde birleştirdiler. Ancak nihai hedefiniz akıllı yaşam yaratmaktır. Bu nedenle, orada durmadınız, çok hücreli organizmalar yarattınız. Sonra onları iyileştirmeye ve geliştirmeye başladılar. Bazı türler yaşayabilirdi, bazılarının nesli tükendi (dinozorlar). Ve nihayet hedefe ulaşıldı - Homo Sapiens ortaya çıktı - makul bir insan.

Ve şimdi cennetten dünyaya inelim ve programlamayı, programınızı kullanılabileceği belirli bir duruma gelişmeye zorladığınız ve daha sonra, işlevselliği kademeli olarak artıran ve geliştiren bir yaratım olarak hayal edelim.

Ve şimdi bir atomun bir programın veya bir bilgi biriminin en basit komutu olduğunu hayal edelim (bunlar birbirinden ayrılamaz, çünkü program bir şeyle çalışır - doğru, bilgi ile).

O zaman molekül bir alt programdır. Veya bir nesne.

Burada programımızda bir grup nesne oluşturduk. Kafanın karışmaması için onları bir şekilde sınıflandırmak gerekiyor. Java'nın sınıflar ( class ) için sağladığı şey budur. Onların yardımıyla, bir nesne sınıfını (örneğin, kuşlar gibi genel bir kavram) tanımlarız ve sonra, açıklanan sınıfa sahip olarak, bir nesne - bu sınıfın bir örneği - oluşturabiliriz. Yani, sınıf, Kuşlar kelimesinin kendisidir ve benzetmemize devam edersek, nesne bir tür belirli kuştur.

Ayrıca, farklı kuş türleri vardır. Ancak hepsinin "Kuş" kavramından miras kalan bazı ortak özellikleri vardır. Yani Java'da, özelliklerini ve yöntemlerini (özellikleri) miras alan bir sınıftan başka bir sınıf oluşturabilirsiniz. denir miras.

Farklı kuşların farklı tüy renkleri, gaga şekli ve kanatları vardır. Yani sınıflar için yeni bir sınıf oluştururken kalıtsal özellikler değiştirilebilir. denir polimorfizm.

Böylece, Java'nın temel kavramları ile anlaşıldı. Şimdi programa geçelim.

Sınıfı şu şekilde ilan ediyoruz:

genel sınıf HelloWorld {

Bu durumda programımızda sadece bir sınıf vardır ve bu da temel sınıf yani programın başlatılmasından sorumlu sınıftır. Bu nedenle, yorumlayıcının programın yürütülmesine nereden başlayacağını "bilmesi" için adının dosya adıyla eşleşmesi gerekir.

Temel sınıfın (HelloWorld ) bir temel yöntemi vardır: main. Public ve static olarak ilan ettik. İlki, bu yöntemin genel olduğunu gösterir. Bu böyle olmasaydı, program basitçe başlamazdı. Herkese açık olmayan yöntemler de vardır, ancak bunlar hakkında sonraki derslerde konuşacağız, şimdilik sadece temel yöntemin (program başladığında çalıştırdığımız) herkese açık olması gerektiğini unutmayın. Ve tercümanın programı çalıştırmaya nereden başlayacağını bilmesi için adı main olmalıdır.

Şimdi statik olan nedir? Bu, yöntemin statik olduğunu gösteren bir değiştiricidir. Yani, sınıfın bir örneği (nesne) yaratılmamış olsa bile çalışır. Genel olarak, statik değiştiriciye sahip alanlar ve yöntemler, sınıfın tüm nesneleri için ortaktır. Bunun hakkında ayrıca daha sonra konuşacağız.

Her yöntemin bir dönüş değeri olabilir veya olmayabilir. Eğer öyleyse, o zaman bir fonksiyondur. Dönüş türü ayrıca yöntem bildiriminde ayarlanır. Değilse, o zaman geçersiz koyun (örneğimizde olduğu gibi).

Nesnenin alanlarına ve yöntemlerine erişim bir noktadan geçer. Örneğimizde kullandığımız Sistem gibi yerleşik nesneler de vardır:

sistem . dışarı . Yazdır ( Selam Dünya! );

bu durumda, aynı zamanda veri çıktısı için tasarlanmış bir nesne olan out alanına başvururuz ve metni ekranda görüntüleyen print yöntemini çağırırız (eski güzel BASIC, PRINT komutunda olduğu gibi).

(C) Shuravin İskender