Sıfırdan yeni başlayanlar için Java programlama. Çeşitli deneyimlere sahip Java programcıları için çeşitli kitaplar

  • 26.07.2019

Barry Bird "Aptallar için Java" Williams, 2013, 5. baskı, 363 s. (8.23 mb. djvu)

Java'yla ilgili.

Aptallar için Java programlama demek gibidir. Önemsiz gibi görünse de Java açık ara en popüler programlama dilidir. C#'ın toplamından daha fazla kişi programlıyor. Programlamayı öğrenmek istiyorsanız Java öğrenmeye başlayın ve yanlış gidemezsiniz. Bu programlama dilinde yazılan kod platformlar arasıdır. Java sanal makinesinin (JRE) kurulu olduğu her cihazda ve her işletim sisteminde çalışacaktır - “Bir kere yaz, her yerde çalıştır.” “Yeni Başlayanlar için Java” kitabı onlar için özel olarak tasarlanmıştır.

Kitap hakkında.

Programlamayı hiç öğrenmediyseniz ve OOP hakkında bilginiz yoksa endişelenmeyin, Barry Bird iyi bir açıklayıcıdır. En azından nesne yönelimli programlamanın temel kavramlarını ve Java dilinin temel bilgisini garanti edersiniz. Kitap materyalinin dikkatli bir şekilde incelenmesine ve görevlerin kod örnekleri şeklinde tamamlanmasına tabidir. Kılavuzda yazar, Java dilinin tarihçesinden, temel kavramlarından, avantajlarından ve dezavantajlarından, mevcut versiyonlarından ve aralarındaki farklardan, hazır programların (JDK, JRE, Eclipse) kodlanması ve çalıştırılması için gerekli araçlardan bahsedecek.

Temelleri öğrenin: dilin grameri (sözdizimi), API sınıfları kavramı (standart kütüphaneler), ilk programınızı yazın. Java öğrenmenin ilk aşaması için bu kitap oldukça yeterlidir. Okumayı bitirme ve görevlerin en azından bir kısmını tamamlama cesaretiniz varsa, daha hacimli olanları incelemeye başlayabilirsiniz. Mükemmelliğe giden yolun bir başlangıcı vardır ama sonu yoktur.

Yazar hakkında 13
Giriş 15
Bu kitap nasıl kullanılır? 15
15. Kitapta Kullanılan Kurallar
Okuyamayabilecekleriniz 16
Bazı tahminler 17
Kitap 18 yapısı
Bölüm I: Java 18 Temelleri
Bölüm II. Java 18 Programı Oluşturma
Bölüm III. Nesneye Yönelik Programlama 18
Bölüm IV. En İyi Programlama Uygulamaları 19
Bölüm V. Muhteşem Onlarca 19
Bölüm VI. Uygulamalar 19
19. kitapta kullanılan piktogramlar
Sonraki 20 nedir
Geri bildiriminizi bekliyoruz! 20

Bölüm I Java'nın Temelleri 21

Bölüm 1. Java'ya giriş 23
Java 24 ile neler yapabilirsiniz?
Programları neden yazmalıyım 25
Küçük bir tarih 25
Nesneye Yönelik Programlama 28
Nesne yönelimli diller 28
Nesneler ve sınıflar 30
Nesne Yönelimli Yaklaşımın Faydaları 31
Sınıfların ve nesnelerin görsel temsili 32
Sırada ne var 33

Bölüm 2. Yazılım geliştirme 35
Hızlı başlangıç ​​35
Bilgisayarınızda ne yüklü olmalı 37
Derleyici nedir 38
Java Sanal Makinesi Nedir 40
Geliştirme süreci 45
Entegre Geliştirme Ortamı 46

Bölüm 3. Temel Java Bileşenleri 49
Hadi Java 49'u konuşalım
Dilbilgisi ve yaygın isimler 50
Java 51 programındaki kelimeler
İlk Java 53 programınız
İlk programınız nasıl çalışıyor 54
Sınıflar 54
Yöntemler 55
Programın ana yöntemi 57
Bilgisayara istenen işlemi gerçekleştirmesi nasıl söylenir 58
Kıvırcık parantez 60
“Yorum yok...” deme 62
Kod 63'e yorum ekleme
Barry 66'ya fazla sert davranma
Kod 66 ile Denemeler Yapmak İçin Yorumları Kullanma

Bölüm II. Java Programı Oluşturma 69

4. Bölüm. Değişkenler ve değerler 71
Değiştirilebilir değişken 71
Atama operatörü 74
Değer ve değişken türleri 75
Metin ekranı 77
Ondalık noktası olmayan sayılar 78
Bildirim 79'da başlatma
Java 80 ilkel türleri
Karakter 81 yazın
Boolean 82 yazın
Referans türleri 83
İthalat duyurusu 86
Operatörleri Kullanarak Yeni Değerler Yaratmak 87
Bir kez başlatabilirsiniz ancak birçok kez atayabilirsiniz 89
Arttırma ve Azaltma Operatörleri 89
Atama Operatörleri 93

Bölüm 5. Kontrol talimatları 95
If İfadesi Kullanarak Karar Verme 95
96 sayısını tahmin et
Klavyeden metin girme 96
Rastgele sayı üretimi 98
talimat 98 ise
Çift eşittir işareti 100
Bloklar 100
if 101 ifadesindeki girinti
Kırık çatal (eğer yoksa) 101
Karşılaştırma işleçleri ve mantıksal işleçlerle koşullar 102
Sayı ve sembollerin karşılaştırılması 102
Nesnelerin karşılaştırılması 103
Her şeyi aynı anda içe aktarıyoruz 105
Mantıksal operatörler 106
"Sıfır"ın "hiçbir şey"den farkı 108
Parantez içindeki koşullar ve koşullardaki parantez 109
if ifadelerini iç içe yerleştirme 111
Anahtar anahtarı 113
Seçenek 113'ü seçin
Break eklemeyi unutmayın! 115
Dize argümanı - Java 7 117'de yeni

