1. sayfa
Yahu bende 100 defa çözdüm ve Java BLM 103 buldum hoca cevabın BİLGİSAYAR PROGRALAMA 1 103 olduğunu söylüyor .Yarın gidip itirazımı ediceğim |
Bende Java BLM 103 buldum defalarca okudum. Bencede bi itiraz edin |
Itiraz edicem sonucu yazarim |
Boşuna itiraz etmeyin hocanız doğru söylemiş. u1 ve u2 referansları başta farklı nesneleri gösterirken u2=u1 satırından sonra ikisi de aynı yerleri gösteriyor. u2'nin baştaki nesnesi hafızada başıboş kaldı, artık u2 veya u1'i kullanmamızın bir farkı yok ikisi de aynı nesneye referans edilmiş. |
Sonra da gel neden programlamadan kaldın böyle saçma bir ders olamaz 2. Alışım bu |
Aslında soru çok basit. Eğer hocanız doğru düzgün anlatmamışsa ve suçun büyüğü sizde değilse bir şey diyemem tabii ki. Ama java dilinin en temel şeylerindendir bunlar. Yabancı kaynaklarda bu tür şeyleri detaylıca anlatırlar genelde. |
Bu dersi 2.defa alışım ilk dönemdeki hoca çok kötüydü hiç anlatamıyordu o yuzden programlamadan soğudum şimdiki hoca daha iyi ama derse nasil çalışcağimi bilmiyorum sizce napayim temel şeyleri biliyorum ama zor bi soru gelince kaliyorum sizce napayim |
Hocam u2 = u1 de olay bitiyor zaten. Burada iki nesneyi birbirine bağlıyor,yani u1 de bir şey değişirse u2 de aynısı olur,u2 de bir şey değişse u1 de aynısı olur. Kısacası tek nesneye dönüşüyor,yani u2 deki Stringe " A " atasan u1 deki String de " A " olur,tersi de doğrudur.Kısacası nesneleri birbirine bağlamış hocanız. Daha da kısası; u2 = u1 denildiği zaman,iki Class daki tüm değişkenler bellekte aynı yeri gösterir. |
Hocam anlamadığım yer şurası: u1.isim="Java"; u1=u2 ; // YAni u2 deki ifadeyi u1'e ata yani u1 de u2 de şu an aynı u2.isim="Bilgisayar Programlama 1" ; // Şimdi geldik u2'yi B.P.1 yaptık ama u1 nasıl oluyor da B.P.1 oluyor u1'in sabit kalması gerekmez mi sonuçta yukarda u2 yi u1 e atadık u1 i u2'ye değil |
O zaman şimdi şunu mu anlıyorum eğer iki tane değişken başta veya önde olması farketmeksizin(yani u1=u2,u2=u1 gbi) birbirine eşitlenirse ve bu atamadan sonra u1 veya u2 değiştirilirse değiştirilmeyen de değişenle aynı mı olucak ??? |
Javada sınıf, nesne, referans terimlerinin ne olduklarını iyice araştırın. Benim yukarıda yaptığım açıklamayı anlamanız için bunları iyi bilmeniz gerekli. Ders için bir şey diyemeyeceğim, benim sadece geçmiş sınav soru-cevaplarını ezberleyip hiç çalışmadığım bir sınavdan 81 almışlığım var. Her hocaya göre değişir. Hocanızın derste yaptığı örneklerin benzerlerini internette araştırın, kendiniz de bir şeyler kodlayıp deneyin, yavaş yavaş ilerlersiniz. http://introcs.cs.princeton.edu/java/home/ bu site de gerçekten iyi bir kaynak, güzel algoritma soruları da var. Ama ders açısından çok yavaş kalabilirsiniz, sadece gelişmek için bakın siteye. |
Üstadım şimdi şöyle düşünmek gerekiyor. 1 adet bilyeyi sol elime aldım,sol elime aldığım bilyenin aynısını klonlayıp sağ elime aldım,yani sol ve sağ elimde iki tane bilye var. Bu iki bilyeyi bir ip ile bağladım. Sağ elimdeki bilyeyi 5cm sağa çektiğimde,sol elimdeki bilye de 5cm sağa gidecek,çünkü aynı ip ile bağladım. Sol elimdeki bilyeyi 5cm sole çektiğimde,sağ elimdeki bilye de 5cm sola gidecek,çünkü aynı ip ile bağladım. Yani u1=u2 ile u2 = u1 nesneleri bağlarken aynı anlama gelir. int a = 5; int b = 0; ben a = b; dediğim zaman b nin değeri a ya atanır, a ve b 0 olur,çünkü bunlar veri tutan değişkenler. Nesneler ile değişkenler farklıdır,nesneler değişkenler gibi atanamaz. Nesneler bellekte bir alanı gösterirler. Hocanız aynı nesneden iki tane nesne üretmiş,ve sonra birbirine eşitlemiş.Nesneler aynı,değişkenler de aynı,o zaman her hangi birinde olan değişiklik diğerini de etkiler. BilgisayarKavramlari adli kanalda,Şadi Evren şeker hocamızın çektiği Java OOP dersleri var,kendisi akademisyen olduğu için karşıdakine anlattığı bilgiyi geçirmeyi çok iyi biliyor,tavsiye ederimhttps://www.youtube.com/watch?v=H_SKv07-648&list=PLh9ECzBB8tJPFTpuHKhYayis0H9pS6_rI |
Şuan evde oturmuş bilgisayar başında alıştırma çözmeye çalışıyorum ancak çözücek örnek bulamıyorum mesela diziyi tersten yazdırma,iki boyutlu dizideki elemanları toplamını veren program,iki boyutlu dizideki satır toplamı,iki boyutlu dizidekki en büyük eleman ve indisi,iki boyutlu dizi elemanlarının ortalamasını veren program işte ne bileyim 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 şeklinde çıktı veren programı yazma bu ve bu tarz şeyleri yapıyorum ama daha nasıl farklı örnekler çözüceğimi bilmiyorum yani sizce for,if ,dizi,metodlar gibi konulardan daha farklı nasıl örnekler çıkar anlamış değilim, bunları yapıyorum ama adam sınavda geliyor biraz daha karmaşık bir soru çıkartıyor kalıyorum.Farklı örnekleri nereden bulabilirim veya kendi kafamdan nasıl ? |
İf,else if,for,while,diziler(dizilerde indis kavramları),matrisler,tanimlariyla beraber çok iyi bilinmeli ilk önce. Sınavlarda istediğiniz başarıyı yakalayamadiginizi soylemissiniz,bunun sebebi pratik yapmamaniz,yazılım matematik,fizik gibidir.Pratik yapmadikça unutulur. Mesela şu tarz örnekler yapabilirsiniz. Yildizlar ile eşkenar üçgen cizdiren program. 5x5 tipinde bir matris tanimlayin,ve bu matrislere 1 den 9 a kadar rastgele rakam atayin.Matrisin sol üst köşesinden,sağ alt köşesine kadar olan sayilari küçükten büyüğe sıralayıp,yine sıralanan sayıları aynı matrisin sol üstünden sağ alt kosesine doğru yazdirin Yani şöyle olacak 18743 87187 72049 54288 19863 08743 81187 72349 54278 19868 8b36h42a1c984d7 ifadesinde,ilk önce harfleri sıralayın,ardından sayıları sıralayın. Ve sonra bulduğunuz bu iki ifadeyi birleştirin. Sonucu şöyle olacak, abcdh1234467889 AHHH4742888BBBBBCVCCC7777 İfadesini sıkıştırınız,sonucu şöyle çıkacak A3H4742385BCV3C47 |
Referans kavramı C'deki pointerlardan gelir, referans nesnenin veri alanını ram üzerinde saklandığı adresin sayısal değeridir. bu kavramını biliyorsan anlaman basit. Bina ev = new Bina(); Bina okul = new Bina(); ev = 10. adres olsun ramde. okul = 20. adres ev = okul dersen ev = 20 olur. ev üzerinden çağıracağın metodlar veya alan değiştirmeleri de okul üzerinden çağıracakların da 20. adresten itibaren olan referans için değişim yapacaktır. Bu tarz bir kod yazdıysan derleyici ileride ev'in bir daha kullanılmadığı görüyorsa ev'i garbage collector ile boşaltır 10. adreste boşuna ram işgal edilmesine engel olur. ev de okul da binanın adresidir. binanın kendisi değildir. Pointer yani referanstır. Oluşturulan nesnenin adresini gösterir. |
1. sayfa
< Resime gitmek için tıklayın >
sorunun cevabı BİLGİSAYAR PROGRAMLAMA 1 BLM 103 çıkıyo
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.