Yeni başlayanlar için Java programlama. Sıfırdan programlama: nereden başlamalı? Java programlamayı sıfırdan öğrenmeye nasıl başlanır

  • 16.07.2019

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

Java hakkında.

Aptallar için Java programlama gibidir. Kulağa basmakalıp gelebilir, ancak Java açık ara en popüler programlama dilidir. Birleştirilmiş C#'dan daha fazlasını programlamak için kullanılır. Programlama öğrenmek istiyorsanız Java öğrenmeye başlayın ve yanılmayacaksınız. Bu programlama dilinde yazılan kod, platformlar arasıdır. Java Sanal Makinesi'nin (JRE) kurulu olduğu herhangi bir aygıtta ve herhangi bir işletim sisteminde çalışır - "Bir kez yazıldı, her yerde çalışır." "Aptallar için Java" kitabı onlar için tasarlandı.

Kitap hakkında.

Hiç programlama eğitimi almadıysanız ve OOP hakkında bilginiz yoksa, cesaretiniz kırılmasın, Barry Bird açıklamakta iyidir. En azından, nesne yönelimli programlamanın temel kavramları ve Java dilinin temel bilgisi size garanti edilir. Kitaptaki materyalin dikkatli bir şekilde incelenmesine ve kod örnekleri şeklinde ödevlerin tamamlanmasına tabidir. Rehberde yazar Java dilinin tarihçesinden, temel kavramlarından, avantaj ve dezavantajlarından, mevcut versiyonlarından ve farklılıklarından, hazır programları (JDK, JRE, Eclipse) kodlamak ve yürütmek için gerekli araçlardan bahsedecektir.

Temel bilgileri öğrenin: dilin gramerleri (sözdizimi), API sınıfları kavramı (standart kitaplıklar), ilk programınızı yazın. Java öğrenmenin ilk aşaması için bu kitap yeterlidir. Okumayı bitirecek cesaretiniz varsa ve ödevlerin en azından bir kısmını tamamlarsanız, o zaman daha hacimli ve çalışmaya başlayabilirsiniz. Mükemmelliğe giden yolun bir başlangıcı vardır ama sonu yoktur.

Yazar hakkında 13
Giriş 15
Bu kitapla nasıl çalışılır 15
15. Kitapta Kullanılan Kurallar
Ne Okuyamazsınız 16
Birkaç Varsayım 17
18. Kitabın Yapısı
Bölüm I. Java Temelleri 18
Bölüm II. Java 18 Programı Yazma
Bölüm III. Nesne Yönelimli Programlama 18
Bölüm IV. Programlama En İyi Uygulamaları 19
Bölüm V. Muhteşem Onlarca 19
Bölüm VI. Ekler 19
19. Kitapta Kullanılan Piktogramlar
sonraki 20
Geri bildiriminizi dört gözle bekliyoruz! yirmi

Bölüm I. Java Temelleri 21

Bölüm 1. Java'ya Giriş 23
Java 24 ile neler yapılabilir?
Neden Program Yazma 25
biraz tarih 25
Nesne Yönelimli Programlama 28
Nesne Yönelimli Diller 28
Nesneler ve Sınıflar 30
Nesneye Yönelik Yaklaşımın Faydaları 31
Sınıfları ve Nesneleri Görselleştirme 32
sırada ne var 33

Bölüm 2. Yazılım geliştirme 35
Hızlı Başlangıç ​​35
Bilgisayara ne yüklenmelidir 37
derleyici nedir 38
Java Sanal Makinesi 40 Nedir?
Geliştirme süreci 45
Entegre Geliştirme Ortamı 46

Bölüm 3. Temel Java Bileşenleri 49
Java 49 konuşalım
Dilbilgisi ve Ortak İsimler 50
Java Programındaki Sözcükler 51
İlk Java programınız 53
İlk Programınız Nasıl Çalışır 54
54
Yöntemler 55
Programın ana yöntemi 57
Bir bilgisayara istenen işlemi yapması nasıl söylenir 58
Kıvrımlı parantezler 60
"Yorum yok..." deme 62
Kod 63'e Yorum Ekleme
Eski Barry 66 için çok sert olma
66 koduyla deneme yapmak için yorumları kullanma

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

Bölüm 4. Değişkenler ve Değerler 71
Uçucu değişken 71
Atama Operatörü 74
Değer ve değişken türleri 75
Metni Görüntüleme 77
Ondalık noktası olmayan sayılar 78
Bildirimde başlatma 79
Java 80 ilkel türleri
Karakter türü 81
Boole 82 tipi
Referans türleri 83
İthalat Beyanı 86
Operatörlerle Yeni Değerler Yaratmak 87
Bir kez başlatabilirsiniz, ancak birçok kez atayabilirsiniz 89
Artırma ve Azaltma Operatörleri 89
Atama Operatörleri 93

Bölüm 5. Kontrol talimatları 95
Bir if İfadesi ile Karar Verme 95
96 sayısını tahmin et
Klavyeyi Kullanarak Metin Girme 96
Rastgele sayılar üretme 98
if ifadesi 98
Çift eşittir işareti 100
100 blok
if ifadesinde girinti 101
Kırık çatal (başka değilse) 101
Karşılaştırma Operatörleri ve Boole Operatörleri ile Koşullar 102
Sayı ve sembollerin karşılaştırılması 102
Nesnelerin karşılaştırılması 103
Her Şeyi Tek Seferde İçe Aktarma 105
Mantıksal operatörler 106
“Sıfır”, “hiçbir şey”den ne kadar farklıdır 108
Parantez içindeki koşullar ve parantez içindeki koşullar 109
İç içe if ifadeleri 111
113 anahtarı
Seçenek seçimi 113
Mola eklemeyi unutmayın! 115
Dize argümanı - Java 7 117'de yeni