Bölüm 6. Döngüler 119
while döngüsü 119
122 için döngü
124 döngü yapısı için
Hit “Yağmurda Al”ın galası 125
Döngü 126'yı yapın
Klavyeden bir karakter okumak 129
Dosya işleme 130
Blok 130'da bir değişken bildirmek

Bölüm III. Nesne yönelimli programlama 131

Bölüm 7. Sınıflar ve nesneler 133
Sınıf Tanımı 133
Açık sınıf 135
Değişkenleri Bildirmek ve Nesneler Oluşturmak 135
Bir değişkenin başlatılması 138
Tek program - birçok sınıf 139
Bir sınıfta yöntem tanımlama 139
Kendini gösteren puan 140
Yöntem başlığı 141
Bir yönteme parametre aktarma ve yöntemden değer alma 142
Yöntem 144'e değer aktarma
Yöntem 145'ten dönüş değeri
Sayıların güzel görünmesi nasıl sağlanır 147
Erişim değiştiricileri 151
Doğru programlama stili 152
Bir alanı erişilemez hale getirme 154
Erişim Yöntemlerini Kullanarak Kuralları Kontrol Etme 156

Bölüm 8. Kodun yeniden kullanımı 157
Sınıf Tanımı 158
Sınıfı tanımlayan çalışan 158
Sınıf 159'un Doğru Kullanımı
Ödeme makbuzu oluşturma 161
Dosyalarla çalışma (kısa bir açıklama) 162
Verileri bir dosyada saklamak 162
163 kodunu kopyalayıp yapıştırın
164 numaralı dosyadan okuma
Dosyam nereye gitti? 166
Dosya Adına Klasör Adları Ekleme 166
Satır satır okuma 167
Miras 169
Türetilmiş Bir Sınıf Oluşturmak 171
Türetilmiş Sınıfları Kullanma 174
Tür eşleştirme 175
PartTimeEmployee Class 176'yı Kullanma
Mevcut Yöntemlerin Geçersiz Kılması 177
Ek açıklamalar 179
Temel ve türetilmiş sınıfların çağrılma yöntemleri 179

Bölüm 9 İnşaatçılar 181
Yapıcı Tanımı 181
Sıcaklık nedir 182
Sıcaklık ölçeği nedir 182
Peki sıcaklık nedir? 183
185 derece sıcaklıkta ne yapabilirsiniz?
Doğru kurucuyu bulma 186
Bazı şeyler asla değişmez 189
Türetilmiş sınıf 190'daki temel sınıf yapıcısı
Gelişmiş sıcaklık sınıfı 190
Türetilmiş sınıfların oluşturucuları 191
Gelişmiş sıcaklık sınıfı 192'nin kullanımı
Varsayılan kurucu 193
Yapıcı yalnızca 194 numaralı alanları dolduramaz
Java AP 196 Sınıfları ve Yöntemleri
Ek açıklama @SuppressWarnings 198

Bölüm IV. İleri Programlama Teknikleri 199

Bölüm 10. Değişkenlerin ve Yöntemlerin Doğru Kullanımı 201
Sınıf 201'in tanımı
Sayıları güzelleştirmenin başka bir yolu 202
Player 203 sınıfını kullanma
Dokuz Oluşturucu Çağrısı 205
Grafik Kullanıcı Arayüzü 205
Başka bir yönteme 207 istisna atalım
Statik alanlar ve yöntemler 207
Neden bu kadar statik 209
Statik başlatma 210
Genel takım istatistiklerini görüntüleme 210
Statik içe aktarma 212
Statikliğe dikkat! 213
Değişkenlerle deney yapalım 214
Yerindeki değişken 215
Farklı yerlerdeki değişkenler 217
Parametrelerin aktarımı 219
Değere göre geçiş 219
Sonuç döndürülüyor 221
Referans 221'e göre geçiş
Yöntem 223'ten bir nesneyi döndürme
Sonsöz 224

Bölüm 11. Diziler ve Koleksiyonlar 225
Nesneler arka arkaya nasıl düzenlenir 225
İki adımda dizi oluşturma 227
Değerleri kaydetme 228
Tabulostop'lar ve diğer özel karakterler 230
Dizi 230 başlatılıyor
Döngü 231 için genişletilmiş
Ara 233
Nesne dizileri 236
Oda 237 sınıfını kullanma
240 sayısını dekore etmenin başka bir yolu
Üçlü koşullu operatör 241
Komut Satırı Bağımsız Değişkenleri 241
Kod 242'de Komut Satırı Bağımsız Değişkenlerini Kullanma
Komut satırı bağımsız değişkenlerinin sayısını kontrol etme 244
Koleksiyonlar 245
Koleksiyon sınıfları 246
ArrayList Sınıfı 247
Genel Türleri Kullanma 250
Hala veri olup olmadığı kontrol ediliyor 250

Bölüm 12. Kötü oynarken iyi bir yüz nasıl korunur 253
İstisna yönetimi 254
yakalama bloğu parametresi 258
İstisna türleri 259
İstisna 261'i kim yakalamalı
birden fazla istisna türüne sahip catch bloğu 267
Aşırı dikkatli olmayalım 267
Bir istisnadan sonra program çalışmasını geri yükleme 268
Arkadaşlarımız iyi istisnalardır 269
İstisnayı ele alın veya 270'e iletin
nihayet 274'ü engelle
Dosyaları kapatma 276
276 numaralı dosya nasıl kapatılır
Try blok başlığı 276'daki kaynaklar

