grski
2015-09-20 19:23

Dzień #2 z Javą zmagań;
Się porobiło. Zamieszanie z tym IDE całkiem poważne. Postanowiłem jednak na chwilę obecną dalej cisnąć w zwykłym edytorze tekstu. Jak kurs skończę i za bardziej złożone rzeczy się wezmę, to wtedy się przesiądę. Taka sytuacja.

Typy proste z głowy. Wszędzie widzę 2**n.
Zmienne też z głowy. Natrafiłem jednak na takie, przynajmniej jak dla mnie - nowicjusza, ciekawostki - 'd' + 'd' = int, ale "d" + "d" = string. ( Czy też może raczej ==? ) Wychodzi na to, że na rodzaj cudzysłowu uważać trzeba, bo typ inny zaraz się tworzy, char zamiast stringa, albo na odwrót.
Drugą ciekawostką jest liczenie pozycji znaków w łańcuchach tekstowych od 0. Tak abstrakcyjnie trochę. Serio. Dziwnie tak od 0 liczyć. Zenon z Elei i jego paradoksy by się pewnie ze mną zgodzili. Wszyscy starożytni grecy pewnie też.

Nauczka na dziś: System.out.println od System.out.print różni się tym, że ten pierwszy automatycznie nową linię zaczyna. Wygodne. Niby do zwykłego printa można dodać \n, czyli liczba znaków będzie się zgadzała, ale jakoś println wygodniej pisać jest.

Podczas nauki o operatorach matematycznych i logicznych doznałem szoku. Byłem też w panice. Okazało się, że szanowna nauczycielka od matematyki rację miała i faktycznie znalazłem zastosowanie dla koniunkcji i alternatywy,czyli rzeczy z materiału szkolnego, poza szkołą, egzaminem i hobbystycznym rozwiązywaniem zadań. Przydały mi się te wiadomości. Cud nad Wisłą.

Kolejna rzecz dziwna to niedokładność typów zmiennoprzecinkowych. Niby nic, ale jednak nieścisłości powstać mogą używając ich przy obliczeniach.Ciekawe czy inty o dużych wielkościach ( "długościach" podobnych do niedokładnych floaty ) też się niedokładnie robią. Pewnie nie, ale kiedyś to sprawdzę.

Niby dopiero zaczynam a już mnie zaczął irytować mały ekran i rozdzielczość mojego laptopa. Po odpaleniu przeglądarki, edytora i konsoli gdzieś tam jeszcze z tyłu, wszystkie okna były wielkości orzeszka. Niewygodnie strasznie. Począłem zatem szukać rozwiązania. Takowe też znalazłem. Telewizor zakurzony, nieużywany zupełnie w końcu znalazł godne zastosowanie. Małe przemeblowanie, dwa kable później jest git. Wszystko gra i buczy.

Chyba tyle na dziś. Coraz bardziej zaczyna podobać mi się programowanie i Java.

Lukasz_

@grski: Yoda mistrz dumny z Ciebie byłby.

spartanPAGE

@grski: W matematyce też się od 0 najczęściej liczy :P

krzysiek050

@grski: Każdy szanujący się język indeksuje tablice od 0. Matlab i inne indeksujące od 1 uprawiają patologię :)

grski

@krzysiek050: teraz to rozumiem, gugel wyjaśnił, że, o ile się nie mylę, bo po ang czytałem, wynika to z 'pointerów', pamięci i 'offsetów'. O co dokładniej chodzi dowiem się pewnie dopiero później.

grski

@spartanPAGE: Dziękuję za pomoc. Co prawda rzeczy związane z pamięcią nie są dla mnie do końca jasne, to tu akurat zauważyć można dość łatwo, że adresy kolejnych indexów różnią się o 4, czyli rozmiar użytego typu, czyli n-ty element tablicy jest n-1 elementem (offset?)od pierwszego elementu, który to jest z kolei zero elementów od siebie, czyli stąd to zero. Takie buty. Dobrze mniej więcej rozumuję?

spartanPAGE

@grski: Dokładnie; Z tego bezpośrednio wynika, że chcąc odwoływać się do pierwszego elementu przez tab[i = 1], należałoby wykonać dodatkową operację, tj -1 w *tab(i-1). Dlatego spotkasz się z indeksowaniem od zera w większości języków, w których tablica jest jednolitym bloczkiem w pamięci.

pingwindyktator

@grski: dobrze, że od C++ nie zacząłeś, tam to dopiero miałbyś zagwozdki.

AreQrm

@grski: Jakie możesz mieć z IDE problemy? Instalujesz i używasz :) Chyba, że na linuxie, wtedy musisz poczytać 500 stron żeby zrobić cokolwiek i dowiedzieć się, że akurat Twoja wersja czegoś nie wspiera bo coś tam ;-)

grski

@AreQrm: problem polegał na tym, że planowałem go na razie nie używać, później zasugerowano mi inaczej, później znowu jeszcze co innego i dylemat powstał co ostatecznie zrobić

AreQrm

@grski: Używaj. Napisałem Ci i nie tylko ja, dlaczego warto. Wiele Twoich problemów wynika z nieużywania dobrego IDE. Możesz zacząć np od InteliJ https://www.jetbrains.com/idea/download/ w wersji Community lub z Eclipsa czy Netbeansa. InteliJ ma największy respect wśród Javovwców, za pewne słusznie :)

Wizzie

@AreQrm: na linuxie nie musiałem nawet instalować IntelliJ, ściągasz i używasz