Bölüm 6. döngüler 119
Döngü 119
122 için döngü
for döngüsünün yapısı
"Al in the Rain" 125'in galası
Döngü yapmak 126
Klavyeden bir karakter okuma 129
Dosya Manipülasyonu 130
130 bloğunda değişken bildirimi

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şken Bildirme ve Nesne Oluşturma 135
Değişken 138 Başlatılıyor
Bir program birçok sınıftır 139
Bir Sınıfta Yöntem Tanımlama 139
Kendi Kendini Temsil Eden Hesap 140
Yöntem başlığı 141
Metod'a Parametre Geçirme ve Metoddan Değer Alma 142
Yöntem 144'e bir değer iletme
Yöntem Döndürülen Değer 145
Sayılar Nasıl Güzel Görünür 147
Erişim değiştiricileri 151
Doğru Programlama Stili 152
Bir Alanı Erişilemeyen 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ımlayıcı Çalışan 158
159 sınıfının doğru kullanımı
Ödeme çeki oluştur 161
Dosyalarla çalışma (küçük bir konu) 162
Verileri bir dosyada saklama 162
163 kodunu kopyalayıp yapıştırma
Bir dosyadan okuma 164
Dosyam nereye gitti? 166
Dosya Adına Klasör Adları Ekleme 166
Satır satır okuma 167
Miras 169
Türetilmiş Sınıf 171
Türetilmiş Sınıfları Kullanma 174
Tiplerin uygunluğu 175
PartTimeEmployee Sınıfını Kullanma 176
Mevcut Yöntemleri Geçersiz Kılma 177
Açıklamalar 179
Baz Çağırma ve Türetilmiş Yöntemler 179

9. Bölüm yapıcılar 181
Bir Yapıcı Tanımlama 181
sıcaklık nedir 182
Sıcaklık ölçeği nedir 182
Peki sıcaklık nedir? 183
185 derecelik bir sıcaklıkta neler yapılabilir?
Doğru Oluşturucuyu Bulma 186
Bazı Şeyler Asla Değişmez 189
Türetilmiş Sınıf 190'da Temel Sınıf Oluşturucu
İyileştirilmiş sıcaklık sınıfı 190
Türetilmiş Sınıf Oluşturucuları 191
Gelişmiş sıcaklık sınıfı 192 kullanma
Varsayılan yapıcı 193
Bir kurucu, 194 alanı doldurmaktan fazlasını yapabilir
Java AP 196 Sınıfları ve Yöntemleri
Açıklama @SuppressWarnings 198

Bölüm IV. Gelişmiş programlama teknikleri 199

Bölüm 10. Değişkenlerin ve yöntemlerin doğru kullanımı 201
Sınıf tanımı 201
Sayıları Güzelleştirmenin Başka Bir Yolu 202
Player 203 sınıfını kullanma
Dokuz Oluşturucu 205 Çağırır
Grafik Kullanıcı Arayüzü 205
İstisnayı Başka Bir Yönteme Atın 207
Statik Alanlar ve Yöntemler 207
Neden bu kadar statik 209
Statik Başlatma 210
210 komutunun genel istatistiklerinin görüntülenmesi
Statik ithalat 212
Dikkat, statik! 213
Değişkenlerle Deney Yapma 214
215 yerinde değişken
Farklı yerlerdeki değişkenler 217
Geçiş Parametreleri 219
Değer 219'a göre geç
Dönen sonuç 221
Referansa göre transfer 221
Yöntem 223'ten Nesne Döndürme
son söz 224

Bölüm 11. Diziler ve Koleksiyonlar 225
Bir satırdaki öğeler nasıl düzenlenir 225
İki Adımda Dizi Oluşturma 227
Değerlerin saklanması 228
Tablolar ve diğer özel karakterler 230
Dizi Başlatma 230
Döngü 231 için genişletilmiş
Arama 233
Nesne Dizileri 236
237 numaralı odayı kullanma
240 numaralarını süslemenin 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ı Argümanlarının Sayısını Kontrol Etme 244
Koleksiyonlar 245
Koleksiyon Sınıfları 246
ArrayList Sınıfı 247
Genel türleri kullanma 250
Daha fazla veri olup olmadığını kontrol etme 250

Bölüm 12. Kötü bir oyunda iyi bir yüz nasıl tutulur 253
İstisna İşleme 254
Yakalama bloğu parametresi 258
İstisna Türleri 259
İstisna 261'i Kim Yakalamalı
Birden çok istisna türü içeren bir yakalama bloğu 267
Fazla tedbirli olmayalım 267
Bir istisnadan sonra programı geri yükleme 268
Dostlarımız İyi İstisnalardır 269
İstisnayı ele alın veya 270'e iletin
Sonunda blok 274
Dosyaları Kapatma 276
dosya 276 nasıl kapatılır
Bir try bloğunun başlığındaki kaynaklar 276

Bölüm 13. Görünürlük alanı 279
Değiştiricilere Sınıf Üyelerine Erişim 280
Sınıflar, Erişim ve Program Bölümleri 280
Sınıflar ve Sınıf Üyeleri 281
Sınıf Üyesi Erişim Kuralları 281
Çerçevedeki resimli örnek 283
Klasör yapısı 285
Çerçeve Oluşturma 286
Sınıf Değiştirmeden Program Nasıl Değiştirilir 287
Varsayılan erişim 289
292 paketine nasıl girilir
Korumalı Erişim 292
Türetilmemiş Bir Sınıfı Aynı Pakete Dahil Etme 294
Sınıf Erişim Değiştiricileri 295
Açık sınıflar 296
Açık sınıflar 296

Bölüm 14. Klavye ve fare olaylarına yanıt verme 299
Fare Tıklama Yanıtı 299
Olaylar ve Olay İşleme 301
Java Arayüzleri 302
Konular 303
Bu 304 anahtar kelime
actionPerf ormed () yönteminin gövdesi 305
Sürüm Kimliği 305
Diğer olaylara yanıt verme 306
Kapalı Sınıflar 311