Bölüm 13. Görünürlük alanı 279
Sınıf üyeleri için erişim değiştiricileri 280
Sınıflar, erişim ve program bölümleri 280
Sınıflar ve Sınıf Üyeleri 281
Sınıf üyelerine erişim kuralları 281
283 numaralı çerçevedeki bir resim örneği
Klasör yapısı 285
Çerçeve Oluşturma 286
Sınıfları değiştirmeden bir program nasıl değiştirilir 287
Varsayılan erişim 289
292 numaralı pakete nasıl girilir?
Korumalı erişim 292
Türetilmemiş bir sınıfın aynı pakete dahil edilmesi 294
Sınıf erişimi değiştiricileri 295
Açık sınıflar 296
Açık olmayan sınıflar 296

Bölüm 14. Klavye ve Fare Olaylarına Yanıt Verme 299
Fare tıklaması yanıtı 299
Olaylar ve 301 olay yönetimi
Java 302 Arayüzleri
Akışlar 303
Anahtar kelime bu 304
ActionPerf ormed() yönteminin gövdesi 305
Sürüm Kimliği 305
Diğer olaylara yanıt vermek 306
Dahili sınıflar 311

Bölüm 15. Uygulamalar 315
Basit bir uygulama örneği 315
Applet 316'nın Çalıştırılması
Açık sınıf 317
Java API Sınıfları 317
Animasyonlu Uygulama 318
Uygulama 319'da kullanılan yöntemler
Applet 320 yöntemlerinin içeriği
Bir Uygulamadaki Olaylara Tepki Verme

Stava 16. Veritabanı Bağlantısı 325
JDBC ve Java DB 325
Veritabanı Kayıtları Oluşturma 326
SQL Komutlarını Kullanma 328
Veritabanını bağlama ve bağlantısını kesme 328
Veri Çıkarma 330

Bölüm V Muhteşem Onlarca 333

Bölüm 17. Hatalardan kaçınmanın on yolu 335
335 numaralı harfin doğru kullanımı
Blok anahtarı 336'dan çıkış
İki değeri karşılaştırma 336
GUI'ye Bir Öğe Ekleme 336
Olay Alıcıları Ekleme 337
Yapıcıları Tanımlamak 337
Statik olmayan bağlantıları düzeltme 337
Dizi sınırlarına saygı gösterin 337
Nu 11 338'e yönelik işaretçiler
Java Sanal Makinesinin 338 sınıfı bulmasına yardım edin

Bölüm 18. Java'ya adanmış on web sitesi 341
Bu kitabın web siteleri 341
Java 341 Siteleri
Haberler, incelemeler, kod örnekleri 342
İş 342
Herkes için web siteleri 342

Bölüm VI. Uygulamalar

Ek A: IDE 345'in Kurulumu
JDK 345'i indirin ve yükleyin
Eclipse 349'u indirin ve yükleyin
Eclipse 351'i Yapılandırma
Ek B: Eclipse 353'ü Kullanma
353. kitaptan örneklerle çalışma
Kendi projenizi yaratmak 355
Konu dizini 359

Kitabı ücretsiz indirin 8.23 ​​MB. djvu

Aptallar için Java. Video

Java'ya yeni başlıyorsanız ve nereden başlayacağınızı bilmiyorsanız, Java öğrenmek baş ağrısı olabilir. Neden? Evet, çünkü programlamayı öğrenmeye başlamadan önce bilgisayarınızı hazırlamanız gerekiyor. Program geliştirmeye başlamak için ihtiyacınız olan her şeyi yüklemeniz gerekir. Ancak endişelenmeyin; sizi buna hazırlayacağız, böylece başladığınızda siz de hazırlıklı olacaksınız. Ancak Java'da web uygulamaları geliştirmeye başlamadan önce mutlaka HTML + CSS düzenini öğrenmeniz gerekeceğini ve bunu web sitemizi ziyaret ederek yapabileceğiniz konusunda sizi uyarmakta fayda var.

Küçük bir incelemeyle başlayalım. Java, Sun Microsystems tarafından geliştirilen üst düzey, nesne yönelimli bir programlama dilidir. Java öğrenmenin birçok faydası vardır. Örneğin hem normal bilgisayarlar hem de mobil uygulamalar, web uygulamaları için platformlar arası uygulamalar geliştirmek için oldukça güçlü bir araç olması ve hatta robotikte kullanılabilmesi! Bilgisayarınızda Windows, Linux ve hatta Mac OS yüklü olsun, Java için kesinlikle hiçbir fark yoktur; kendi özel sanal makinesinde çalışır.

Hazırlık için küçük bir liste.

İlk olarak, ilk Java programınızı yazmadan önce, Java Runtime Environment (JRE) olarak da bilinen Java Virtual Machine (JVM) adı verilen şeyi yüklemeniz gerekir. Aşağıdaki bağlantıyı kullanarak yükleyebilirsiniz:

Bu tamamlandığında, Java'nın yazılım geliştirme kitini (JDK) aşağıdaki bağlantıdan yüklemeniz gerekir:

Bir sonraki adım nedir? Java programları nasıl derlenir ve çalıştırılır?

Bir sonraki adıma geçmeden önce - bir IDE seçmeden önce, Java programlarının genel olarak nasıl çalıştığını anlayalım. Bazı program kodlarını özel bir metin düzenleyicide (NetBeans, Eclipse, Idea) yazarsınız, bu koda programın kaynak kodu denir ve bir dosya uzantısıyla kaydedilir. .java. Java derleyicisi (Javac), bu kaynak kodunu, uzantılı özel kodlanmış bir dosyaya dönüştürür. .sınıf. Bu dosyayı aldıktan sonra, onu bir Java Sanal Makinesinde (JVM) sorunsuz bir şekilde çalıştırabilirsiniz. Yani temel kavramları anladık ve devam edebiliriz.

Bir kaynak kodu düzenleyicisinin (IDE) seçilmesi.

