C, PHP, VB, .NET

Дневникът на Филип Петров


Архив за септември, 2009

* Запалени коли Хюндай пред блока

Публикувано на 30 септември 2009 в раздел Общи работи.

Вчера вечерта както винаги си пийвах бири, хапвах и гледах безсмислени предавания по телевизията. Приятелката беше уморена от работа и беше заспала на дивана. Кучето както обикновено просеше храна и от време на време ръмжеше на вратата когато чуе някой да слиза по стълбите. Нищо странно.

Точно си пишех с приятел в ICQ на компютъра, когато приятелката ми се събуди и каза:

– Отиди да видиш защо кучето лае, чух някакво силно тропане по стълбите!

Прочети още…

.

 


* Берра и Ицо

Публикувано на 30 септември 2009 в раздел Кучета.

Преди три дни се видяхме и братовчед ми Ицо в парка. Заедно разходихме Берра:

Ицо и Берра

Той по принцип се страхува от нея, но както виждате лека полека „ледът се разчупва“: Прочети още…

.

 


* Регулярни изрази

Публикувано на 27 септември 2009 в раздел ПИК3 Java.

Вече се запознахме с методите indexOf() и lastIndexOf() за String и StringBuffer, чието действие беше да връщат индекс на началото на търсена дума вътре в текст. Чрез допълнителен параметър можеше да се търси второ, трето и т.н. срещане на тази дума. Какво да правим обаче ако ние не знаем точната дума, която търсим? Ако например имаме подаден текст, от който трябва да извадим e-mail адрес, то ние няма как да използваме споменатите два метода, защото ние не знаем самия низ за търсене (нали всъщност го търсим). Именно за такива ситуации се използват регулярните изрази (regular expressions). Прочети още…

.

 


* Динамични низове (StringBuffer, StringBuilder и StringJoiner)

Публикувано на 27 септември 2009 в раздел ПИК3 Java.

Недостатъците породени от непроменимост на низовете от тип String, за които споменахме в миналата статия, все пак могат да бъдат преодоляни. За целта съществува обект наречен StringBuffer. Обекти от този тип са вече истински динамични масиви от символи и поради тази причина можем директно да ги променяме без да има нужда от копиране на целия обект в нов буфер.

За добавяне на низ в края на низ създаден със StringBuffer се използва метод append(): Прочети още…

.

 


* Обект String

Публикувано на 26 септември 2009 в раздел ПИК3 Java.

Досега нееднократно използвахме символни низове. Сега обаче ще се спрем по-подробно на тях. Символните низове (String) съдържат поредица от символи от unicode таблицата. От самото начало трябва специално да отбележим, че символните низове се записват в паметта heap, т.е. те са обекти (именно затова първата буква на String е главна – това е конвенция за различаване на обекти). Можете да си представите един String като масив, в който всеки елемент е unicode символ. За разлика от масивите обаче, към определен елемент (буква) от String трябва да се обръщаме чрез метод: Прочети още…

.

 


* Връзката между наука и практика

Публикувано на 26 септември 2009 в раздел Методика.

Нека се върнем малко назад обратно върху основния въпрос на методиката на обучение – „защо да учим“. Науката е създадена, за да прави абстрактни модели на практически проблеми с цел да съхранява универсални решения, да намира нови решения на съществуващи проблеми и да намира решения на нови проблеми. Прочети още…

.

 


* Хвърляне на изключения

Публикувано на 24 септември 2009 в раздел ПИК3 Java.

Понякога е удачно да пишем методи, които вместо да обработват сами изключенията на операторите вътре в тях, да прехвърлят изключенията на извикващите ги методи. Това е нещо като „прехвърляне на отговорността“. Такава функционалност се получава чрез оператора „throw“. Ето един тривиален пример – метод, който отпечатва съдържанието на файл на екрана: Прочети още…

.

 


* Методи

Публикувано на 23 септември 2009 в раздел ПИК3 Java.

В Java понятията функции и процедури се обединяват под едно общо наименование – „методи“. Спрямо езиците C и C++ тук няма особени изненади – методите приемат като входни параметри данни, обработват ги и връщат резултат от конкретен тип. Методите всъщност са основното средство за логическо разделение на програмния код на отделни модули. По този начин се получава и ефективно „повторно използване на код“, както и доста по-опростена поддръжка на програмния код, чрез нива на абстракция.

Вече сме се запознали с главния метод за всяка програма – методът main. Засега ще разгледаме само публични (public) и статични (static) методи, какъвто именно е и main. Когато навлезем в територията на класовете ще се запознаем и с други видове методи.

Декларацията на метод следва следната схема: Прочети още…

.

 


* Приятели?

Публикувано на 23 септември 2009 в раздел Кучета.

Сивушка е едно от много малкото бездомни кучета в квартал Лозенец. В случая я срещнахме в Борисова Градина:

Сивушка

Както виждате е изключително добричка и мила. Берри обаче не е на това мнение – как може да си позволява да си играе със стопанката? Прочети още…

.

 


* Изключения

Публикувано на 22 септември 2009 в раздел ПИК3 Java.

Изключението (exception) е събитие, което не е предвидено за нормалното изпълнение на програмата. По принцип добрият начин на програмиране е ние да се подсигуряваме срещу всякакви грешки, като най-често срещаното делене на нула например. Например ако се опитвате да прочетете файл, който в процеса на изпълнение на програмата бива изтрит от друга програма, то се получава изключение java.io.FileNotFoundException.

Изключенията са подход при обектно ориентираното програмиране. Той се налага тогава, когато „готовите методи“, които използваме стават прекалено голямо количество. Стандартно когато пишем процедурна програма нашите методи връщат или коректен резултат или резултат за грешка. Изключенията ни дават унифициран метод за „прихващане“ на стандартизирани грешки като резултат от извикване на методи. Прочети още…

.