15. Bölüm uygulamalar 315
Basit bir uygulama örneği 315
Uygulama 316 yürütülüyor
Açık sınıf 317
Java API Sınıfları 317
Hareketli uygulama 318
Uygulamada kullanılan yöntemler 319
Applet Yöntemlerinin İçeriği 320
Uygulamadaki olaylara tepki verme

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

Bölüm V. muhteşem onlarca 333

Hpava 17. Hatalardan Kaçınmanın On Yolu 335
Harflerin doğru kullanımı 335
Blok anahtarından çıkış 336
İki Değeri Karşılaştırma 336
GUI 336'ya Öğe Ekleme
Olay Alıcıları Ekleme 337
Yapıcıları Tanımlama 337
Statik olmayan bağlantıları düzeltme 337
Dizi Sınırlarına Saygı 337
nu 11 338 için işaretçiler
Java Sanal Makinesinin 338 Sınıfı Bulmasına Yardım Edin

Bölüm 18. On Java Sitesi 341
Bu Kitabın Web Siteleri 341
Java Siteleri 341
Haberler, incelemeler, örnek kodlar 342
iş 342
Herkes için web siteleri 342

Bölüm VI. Uygulamalar

Ek A. Entegre Geliştirme Ortamının Kurulması 345
JDK 345'i indirin ve yükleyin
Eclipse 349'u İndirme ve Yükleme
Eclipse 351'i Yapılandırma
Ek B. Eclipse 353'ü Kullanma
Örneklerle çalışma kitabı 353
Kendi projenizi oluşturma 355
dizin 359

Kitabı ücretsiz 8.23 ​​MB indirin. djvu

Aptallar için Java. Video

A. N. Vasiliev "Örnekler ve programlarla Java kendi kendine kullanım kılavuzu" Bilim ve teknoloji, 2011, 352 sayfa (46.0 mb. Djvu + 1.34 mb. Dosyalar)

Kendi kendine talimat kitabı Diğer tüm kendi kendine kullanım kılavuzları gibi, kendi konusunda, bu durumda Java programlama dilinde (bu teknoloji olarak anlaşılmalıdır) hızlı ve bağımsız çalışmaya odaklanır.

Kitap okuma hakkında çok şey söylemeye gerek yok: kılavuzlar, kendi kendine çalışma kılavuzları, ders kitapları, programcı olabilirsiniz - tüm bunlar böyle değil. Bir programlama dili öğrenmek, tıpkı bir yabancı dil öğrenmek gibi, sadece kitaplardan elde edilen teorik bilgileri değil, aynı zamanda pratik alıştırmaları da gerektirir. Tercihen anadili İngilizce olan kişilerle (sonuçlar çıkarın).

Fark ettiğiniz gibi, kitabın tam adı "Örnekler ve Programlarla Java Kendi Kendine Eğitimi" dir, yani okuyucunun sadece teori çalışmayacağı, aynı zamanda pratik görevler ve örnekler de gerçekleştireceği varsayılmaktadır. Bu bir garanti değil, özellikle Java'da az ya da çok iyi programlama için başarıya ulaşma olasılığının önemli bir garantisidir.

Yazarın eldeki görevde başarılı olup olmadığına karar vermek size, okuyucuya kalmıştır. Nasıl herkes matematikçi olamıyorsa, herkes programcı olamaz (daha doğrusu, havalı bir programcı, ancak ... ayılara bile yüzüğe atlamaları öğretilir).

Bir arşivde kitap, diğer listelerde pratik çalışma için program kodu, Java geliştirme ortamı (NetBeans) ile Java dağıtımı boyutunu küçültmek için arşivden kaldırıldı, en son sürümleri ayrı olarak indirebilirsiniz.
ISBN 978-5-94387-937-1

NetBeans indirme sayfası

Kitap, dil ve yazılım hakkında 9
JAVA 9 teknolojisi
Yazılım 11
Genel olarak OOP ve özellikle JAVA hakkında 20
Yararlı kaynaklar 23
Kitap yapısı 24
Terminoloji ve kurallar 25
Geribildirim 25
Teşekkür 26

Bölüm 1. İlk program 22
Çok basit bir program 27
Başka Bir Basit Program 36
Özet 39

Bölüm 2. Değişkenler ve temel veri türleri 41
Temel Türlerin Değişkenleri 41
Değişkenleri Bildirme 43
Sarıcı Sınıfları 47
Özet 50

Bölüm 3. Temel Operatörler ve Döküm 51
Aritmetik Operatörler 51
Mantıksal operatörler 52
Karşılaştırma Operatörleri 54
Bitsel Operatörler 54
Üçlü operatör 57
Atama Operatörü 59
Açık Döküm ve Otomatik Tip Genişletme 60
Değişmez türler 62
Operatörlerin Kısaltılmış Formları 63
Arttırma ve eksiltme 64
İfadelerin Değerlendirilmesi ve İşlemlerin Önceliği 65
Özet 66

Bölüm 4. Kontrol talimatları 67
Koşullu ifade IF 67
SWITCH-CASE 76 ifadesini seçin
WHILE ve DO-WHILE Döngü Operatörleri 80
85 döngü operatörü İÇİN
Özet 90

Bölüm 5. Diziler oluşturma ve bunlarla çalışma 91
Tek boyutlu diziler 91
Dizileri Atama ve Karşılaştırma 97
İki boyutlu diziler 98
Dizi başlatma 102
Dizilerle çalışma 103
Dizi öğeleri üzerinde yineleme yapmak için FOR döngü operatörü 108
Özet 109

Bölüm 6. Sınıflar ve nesneler sınıflar ve nesneler 111
Sınıf Bildirimi ve Nesne Oluşturma 113
117
Yapıcılar 122
Aşırı Yükleme Yöntemleri ve Yapıcılar 125
Nesneleri Atama 130
Bir nesnenin kopyasını oluşturma 132
Özet 136