IDE (Arayüz Geliştirme Ortamı), programın derlenmesi ve perde arkasındaki diğer şeylerle ilgilenir. Aralarından seçim yapabileceğiniz küçük bir liste:

1. Eclipse ücretsiz ve çok güçlü bir editördür.

2. NetBeans - yine ücretsiz ama biraz daha az popüler.

3. IntelliJ Idea ücretli ve son derece kullanışlı bir editördür. Birçok şirkette kurumsal bir standarttır.

Koşmayı öğrenmeden önce yürümeyi öğrenmek - Merhaba dünya!

Merhaba Dünya Programı! öğrenciler için klasik bir örnektir ve yeni başlayanların dili anlamalarına yardımcı olur. Yani beğendiğiniz düzenleyiciyi zaten yüklediniz. Şimdi yeni bir proje oluşturup içinde yeni bir sınıf oluşturmanız gerekiyor, buna FirstProject adını verelim.

Kodunuz şöyle görünmeli:

Java

genel sınıf FirstProject(

* @param argümanları

public static void main (String args) (

// TODO Otomatik oluşturulan yöntem saplaması

Kod açıklamaları “//” ile gösterilir ve tek satıra yazılır. Çok satırlı açıklamalar için "/* */" kullanın. Yorumlar derleyici tarafından göz ardı edilir ve programın yürütülmesi üzerinde hiçbir etkisi yoktur.

Programınızın iskeleti.

Küme parantezleri () içindeki her şeye blok denir. main() yöntemine yakından bakın. Bu, program ilerledikçe satır satır yürütülecek bloktur. Bu son derece önemlidir. Bu anahtar kelimelerin ne işe yaradığını sorabilirsiniz genel statik boşluk? Bu, kısa bir makalede yer alacak kadar geniş bir konudur, bu nedenle iyi incelemelerimizi yapmanızı tavsiye edebilirim. .

Yani, main() yöntemine sahip bir FirstProject sınıfınız var.

İlk programımızı yazıyoruz.

Ana yöntemin küme parantezlerinin içine aşağıdaki satırı ekleyin.

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

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

Öncelikle size Java'nın neler yapabileceğini anlatacağım. İlk olarak, bu dilde web sitesinin web sayfasına gömülü programlar olan uygulamacıklar 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. Veya servlet'leri kullanabilirsiniz - uygulamalardan farklı olarak 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 web sitesinden indirilebilir. Daha sonra yükleyin.

Eğer Java yükledikten sonra aşağıdaki metni bir düzenleyiciye yazın:

Herkese açık sınıf Merhaba Dünya {

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

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

}

}

Ve onu bu adla kaydettiğinizden emin olun. Selam Dünya. java- Yürütülebilir sınıfın adı dosya adıyla eşleşmelidir. Derlemek için programı kullanın javac.exe standart pakete dahildir Java. Bir derleme toplu iş dosyası böyle görünebilir bu Java dosyası:

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

Duraklat

Derleme sırasında herhangi bir hata oluşmazsa:

o zaman, büyük olasılıkla derleme sizinkinde HellowWorld'ün bulunduğu dizinde başarılı oldu. java HelloWWorld de ortaya çıktı.sınıf:

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

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

Duraklat

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

Eğer aldıysanız sizi tebrik edebilirim; ilk programınızı Java ile 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. Fark ettiğiniz gibi public kelimesiyle başlıyor. Bu, herkese açık bir şeyi bildirdiğimiz anlamına gelen bir değiştiricidir: bir sınıf, bir sınıf yöntemi veya bir değişken. Örneğin başka değiştiriciler de vardır: özel, korumalı, dost canlısı, nihai, soyut, statik. Bazıları birbirleriyle birleştirilebilir. Örneğin, özel, bildirmek istediğimiz değişkenin diğer sınıflara özel olduğu anlamına gelir. Ancak değiştiriciye daha sonra ulaşacağız. Şimdi bir sonraki anahtar kelime olan sınıfa bakalım. Bu, bir sınıf ilan ettiğimiz anlamına gelir. Java'da her şey sınıflara dayanmaktadır. Sınıflardan biri mutlaka temel olanıdır. Ve temel sınıf herkese açık olmalıdır. Bu örnekte HelloWord sınıfıdır. Şimdilik elimizdeki tek kişi o.

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

Okulun zooloji dersini hatırlayalım. Yaşayanlar dünyası nasıl sınıflandırılır? İlk olarak “krallık” kavramı tanıtılıyor.

1. Tek hücreli organizmalar krallığı,

2. Bitki krallığı

3. Hayvan Krallığı.

Hayvanları ele alalım. Türe göre bölünebilirler. Örneğin:

1. Koelenteratlar yazın.

2. Yassı solucan türü.

3. Kabuklu deniz hayvanı türü.

4. Filum kor verileri.

İkincisi memelilere, sürüngenlere, amfibilere, kuşlara vb. ayrılır. Sınıflandırmayı daha da derine inebilirsiniz, ancak bunu şimdi yapmayacağız, doğrudan programlamaya geçeceğiz.

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

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

Bir demiurge (yaratıcı, tanrı) gibi, Dünya'daki yaşamı yarattığınızı hayal edin. İlk önce en basit organik bileşikleri geliştirdiniz. Peki, deney uğruna, ne olacak? Daha sonra bunları karmaşık moleküller halinde birleştirdiler ve tuğlalar gibi en basit mikroorganizmaları bir araya getirdiler. Ancak nihai hedefiniz akıllı yaşamın yaratılmasıdır. Dolayısıyla burada durmadınız, çok hücreli organizmalar yarattınız. Daha sonra bunları iyileştirmeye, geliştirmeye başladılar. Bazı türlerin yaşayabildiği ortaya çıktı, bazılarının nesli tükendi (dinozorlar). Ve sonunda hedefe ulaşıldı - Homo Sapiens - Homo sapiens - ortaya çıktı.

Şimdi dünyaya inelim ve programlamayı, programınızı kullanılabilecek belirli bir duruma gelişmeye zorladığınız ve daha sonra yavaş yavaş işlevselliği artırıp geliştirdiğiniz bir yaratım olarak hayal edelim.

Şimdi bir atomun en basit program komutu veya bir bilgi birimi olduğunu hayal edelim (gördüğünüz gibi bunlar birbirinden ayrılamaz, çünkü program bir şeyle, bu doğru, bilgiyle çalışır).

O halde molekül bir altprogramdır. Veya bir nesne.

Böylece programımızda bir sürü nesne oluşturduk. Kafaların karışmaması için bunları bir şekilde sınıflandırmamız gerekiyor. Java'nın sınıfları sağladığı şey budur. Bunları kullanarak, bir nesne sınıfını tanımlarız (genel bir kavram, örneğin kuşlar) ve sonra tanımlanan sınıfa sahip olarak, bu sınıfın bir örneğini oluşturan bir nesne yaratabiliriz. Yani benzetmemize devam edersek, sınıf Kuşlar kelimesinin kendisidir ve nesne belirli bir kuştur.

Ayrıca kuşlar farklı türlerde gelir. Ancak hepsinin “Kuş” kavramından miras kalan bazı ortak özellikleri vardır. Benzer şekilde Java'da, bir sınıftan, onun özelliklerini ve yöntemlerini (özelliklerini) miras alan başka bir sınıf oluşturabilirsiniz. denir miras.

Farklı kuşların farklı tüy renkleri, gaga ve kanat şekilleri vardır. Aynı şekilde sınıflar için de yeni bir sınıf oluşturulurken miras alınan özellikler değiştirilebilir. denir polimorfizm.

Böylece Java'nın temel kavramlarını çözdük. Şimdi programa geçelim.

Bir sınıfı şu şekilde ilan ederiz:

genel sınıf Merhaba Dünya {

Bu durumda programımızda tek bir sınıf bulunmaktadır ve bu da temel sınıf yani programın başlatılmasından sorumlu olan sınıftır. Bu nedenle, yorumlayıcının programı çalıştırmaya nereden başlayacağını "bilmesi" için adı dosyanın adıyla eşleşmelidir.

Temel sınıfın (HelloWorld) bir temel yöntemi vardır: main. Bunu public ve static olarak ilan ettik. Birincisi, yöntemin herkese açık olduğunu gösterir. Eğer böyle olmasaydı programımız başlamazdı. Herkese açık olmayan yöntemler de vardır ancak ilerleyen derslerde bunlardan bahsedeceğiz. Şimdilik, temel yöntemin (programı başlattığımızda başlatılan) herkese açık olması gerektiğini unutmayın. Ve yorumlayıcını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 (nesnenin) bir örneği oluşturulmadığında bile çalışır. Genel olarak, statik değiştiricili alanlar ve yöntemler sınıfın tüm nesneleri için ortaktır. Bu konuyu da daha sonra konuşacağız.

Her yöntemin bir dönüş değeri olabilir veya olmayabilir. Eğer öyleyse, o zaman bu bir fonksiyondur. Dönüş değeri türü de yöntem bildirimine dahil edilir. Değilse, bunu void olarak ayarlayın (örneğimizde olduğu gibi).

Bir nesnenin alanlarına ve yöntemlerine erişim bir nokta aracılığıyla gerçekleşir. Ö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 çıkışı için tasarlanmış bir nesne olan out alanına erişiriz ve metni ekranda görüntüleyen yazdırma yöntemini çağırırız (eski güzel BASIC'teki PRINT komutu gibi).

(C) Şuravin İskender

  • 2 aylık Java EE eğitimi (haftada 2 kez, 4 saat)
  • iyi sonuçlar gösterirseniz (bu iki aydır yazdığınız projenizi başarıyla savunursanız), o zaman size bir iş teklif edilir.
Şirket çok iyi, yabancı, tanınmış ve çalışma koşulları mükemmel; kısacası bana teklif yaptıkları yerden çok daha fazla gitmeyi istiyordum. Onunla antrenman yapmak için seçim 3 aşamadan oluşuyordu:
  1. Evde pratik görevler yapmak.
  2. Başarılı olursanız ofiste bilgisayar testine davet edilirsiniz.
  3. Testin başarılı olması halinde aynı gün mülakata alınacaksınız.
Pratik görevleri sorunsuz bir şekilde tamamladım - JavaRush ve sorunları sayesinde çok teşekkürler, sonrasında bu görevler oldukça basit görünüyordu. 3 görev vardı: RegExp'te (Google yardımcı oldu, çünkü ben onlara dayanamıyordum ve hatırlamıyordum), algoritmalarla ilgili (oldukça basit, daha çok zihinsel bir egzersiz) ve bir dosyadan yazma/okumayla ilgili (bir dosya var) bunların çoğu JavaRush kursundadır). Bilgisayar testine davet edildim. Quizful web sitesini kullanarak teste hazırlandım. Bu testler çok yardımcı oldu, hatta bazı sorular kesişti. Sınavı başarıyla geçtim ve benimle mülakata başladılar. Bu röportajı muhtemelen hayatım boyunca unutmayacağım. Benimle röportaj yapan kişinin benden duymak istediği tek şey Java teorisinin temelleriydi, örneğin:
  • işaretli istisnalar ile işaretlenmemiş istisnalar arasındaki fark nedir;
  • Object sınıfının hangi yöntemleri vardır ve bunlara neden ihtiyaç duyulur;
  • ne tür koleksiyonlar var ve neden oradalar;
  • ve çoklu iş parçacığı hakkında biraz.
JavaRush mükemmel bir kurs, size problemlerin nasıl çözüleceğini ve programlanacağını öğretecek, ancak akvaryumdaki bir balık gibi bu konularda yüzerek ikna olduğum için teorinin (röportajlar için) ayrı olarak öğrenilmesi gerekiyor. Beni sarmak istediler. Onu anlıyorum - neredeyse hiçbir şeye net bir şekilde cevap veremedim, her şeyi kod yazma açısından anlatmaya çalıştım ama o teoriyle ilgileniyordu. Ama bu staja girmeyi gerçekten istediğimden emindim ve bana zaman verirlerse tüm bunları yakalayıp o talihsiz teoriyi öğreneceğimi de biliyordum. Ona tüm bunları anlattım ve yarı yolda benimle buluştu - bir hafta sonra tekrar buluşmayı teklif etti, ancak şimdilik bana konuların bir listesini verdi (yaklaşık olarak yukarıda anlattığım gibi) ve bunların nereden öğrenilebileceğini söyledi - sadece bir Oracle eğitimi , hepsini içeriyor: http://docs.oracle.com/javase/tutorial/ Bir hafta içinde, bu eğitimi baştan sona inceledim ve yeni bir işe alınmamdan bir gün önce ikinci bir görüşmeye gittim. Anlaşılan, benimle röportaj yapan kişi benim amaç anlayışımdan çok etkilenmişti (eğer bu stajı kabul edersem bundan sonra olacakların yalnızca bana bağlı olduğunu biliyordum; iki ay içinde ihtiyacım olan her şeyi çözmüş olacaktım). Ne olursa olsun bu stajı kabul ettim ve daha önce bana teklif edilen yerde çalışmaya gitmeyi reddettim. 2 ay boyunca Java EE'den Servlet'ler, JSP, Hibernate JSF, Spring ve çok daha fazlası gibi pek çok konu ile tanıştık - stajın sonucunda tanıdık olduk (kabaca bir fikrimiz vardı) ) Java EE teknolojilerinin ana yığını hakkında. Ayrıca staj sırasında, sonunda başarıyla istihdama sunulması gereken kendi projemizi yazdık. İlk dersteyken ilk duygularımı hatırlıyorum. Bu projenin ödevine baktım (ilk derste hemen verildi) ve nereden başlayacağımı ve nasıl yapılacağını bile anlamadım. Ayrıca bunu başarıyla yapmamın neye mal olduğunu da hatırlıyorum. Bu iki ay boyunca kafamdaki neredeyse tüm düşünceler, başarılı bir çalışmanın ve bir hayali gerçekleştirmenin benim elimde olduğuydu, başka bir şey değildi. Bunu yapıp yapamayacağım kimseye bağlı değildi. Sadece benden. Zaten işimden ayrılmıştım, neredeyse hiç param yoktu ve bu gerçekten zordu. Sabah oturdum, gündüz oturdum, akşam oturdum ama sevinmekten hiç yorulmadım - ne zaman kendimi bu kadar takıntılı bir şeye adadığımı hatırlamıyorum. Bu sefer programlamayı ne kadar sevdiğimi ve bu alanda çalışmayı ne kadar istediğimi bir kez daha fark etmemi sağladı. Mezuniyette projemi sundum. Bunu gerçekten iyi savundum, görünüşe göre beklenenden çok daha iyi ve bir istisna olarak, ilk pozisyon için değil, hemen Orta Java Geliştiricisi pozisyonu için işe alındım. Tarih 9 Aralık 2014'tü. İnanamadım ama iş teklifi monitörde karşımdaydı. Yazılım Mühendisi. Bu oldu. 15 Aralık'ta işe geri döndüm. Bir kez olsun “kahretsin, işe gitmek istemiyorum” diye düşünmedim. Her gün sabah evden çıkarken neden işe gideceğimi, ne yapacağımı ve bunu ne kadar istediğimi biliyorum. Bu beni inanılmaz mutlu ediyor. Hayalinize ulaşmak için ödemeniz gereken bedele değer ve değdi. Gerçekten programcı olmak isteyen hepinizin hedefinize ulaşmada ilerlemesini diliyorum. Gerçeğin de ötesinde, çok yakın ama bedelini ödemeniz gerekiyor. Boşa harcadığınız zaman ve sinirlerinizle ödeyin, çünkü bir şeyi sıfırdan öğrenmek gerçekten de en kolay adım değildir. JavaRush bu ilk adımları kolaylıkla atmama yardımcı oldu ve teorinin görünürdeki karmaşıklığı ve bolluğu nedeniyle başlangıçta programlamadan uzaklaşan kişi ben değildim. Böylece, mesleki faaliyet alanında (teknik eğitimin yokluğunda bile) radikal bir değişime ilişkin oldukça çılgın fikrimi tamamlamayı başardım. Ve kesinlikle yapabilirsin.

Merhaba sevgili okuyucu. Uzun zamandır böyle bir makale yazmak istiyordum ama ya zamanım olmadı ya da hain tembellik önüme çıktı. Ama öyle de olsa, yine de size fayda sağlayacağını umduğum bir şey yazmak için düşüncelerimi toplamayı başardım. Bilgi ve deneyimimi paylaşmaktan mutluluk duyacağım, karşılığında zaman ve ilgi göreceksiniz. Bana göre bu yayın, ilgi alanlarına karar vermeye hazır olanlar ve hayatlarını şu ya da bu şekilde BT ile bağlamak isteyenler için çok uygun. O zaman hadi gidelim!

Bir programlama dili seçmek

Yayın birçok benzer materyale benzemeye başlıyor. Türün kanununa göre, birkaç üç programlama dilinin adını yazmam, birkaç artı ve eksilerini belirtmem ve sonunda soruyu cevaplamadan bir sonraki bölüme geçmem gerekecek. Bunda kısmen doğruluk payı var, çünkü herkes gelecekte ne tür ürünler geliştirmek istediğine bağlı olarak kendisine daha yakın olan dili seçiyor. Çoğunuz okulda Turbo Pascal okudunuz ve artık bu dilde neredeyse hiçbir şeyin yazılmaması sizin için yeni bir haber olmayacak. Yani bu durumda dili akıllıca seçmeniz gerekiyor, asla çok fazla bilgiye sahip olamasanız da, kısa sürede etkili bir şekilde programcıların saflarına katılmak istiyorsanız dil seçimine akıllıca yaklaşmanız gerekir. En başta şunu unutmayın: iyi bir programcı asla aç kalmaz ve çoğu durumda kendine bol miktarda havyar satın alabilir(bu tanım herhangi bir uzmanlık alanı için uygundur, ancak hiçbir uzmanlık size hem şirketler hem de ülkeler açısından nerede çalışacağınızı seçme özgürlüğünü vermez - o bir programcı ve Hindistan'da bir programcıdır).

Bir dil ne kadar popüler ve talep görüyorsa, gelecekte iş bulma şansının da o kadar yüksek olması ve dilin öğrenilmesinin kolay olması mantıklıdır. Çünkü çok sayıda oyun C++ ile yazılmış olmasına ve iyi para kazanmasına rağmen, yeni başlayanların, özellikle de OOP'ye (nesne yönelimli programlama) aşina olmayan birinin bu dili bir süreliğine bir kenara bırakması daha iyidir. Aşağıdaki linkte 2014 yılının en popüler programlama dillerinin bir listesi yer alıyor ve gördüğünüz gibi ilk sırada Java yer alıyor, ardından C dilleri geliyor, ardından Phyton, JavaScript, PHP, Ruby vb. Benzer istatistikleri kendiniz araştırırsanız, farklı kaynaklarda yerlerin farklı şekilde işgal edildiğini ancak genel olarak içerikteki ilk 10 yerin her yerde aynı olacağını göreceksiniz.

Twitter'da yayınlanan açık pozisyonların analizine dayanan başka bir örneğe bakarsanız, ilk örnekle çok benzer bir durum göreceksiniz. Ve evet, her iki makale de İngilizce, buna alışın, eğer programcı olmak istiyorsanız, neredeyse tüm belgelerin ve faydalı bilgi kaynaklarının İngilizce yazıldığını unutmayın, bu nedenle bu dile ilişkin bilginiz zayıfsa, onu da ekleyin. İngilizce öğrenmek ve pratik yapmak için yarın ve yakın gelecek için yapılacaklar listeniz. Hatta yabancı dil öğrenmeye adanmış ayrı bir makale bile yazacağımı düşünüyorum.

Bu iki kaynağa dayanarak, şu anda hangi programlama dillerinin "moda" olduğunu zaten hayal edebiliyoruz. Başlıktan da anlaşılacağı gibi makalenin yazarı kendisi için Java'yı seçti. Her ne kadar OOP öğrenmek için en iyisinin bu olduğunu düşünsem de, benimle aynı fikirde olmayan birçok insan var ve bu mantıklı - ne kadar çok insan olursa o kadar çok fikir. Burada küçük bir yol ayrımındayız: programların ve uygulamaların (arka uç) doldurulmasıyla çalışmak istiyorsak Java, C# (Java'ya çok benzer), Phyton'u seçin veya eğer yapmak istiyorsak PHP, JavaScript, HTML'yi seçin. web geliştirme (ön uç). İlk durumda Java'yı seçerdim ve ikincisinde PHP'yi seçerdim, yine de bu sizin zevkinize daha uygun olsa da, çeşitli diller hakkında bilgileri kendiniz aramalı ve genel olarak ne yapmak istediğinizi anlamalısınız. Düşünmek için, burada dünyanın en büyük İnternet şirketlerinde kullanılan dillerden bir seçki var.

Java veya PHP'yi seçmemin 2 ana nedeni var. Birincisi, bu dillerin çok popüler olması ve uygun işi bulmanın zor olmayacağı, ikincisi ise başka hiçbir dilde bu ikisinde olduğu kadar hem Rusça hem de İngilizce olarak eğitim materyali bulamayacağınızdır. .

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 biridir. 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, kişinin gücünü, buna dayanıp dayanamayacağını, bir ay içinde ilgisini kaybedip kaybetmeyeceğini (bazılarında olduğu gibi), sonuna ulaşıp ulaşamayacağını ve temel bilgilere hakim olup olamayacağını test eder. bilgiler daha sonra katmanlı olacaktır.

Genel olarak pratikte defalarca doğruladığım kendi teorim var: Kesinlikle her şey 1 yılda öğrenilebilir.. İnanın bu mutlak gerçek, hatta bazılarının daha az zamana ihtiyacı olabilir ama kişi yıl boyunca pes etmeyip öğ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 (o kadar zaman ve çaba harcamadım), Arjantin tangosunu öğrenin, sörf yapın - bunların hepsi bir yıl için yeterli. Önemli olan ders çalışmak!

Bu durumda bana hala daha yakın olduğu için Java dilini ele alacağım. Neyse ki İnternet, başkalarının ücretsiz çalışmasına yardımcı olan insanlarla dolu, bu nedenle size uygun materyali bulmak zor olmayacak. , rahat dairenizin duvarları arasında kalem ve kağıtla görüntüleyebileceğiniz (şimdilik sadece Rusça). İçinden geçtikleri materyali okumaya alışkın olanlar için İnternet yine harika fırsatlar sunuyor ve bu da Java dersleri içeren her türlü siteden yalnızca biri. Gereğinden fazla teori var ama Coursera.org gibi çeşitli dillerde ve programlama dahil çeşitli alanlarda eğitimler bulabileceğiniz bir eğitim sitesi hakkında hiçbir şey söyleyemem - yine her şey tamamen ücretsizdir. Böyle bir veya iki site yok, sadece aramanız gerekiyor.

Ancak teori ne kadar bilgilendirici olursa olsun, pratik yapılmadan programlama vazgeçilmezdir. Ancak burada bile işin yarısı bizim için zaten yapıldı 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, kodun ekrandan kopyalanmasıyla başlayıp karmaşık görevlerle biten hem teori hem de pratik sağlar ve hatta molalar sırasında dinlenmeyi ve ünlü animasyon dizilerini izlemeyi bile teklif eder. Yazarlara göre hizmette 20. seviyeye ulaşanlar, bir BT şirketinde iş bulmak için yeterli bilgiye sahip olacak.

Ve elbette birisi şunu soracaktır: Peki ya kitap? Onları okumanız gerekmez mi, öyleyse ne olacak? Buna, hiç kimsenin kitap okumaktan bu kadar aptal olmadığı cevabını vereceğim. Ayrıca çok sayıda kitap var, ancak bunların yalnızca küçük bir kısmını listeleyeceğim:

Pratik konusunda yardım

Daha önce de belirtildiği gibi pratik, özellikle programlamada her türlü öğrenmenin ayrılmaz bir parçasıdır. Burada parmaklarınızın kas hafızasına kadar kodlamanız ve kodlamanız gerekecek. Bu elbette biraz abartılı ama ilk başta çeşitli yapıların anlamlarını hatırlamak için tuşlara gerçekten çok basmanız gerekecek, böylece gelecekte bunları neredeyse otomatik olarak kullanabilirsiniz.

Birçok acemi programcının, özellikle bağımsız bir görevi tamamlamaları gerektiğinde, ilk başta birçok sorusu vardır. Bu iyi. Ancak bu gibi durumlarda, aklınıza takılan hemen hemen her sorunun internette yanıtlanabileceğini anlamalısınız. Bununla karşılaşan ilk kişi olmanız pek olası değildir, bu nedenle çeşitli programcı forumlarında (bunun hakkında biraz sonra yazacağım) hemen soru sormak için acele etmeyin. Bir dakika oturun, sorunu kafanızda doğru bir şekilde formüle edin ve onu bir arama motorunda aramaktan çekinmeyin. Elbette çoğu Rusça arama yapacaktır, ancak programcıların dilinin İngilizce olduğunu unutmayın; bu nedenle, cevabı büyük ve kudretli dilde bulamadıysanız, herkesin okulda okuduğu bir dile bakmaya değer. ama asla öğrenmedim. Ancak bu durumda sorunuzun hiçbir yerde cevabının olmadığı ortaya çıksa bile, en iyi İnternet forumları savaşa giriyor:

  • Cyberforum, bence BT uzmanları için en popüler Rusça forumdur, burada yalnızca programlama alanında değil, soruların yanıtlarını da bulabilirsiniz;
  • Programcılar forumu - büyük bir Rusça forum;
  • Searchengines iyi bilinen bir forumdur ancak daha çok web programlama konusunda uzmanlaşmıştır;
  • Yığın taşması - ve bu sözlerden korkmuyorum, zaten tüm dünyadaki en popüler BT forumu, neredeyse tüm sorularınızın yanıtlarını burada bulacaksınız;
  • Dev Shed aynı zamanda İngilizce konuşulan büyük bir forumdur;
  • Quora, programlama konusunda özel olarak uzmanlaşmayan bir forumdur, ancak gerçek bir profesyonelden yanıt alma olasılığınız yüksektir.

Elbette forumlar sorularınızın yanıtlarını almanın tek yolu değildir. Uygulamalarında, programcılar her yerde resmi kurumlarla çalışırlar. dokümantasyon yazdıkları dil. Belirli sınıfların ve arayüzlerin nasıl çalıştığını açıklar; bazen sorunların çözümüne yardımcı olabilecek tek kaynak dokümantasyon olabilir, çünkü yalnızca başlangıç ​​aşamasında herkesin benzer soruları vardır ve kolayca hazır çözümler bulabilirsiniz, ancak işin içine girdikçe daha da derine inersiniz. ormanda, cevapları bulmak giderek zorlaşıyor, bu yüzden, umarım zaten akıllı olan kafana güvenmelisin.

Kodu derlemek

Zaten çok yazdım, elbette bu kadar geniş bir konuyu tek makalede ele almak zor ama ilk adımların zaten atıldığını ve bunların sizde uygun düşünceleri uyandırması gerektiğini düşünüyorum. Sanırım bu sadece "Nasıl programcı olunur" serisinin ilk makalesi ve buna göre bir dönüm noktasındaysanız ve hangi yolu seçeceğinizi henüz bilmiyorsanız "neden?" Bir dahaki sefere maddi açıdan daha ilginç konulara değineceğim çünkü programcıların fakir insanlar olmadığı bir sır değil ve bir dahaki sefere nerede ve ne kadar maaş aldıklarını göreceğiz.

Son olarak, gerçekten programcı olmak isteyenler için, boğayı boynuzlarından tutmanızı, tüm iradenizi yumruk haline getirmenizi ve dilediğinizi yapmanızı diliyorum. Daha önce binlerce kez söylendi ama tekrar edeceğim, asıl olan arzu ve çalışmaktır. O zaman her şey senin için yoluna girecek. En önemli şeyi unutmayın: programlama dillerini ve çeşitli teknolojileri öğrenmeyi bir amaç olarak değil, bir ARAÇ olarak algılıyoruz. Sadece sizin için hangi fırsatların açıldığını hayal edin. Belki siz de dünyayı gerçek zamanlı olarak değiştirenlerden biri olursunuz. İyi şanslar ve ilginiz için teşekkürler!

Video bonusu

Etiketler:

  • nasıl programcı olunur
  • programlamayı öğren
  • java öğren
Etiket ekle