Bölüm 7. Nesnelerle çalışmanın incelikleri 137
Statik Alanlar ve Yöntemler 137
Nesneler ve Yöntemler 143
Diziler ve Nesneler 149
Anonim Nesneler 153
Kapalı Sınıflar 156
Komut Satırı Bağımsız Değişkenleri 160
Özet 164

Bölüm 8. Kalıtım, arayüzler ve paketler 165
Kalıtımla İlgili Temel Bilgiler 165
Alt sınıf 169 oluşturucu
Geçersiz Kılma Yöntemleri 172
177 sınıfının özel üyeleri
Üst Sınıf Nesne Değişkenleri 180
Soyut Sınıflar ve Arayüzler 182
Paketler ve Erişim Düzeyleri 193
Özet 195

9. Bölüm Metin ve diğer yardımcı programlarla çalışma 197
Metinle çalışma 197
Tarih ve Saatle Çalışma 209
Matematik Araçları 210
Özet 212

Bölüm 10. İstisna işleme 213
İstisnalar ve türleri 213
İstisna İşleme 216
Özel İstisna Sınıfları Oluşturma 222
Özet 227

Bölüm 11. çok iş parçacıklı programlama 228
Akışları JAVA 228'de Uygulama
ana akım 230
Bir alt iş parçacığı oluşturma 233
Konuları Senkronize Etme 238
Özet 244

Bölüm 12. Giriş / çıkış sistemi 245
Veri Akışları ve Konsol Girişi 245
Biçimlendirilmiş Çıktı 249
Dosyalarla çalışma 256
Özet 265

Bölüm 13. Java'da grafikler. SWING kitaplığının temelleri, GUI uygulamaları oluşturma ilkeleri 266
Basit Bir Pencere Oluşturma 271
Metin etiketli pencere 273
Metin ve piktogram içeren pencere 275
Etiketli ve düğmeli pencere 277
Etkinlik Sınıfları 282
Özet 286

Bölüm 14. GUI Uygulamaları 287
Metin Giriş Kutusu ile Pencere Oluşturma 287
Bileşen Sınıfı Kalıtım 301
Özet 315

15. Bölüm uygulamalar 316
Appletlerin temel özellikleri ve basit bir örnek 316
Argümanları Applet'e Geçmek
Kontrollü Uygulama 328
Özet 349
Sonuç 350

Teknik kitapları 46.1 mb ücretsiz indirin. djvu Teknik kitapları ücretsiz 1,34 MB indirin. Dosyalar

Bilgiye hızlı erişime ve onun da bir o kadar çabuk özümsenmesine alışkınız. Beş dakikalık videoları derin derslere ve kısa makaleleri kitaplara tercih ediyoruz. İyi bir programlama kitabının herhangi bir makalenin yerini alacağını iddia etmeyeceğim, öyle değil. Ve kesinlikle pratiğin yerini almayacak. Bununla birlikte, kişisel olarak, programlama dersinde yüzlerce problemi çözdükten ve bir ton makale okuduktan sonra, programlamanın temelleri hakkında gerçek bir anlayış, kitaplardan paralel olarak teori çalışmaya başladıktan ve onları derinlemesine inceledikten sonra geldi. Bir süredir kişisel "Yeni Başlayanlar için En İyi Java Eğitimi"ni arıyorum. Aşağıda, çalışmalarımın farklı aşamalarında az ya da çok benim için yararlı olan birkaç kitap var. "Küçükler için" Sonraki iki kitabı eğitiminizin başında videoya paralel olarak veya CodeGym öğreniyorsanız ilk seviyelerle birlikte okumaya başlayabilirsiniz. Bunlar, özellikle ilki, sıfır programlama geçmişine sahip kişiler için uygundur.

İlk Java'yı Yönetin

Bu kitaba en çok sevdiğim için değil, en basiti olduğu için başladım. Birçok programcının görüşüne göre bu kitap, sıfırdan en iyi Java öğreticisidir. Dahası, gerçekten ve tamamen "sıfırdan", yani yeni başlayanlar ve henüz ne tür bir hayvan programlama olduğunu tam olarak anlamayanlar için uygundur. Bana çok geç geldi. Sanırım bu yüzden takdir edemedim. “Sadece okumak” çok hoştu, ancak uzun süre içinde belirli bir şey aramak zorunda kaldım. Materyal orada canlı bir şekilde, ancak daha ziyade yüzeysel olarak sunulmaktadır (çünkü sıfırdan!) Ve birçok konu ve gerekli açıklama sadece orada değil. Ama miras aldığı arkadaşım ondan çok memnun kaldı ve bunun sadece yeni başlayanlar için en iyi Java ders kitabı değil, aynı zamanda bir dünya şaheseri olduğunu ve karmaşık materyalleri bu şekilde sunmanız gerektiğini haykırdı. Avantajlar:
  • Yaşayan bir dilde yazılmış eksiksiz aptallar için sıfırdan en iyi Java eğitimi;
  • Harika çizimler ve mizah;
  • Gerçek hayattan örneklerle açıklamalar.
Dezavantajları:
  • Konuya daha önce girmiş olanlar için çok fazla "su";
  • Bulmacalar ve alıştırmalar her zaman başarılı değildir.

Herbert Schildt. Java 8. Başlangıç ​​Kılavuzu

Bu öğreticiyi gözden geçirdikten sonra, materyalin Headfirst'ten daha geleneksel bir sunumunu sevenler ve sıfırdan bir eğitim arayanlar için iyi olacağını düşündüm. Bazı yerlerde, kitaptaki sunum çok ayrıntılı, iyi açıklayıcı örneklerle genişletilmiş ve tercüme edilmiş belgeleri hatırlatıyor. Bazen, bana gelince, yazar sınırı aşar ve çok fazla çiğnemeye başlar, okumak sıkıcı hale gelir ... ve aniden - takla - ve oldukça zor bir yer neredeyse anında atlar ve neyi ve nerede olduğunu anlamaya çalışırken tam bir şaşkınlık içindesiniz. kaçırdın. Ancak, kitapta böyle pek çok yer yok ve "Başlangıç ​​Kılavuzu"nun henüz hiçbir şey bilmeyenler için en iyi kendi kendine Java çalışması olduğuna inanan insanlar tanıyorum. Şahsen, bana çok pürüzsüz görünmüyordu. Örneğin, koleksiyonlar arasında sıralamaya başlıyorum ve bir insan açıklaması yerine, bana bağımsız olarak dizilere dayalı bir Set oluşturma görevini veriyorlar. Harika bir görev, ancak önce standart koleksiyonların ne olduğunu daha iyi anlamak istiyorum! Bu kitap, önceki kitap gibi, yeni başlayanlar için bir ders kitabı olarak kabul edilse de, bir öğretmen olarak deneyimim, bunun yalnızca diğer materyallerle birlikte kullanıldığında iyi olduğunu gösteriyor: insani bir makasçı için kolay ve anlaşılır olmayacak. Hepsinden iyisi, "Başlangıç ​​Kılavuzu" programlamayı en az öğrenen (örneğin üniversitede), uzun zaman önce unutanlar ve aynı zamanda yazarın sunum tarzını sevenler için uygundur. Avantajlar:
  • Temellerin geleneksel düşünceli yazımı;
  • İyi örnekler.
Dezavantajları:
  • “Çok çiğnenmiş”ten “bir anlığına görülen”e “sıçrayışlar” vardır;
  • Yer yer biraz sıkıcı.
Bu arada, Herbert Schildt'in programlama üzerine bir başka ünlü kitabı daha var - "Java 8. The Complete Guide". Bu tamamen farklı bir öğretici, daha temel. Biz ona gidiyoruz. Referanslar ve gelişmiş kılavuzlar Bu bölümdeki kitaplar, daha önce tam olarak dahil olmuş ve teori ve pratiği daha iyi anlamak için kitap arayanlar için faydalı olacaktır.

Herbert Schildt "Java 8. Eksiksiz Kılavuz"

Değerlendirmek için bu kitabı internetten indirmeye karar verdim ve sonra - satın almak ya da almamak. Şaka değil, 1300 sayfa metin! Fiyat, hacimden daha az etkileyici değil. Aynısını Kei Horstmann'ın iki ciltlik Profesyonel Kütüphanesi için de yaptım (daha fazlası aşağıda). İleriye baktığımda, ikincisini seçtiğimi söyleyeceğim. Niye ya? Çünkü “Java. Tam Kılavuz ”“ Başlangıç ​​​​Kılavuzu ”ndakiyle aynı dezavantajları gördüm. Bazen çiğnenir, bazen buruşur, ama aynı zamanda sadece buruşmaz, bir şekilde ayrıntılı bir şekilde buruşur. Muhtemelen, bu yazarın tarzıdır ve sanırım birileri bunu sevecektir, daha doğrusu düşünme açısından. Sonuç olarak, The Java 8. Complete Guide, Java için iyi bir referanstır. Ama kişisel olarak aynı konuların başka bir kitapta anlatılmasını daha çok sevdim. Avantajlar:
  • Tam rehber. Sadece yeni başlayanların değil, yeni başlayanların bilmesi gereken tüm konulara sahip gibi görünüyor.
  • Ayrıntılı açıklamalar.
Dezavantajları:
  • Bol su (ama birisi bundan hoşlanabilir!);
  • Rusça çeviri en iyisi değil.

Java. Kütüphane Uzmanı, Kay S. Horstmann, Gary Cornell

Schildt ve Horstmann'ın kitapları genellikle birbirleriyle karşılaştırılır. İkisinin de sadık hayranları var. Benim için Horstmann'ın iki ciltlik kitabı en iyi Java öğreticisidir. Ayrıca CodeGym'in başlangıç ​​ve orta seviyelerinde benim için bir başvuru kitabı oldu. Bir konuyu anlamadığımda, çoğunlukla Horstmann'a tırmandım ve çok şey açıkladı. Kitap, söz diziminden çok iş parçacıklı programlamaya, uygulama yerelleştirmesine ve XML ile çalışmaya kadar her şeyi kapsar. Ve (beni korkutan) “Profesyonel Kütüphane” başlığı sizi korkutmasın, temel bilgiler oldukça iyi anlaşıldı. Ayrıca, bilgiyi yenilemek ve düzenlemek için periyodik olarak tekrar okumakta fayda var. Profesyonellerin bile içinde yararlı bir şeyler bulduğunu söylüyorlar ... Bilmiyorum. Profesyonel olacağım - size söyleyeceğim! Avantajlar:
  • Etkileyici sayıda sayfa ile - az su (Schildt'in aksine).
  • Yeni başlayanların ihtiyaç duyduğu her şeyi içerir.
  • Java 8'i ortaya çıkarır.
  • Koleksiyonlar ve jeneriklerle ilgili konuların iyi sunumu.
  • CodeGym ile çok iyi eşleşir. Konuya girin, sorunları çözün, bir noktada anlamadığınız bir şey var - Horstmann'ı izleyin, tekrar deneyin.
Dezavantajları:
  • Bazılarına kitap oldukça kuru görünebilir;
  • Uygulama yok;
  • Gaflar ile Rusça çeviri.

"Java. Programlama Yöntemleri ". Blinov, Romançik

Bir keresinde forumda böyle bir "Endüstriyel Programlama" kitabı olduğunu okudum ve içinde iyi sorunlar var. Yalan söylemedikleri ortaya çıktı. Belarus EPAM web sitesinde PDF olarak bir kopyasını buldum. Orada, baskı en yeni değil (Java 6'ya göre), ancak kitap sağlam bir üniversite ders kitabı olarak yazılmıştır, yani bazı yerlerde sunumu biraz ağır, akademiktir. ANCAK! Test ödevlerinin yanı sıra gerçekten iyi bir Java programlama sorunları koleksiyonu var. EPAM kursiyerlerinin bu kitaptan öğrendiğini ve ayrıca birçok çevrimdışı Java kursunun onu benimsediğini söylüyorlar.

Buradaki görevlere yaklaşım CodeGym'den biraz farklıdır, yani ortalama olarak buradaki görevler biraz daha karmaşıktır ve her biri şöyle bir şeydir ... mini değil, mikro proje. Bu yüzden CodeGym öğrencilerine bile tavsiye ediyorum, çünkü bence dersin pratik tarafının eksikliği, içindeki tüm görevlerin zaten tam olarak tasarlanmış olması ve çok fazla ipucu olması. Örneğin, bu koleksiyondaki OOP'deki sorunlar, aşağıda hakkında yazdığım "solmayan klasikler" kitaplarıyla birlikte bu OOP'yi anlamama çok yardımcı oldu. Kitap, geleceğin "kürekçileri" için yazılmıştır, bu nedenle dağıtılmış sistemler geliştirmek için Hazırda Bekletme teknolojilerinin yanı sıra HTML, XML, JavaScript'in temellerini açıklar. Endüstriyel Programlama, en iyi Java öğreticisi olmasa da çok iyi bir çalışma kılavuzudur. Ama buna önceden hazırlanmış olarak gelmeniz gerekiyor. Diyelim ki bir düzine kadar CodeGym seviyesinden sonra. Daha sonra, zaten “Java” adı altında, daha yeni ve gözden geçirilmiş bir baskısını keşfettim. Programlama Yöntemleri ".

Avantajlar:
  • Mükemmel bir görev ve test öğesi seçimi;
  • Resmi bir ücretsiz sürüm var (bazı kök izleyicilerde değil, EPAM web sitesinde olduğu için resmi olduğuna inanıyorum);
  • C++ ile karşılaştırma.
  • EPAM stajında ​​neler olup bittiğini anlama fırsatı.
Dezavantajları:
  • Çok temel sunum. Ancak pratikle tekrarlamak için yapacak.
  • Java8 yok.
sonsuz klasik Aşağıda hakkında yazdığım kitaplara yeni başlayanlar ve ileri seviye Javisçiler için kutsal metinler denilebilir.

Etkili Java, Joshua Bloch

Bu sadece bir hazine, bir kitap değil ve yazarlarından biri olan Joshua Bloch'tan dilin temel ilkelerine adanmıştır. Büyük olasılıkla, kitaplıklarını zaten kullanmışsınızdır (örneğin Java Koleksiyonunda). Hemen bir rezervasyon yapacağım: Etkili Java kitabı, bazı hız meraklıları dışında, yeni başlayanlar için gerekli değildir. İlk olarak, sözdizimini öğrenmek ve en azından biraz programlama pratiği yapmak, tabiri caizse, "tümsekleri doldurmak" ve ancak o zaman - Joshua Bloch'un yaratılmasını üstlenmek daha iyidir. Kitap, Java'yı gerçekten anlamak, bu dilde programlamaya doğru yaklaşımı oluşturmak, sadece nasıl yapılacağını değil, bu şekilde başka ne yapılması gerektiğini anlamak isteyenler için kullanışlı olacaktır. Ayrıca OOP'yi derinlemesine öğrenmek isteyenler için (prensipte bunlar birbirine bağlı şeylerdir). Bu kitap, programlamaya nesne yönelimli bir yaklaşım için en iyi Java öğreticisidir. Avantajlar
  • OOP konusunda mükemmel materyal sunumu.
  • En iyi programlama uygulamaları sunulmaktadır.
  • Yazar, Java'yı içeriden çok iyi biliyor.
Dezavantajları
  • Şimdiye kadar, kitabın en yeni baskısının (üçüncü) çevirisi yok.

Java Felsefesi, Bruce Eckel

Bu kitabın adı kendisi için konuşur. Bu, Java'yı bilmek isteyen herkes için başka bir "alfa ve omega"! Bu kitapta iyi ve net örnekler bulacaksınız ve bunlardan Java'nın nasıl çalıştığı açık olacak. Java Felsefesi veya Etkili Programlama adlı iki kitaptan hangisinin daha iyi olduğunu söylemek benim için zor. Eckel'in yeni başlayanlara biraz daha sadık olduğunu söyleyebilirim, Bloch ise bir tür deneyim gerektiriyor. CodeGym'i yeni öğrenmeye başladığımda ilk olarak "Java Felsefesi" bölümünü okudum (görünüşe göre ilk seviyelerden birinde önerilenlere dahil edilmiş). Sonra bana gitmedi. Ama 10. veya 12. seviyeden sonra - bu bir şarkıydı! Ve çok faydalı bir şarkı söyleyeceğim. Daha sonra "Etkili Programlama"ya geldiğimde ona döndüm. Şöyle anlatayım: Bloch ve Eckel aynı şey hakkında konuşsunlar, ama farklı şekillerde ve farklı örnekler verelim. Avantajlar
  • Bir profesyonelden Java ilkelerinin derinlemesine sunumu;
  • Diğer dillerden geçiş yapanlar için iyi olacaktır - örneğin C ++ ile birçok karşılaştırma.
  • Bana öyle geliyor ki, onu 10. seviyeden okumaya başlayabilirsiniz, ancak Eckel - biraz sonra.
Dezavantajları
  • Çok kötü Rusça çeviriler;
  • Kitabın Rusça yeni baskısının olmaması.

Kısa sonuçlar

  1. Hiçbir şey bilmeyenler için sıfırdan en iyi Java eğitimi - Head First Java;
  2. En iyi Java eğitimi ve el kitabı The Professional's Library'dir. Ve tabii ki Oracle belgeleri.
  3. Java programlama sorunlarının en iyi koleksiyonu - CodeGym. Eh, kitaplar arasında - “Java. Programlama Yöntemleri ".
  4. En iyi zamansız klasikler - Java Felsefesi ve Etkili Java. Derin bir anlayış için her şeyi gerçekten anlamaya karar vermiş herkesin okuması gereken bir kitap. Ancak bunları yavaş yavaş ve bir düzenleme ile okumak daha iyidir.
  5. Ek sonuç: bir olasılık var - İngilizce okuyun. Rusça çeviriler genellikle çok zayıftır.

Yazardan: Bu programlama dili, dünyadaki yaklaşık 3 milyar akıllı telefon, 125 milyon televizyon ve her bir Blu-ray oynatıcı tarafından kullanılmaktadır. Bu dil, yazılım geliştiricilerin derecelendirmelerinde düzenli olarak ödüller alı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" (WORA - "bir kez yaz, her yerde çalıştır") ilkesine karşılık gelen kesinlikle herhangi bir cihazda çalışır. Kim tahmin etti, ellerini kaldır! Tabii ki, bu Java dilidir. Ve bugün size tüm kartları açıklayacağım ve nasıl sıfırdan bir Java programcısı olunacağına dair tüm gerçeği anlatacağım! Rahatına bak!

Java hakkında birkaç gerçek

Sizi uzun teorik vaazlarla yormamak için Java ile ilgili bazı bilgileri bir liste halinde grupladım, okuduktan sonra ne tür bir dil olduğu ve programlamanın vahşi doğasındaki rolünün ne olduğu hakkında fikir edineceksiniz:

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

dilin resmi yayın tarihi 23 Mayıs 1995'tir. Başlangıçta, interaktif kablolu televizyon için tasarlandı, ancak "birlikte büyümedi". Java'nın mucidi, 2010 yılında Oracle tarafından satın alınan Sun Microsystems;

birçok kişi Java ve JavaScript'i karıştırır. Pratik yapmak istiyorsanız (web siteleri, web uygulamaları), ikinci seçeneği seçin. Java arka uçtur, yani uygulamaların doldurulmasının geliştirilmesidir;

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, yaklaşık 10 bilgisayardan 9'unda bu JVM kurulu;

Dil, adını kahve markasından almıştır, bu nedenle resmi amblemde ilham verici bir fincan tasvir edilmiştir.

Hala burada mısın yoksa kendine bir fincan aromalı kahve yapmak için mi koştun? O halde nasıl Java programcısı olunur konusuna devam edelim.

Yazılım ortamını yükleme

İşin garibi, bazı kişilerin Java yazılım ortamını yükleme aşamasında sorunları var. Bunu yapmak için geliştirici şirketin resmi web sitesine gitmeniz gerekir - Oracle. Sitenin en üstünde mevcut sürüme bir bağlantı göreceksiniz. Java SE (Standart Sürüm) ve Java Development Kit - bir dizi geliştirme aracına ihtiyacınız var. Farklı işletim sistemleri için farklı dağıtımlar olduğunu lütfen unutmayın.

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

Java geliştirici araç takımı nedir?

Programcı zamanının çoğunu IDE'de (IntelliJ IDEA, Eclipse, WebStorm, NetBeans) geçirir. IDE, entegre bir geliştirme ortamı, özel bir programlama arabirimidir. Sadece kodlamaya yardımcı olmakla kalmaz, aynı zamanda diğer programlama araçlarını kullanmayı da kolaylaştırır. Bazıları sıfırdan bir Java programcısı olmak isteyenlere ilk programlarını normal bir not defteri veya Notepad ++ ile yazmalarını tavsiye ediyor.

Belki de temel programlar bir editörde yazılmaya değerdir. Ancak gelecekte IDE'yi kullanmanızı şiddetle tavsiye ediyorum. Kod tamamlama, sözdizimi kontrolü, yöntem tanımına atlama ve diğer birçok özelliğe sahiptir. Ve akıllı istemler, fiziksel olarak imkansız olan tüm fonksiyon adlarını ve parametrelerini hatırlama zahmetinden sizi kurtarır.

Bir ekipte çalışırken, aynı anda birkaç kişi bir program üzerinde çalışırken, sürüm kontrol sistemini (Perforce, Git, Subversion, vb.) kullanmak zorunludur. Ancak sürüm kontrol sistemleri tek başına çalışırken oldukça kullanışlıdır.

Java öğrenmek için örnek bir algoritma

Java dilinin temellerini öğrenmek. İlk adım, mantıksal düşünme becerilerinizi geliştirmek ve bir programlama dilinin sözdiziminin temel kavramlarını öğrenmektir. Bir kitap, makale veya eğitim videosu ile donanmış olarak, girdiye göre farklı davranışlara sahip basit Java nesneleri oluşturmak için bir IDE veya metin düzenleyiciyi nasıl kullanacağınızı öğrenin.

Java dilinin gelişmiş özelliklerinin analizi. Bu adımda, daha karmaşık, uygulamalı uygulamalar oluşturmanıza yardımcı olacak söz dizimini, kitaplıkları ve çerçeveleri öğrenin. İyi bir programcı sadece çeşitli kütüphaneleri nasıl kullanacağını bilmekle kalmaz, aynı zamanda dahili olarak nasıl çalıştıklarını da bilir. Ayrıca I/O işlemleri, kalıtım ve soyutlama, serileştirme, jenerik türler, düzenli ifadeler gibi kavramlar sizin için boş bir ifade olmamalıdır.

JavaScript. Hızlı başlangıç

Web uygulaması oluşturmaya yönelik uygulamalı bir örnekle JavaScript temellerini öğrenin

Programlamanın incelikleri. Hiçbir koşulda belgeleri ve Java programlama jargonunu kapsamlı bir şekilde incelemekten çekinmeyin. Bu aşamada, zaten olgun bir programcıya "mutasyona" geçmeniz gerekir. Programcıların bir araya geldiği forumlarda ve diğer ağ ortamlarında bulduğunuz Java gurularıyla sohbet edin. Onlara kodunuzu gösterin, başkalarına danışın ve tavsiyede bulunun - "karma biriktirin". Hatta bir blog başlatabilir, kendi kodunuzun parçalarını yayınlayabilir ve daha deneyimli programcıların bu konuda neler söylediğini 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ı göstereceğim.
Bu nedenle, herhangi bir metin düzenleyiciyi açın ve şunu yazın:

sınıf HelloWorld (genel statik geçersiz ana (String argümanları) (System.out.println ("Merhaba Dünya!");))

sınıf MerhabaDünya (

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ı yükleyene kadar cmd komut satırını kullanarak, Başlat menüsünden çağırarak derleyeceğiz. Açılan pencerede cmd yazın ve Enter'a basın.

HelloWorld.java'yı C sürücüsündeki Proga 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.

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

1. Çevrimiçi eğitim

Sanırım herkes en az bir kere bu yazardan dersler almıştır. Ç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 (ayrıca Eclipse bilgisi her yerde gereklidir). Çalma listeleri Giriş, Java Pro, Sıralama Algoritmaları, JSP, Swing, Modeller ve daha fazlasına bölünmüştür.

2. Zhirni Toni

Ayrıca temel bilgileri öğrenmeye odaklanan popüler bir kanal. Programlamaya ek olarak, OOP'nin temellerinin analizine kadar sürecin şematik bir görselleştirmesi de burada sunulmaktadır. İşte ana sınıfa ve konsola ve döngülere çıkışa genel bir bakış. Genel olarak, Java'yı sıfırdan öğrenmek için ihtiyacınız olan her şey. Videolar küçük, her biri 20 dakikaya kadar. Açıklamalar, özlü olmasına rağmen, geniştir, bu nedenle 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ı günlüğü

Kombine hokkabazlık. Hayır, gerçekten: bu kanalda pek çok şey toplanıyor. Programlamanın temelleri, HTML, CSS, Python, Git hakkında dersler bulabilirsiniz. Adobe Premiere'de bile video düzenleme. Yani, erkeklerin deneyimi muazzam. Ama biz Java hakkında konuşacağız. Burada sevgili IntelliJ IDEA'mızın tümü (elbette pek çoğu) ile çalıştığımız gösteriliyor. Hatta başlangıç ​​seviyesindeyseniz veya IntelliJ ile hiç çalışmadıysanız faydalı olan IDE kurulumunu bile gösterirler. Bu durumda, derslerin süresi, konunun karmaşıklığına bağlı olarak farklıdır. Malzeme beslemesi hafif ama sağlamdır.

4. kötü inek

Buradaki derslerin seviyelere ayrılmış olması harika: Yeni başlayanlar, orta seviye, JavaFX ve "Java Programları Yazma" için Java eğitimi var. Ama hayır, programları sadece orada yazmanız gerekecek: görselleştirilmiş kodlamalı açıklamalar her yerde. Sadece son bölüm daha ayrıntılı, programı sıfırdan hazırlamak için tasarlandı. Deneyiminiz olsa bile çalma listelerini gözetlemek istediğiniz acemi javistler için yeri doldurulamaz bir yardımcı kanal.

İngilizce Youtube kanalları

5. Derek muzları

Bu kanal ile Java öğrenmek zor olmasa da yazar sadece Java ile sınırlı değildir. Burada toplanan birçok destekleyici malzeme var. Örneğin, Java'dan sonra Android'e "akmak" istiyorsanız - sorun yok, çünkü kanalda ilgili video eğitimleri var. Hem algoritmalar hem de Java öğreticileri sunulmaktadır. Videolar, hem dilin hem de içindeki programların çalışma düzenini kısa ve en erişilebilir şekilde açıklayan sunumlarla sağlanır. Yazar ayrıca Eclipse kullanıyor.

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

Ve ancak şimdi derslerle kanala gittik. Evet, bazen sadece ders materyaline ihtiyacınız vardır - bir tahta, bir işaretleyici ile, böylece her şey siyah beyaz olur. Birçokları için bilginin bu şekilde daha iyi emildiği doğrudur. Öğretim görevlisi konuyu anlıyor ve bu, kendinden emin açıklamalarından açıkça görülüyor. Materyallerin çok iyi sunumu ve gerçekten çok sayıda ders, izledikten sonra sadece Java öğrenmekle kalmaz, aynı zamanda geleceğe tamamen hazırlanabilirsiniz. Her ders yaklaşık bir saatinizi alacaktır.

7. Java Beyinleri

Java Brains Trainer, öğrettiği konularda mükemmel bir öğretmen ve teknik uzmandır. Uzun süredir yazılım geliştiricisi olduğu için her anlamda doğru içeriği alacağınızdan emin olabilirsiniz. Bazen yazar yollardan birini gösterir ve ardından aynısını, ancak daha iyisini, daha temizini yapmak için kodu nasıl değiştirebileceğinizi açıklar. Spring ve Hibernate gibi popüler çerçevelerin analizinin yanı sıra Java Enterprise Edition da dahil olmak üzere birçok oynatma listesi vardır.

8. Deege U

Bu kanal size bunun ne olduğunu, Github'da nasıl bir havuz oluşturulacağını, mikro hizmetleri, öğreticileri vb. anlatacak. Genel olarak, hiçbir süpernova yoktur, ancak anlar her yerde ele alınmayan gerçekten ilginç konulara değindiği için bu kanal öncekilere mükemmel bir ek olacaktır. Örneğin Java EE Uygulama Sunucusu Wildfly. Hem acemi javistler hem de daha deneyimli geliştiriciler için iyi bir cankurtaran.

Seçimimizi kurşun kalemle 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!