КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Некоторые особенности логических операторов
Конкатенация. Беззнаковый сдвиг. Операторы. Подавляющее большинство операторов в языках C и Java полностью совпадают, однако некоторые операторы в Java имеют специальное назначение. Если в языке C результат действия оператора << строго определён, то этого нельзя сказать об операторе >>. В одних версиях языка C операция >> трактуется как беззнаковый сдвиг, в других — как сдвиг числа со знаком. В первом случае при сдвиге вправо старшие разряды заполняются нулями, во втором случае в них записывается значение знакового разряда. В Java данная неоднозначность устранена. При выполнении оператора >> учитывается знак числа. Для обозначения беззнакового сдвига вправо введен новый оператор >>>. Он выполняет сдвиг вправо на указанное число разрядов; освободившиеся старшие разряды заполняются нулями. byte i = -2; i = i >>> 3; Кроме оператора >>>, в Java определён оператор >>>=. Так, команду сдвига, приведенную в предыдущем примере, можно записать следующим образом: i >>>= 3; В языке Java широко используются строковые значения. Не удивительно, что для упрощения работы со строками в Java поддерживается операция конкатенации. Для обозначения данной операции используется оператор +. Как же отличить конкатенацию от обычного сложения? Если операция + выполняется над числами, данный оператор обозначает сложение. Если же оператором + связаны два объекта String, это означает, что должна быть выполнена конкатенация строк. Оператор & выполняет побитовое логическое умножение, а оператор && — ту же операцию над логическими значениями. Благодаря тому что в языке Java был реализован тип данных boolean, появилась возможность расширить набор логических операций. В логических выражениях может быть использован как односимвольный (&), так и двухсимвольный оператор умножения (&&). Оператор & реализует вычисления по полной схеме, а && — по сокращённой схеме. Рассмотрим простой пример. if ((a!= 0) && (b++ < 10)) { … } Очевидно, что, если a равно 0 и всё выражение равно false, вычислять второе логическое значение не имеет смысла. Однако в этом случае инкрементирование переменной b не будет выполнено. В языке C работа программ, включающих подобные выражения, зависела от реализации компилятора. В Java появилась возможность исключить неоднозначность. Оператор && указывает на то, что вычисление значения логического выражения может производиться по сокращённой схеме. В нашем примере это означает, что если переменная a равна 0, то второе выражение вычисляться не будет. При использовании оператора & вычисления выполняются по полной схеме. В этом случае выражение, находящееся справа от оператора &, вычисляется независимо от значения переменной a. Очевидно, что все вышесказанное справедливо не только для &, но и для | и других логических операторов. Классы. Функции, входящие в состав класса (в C++ их принято называть функциями-членами), в языке Java называются методами. Переменные, входящие в состав класса, называют свойствами, или же более привычным термином переменные. В языке Java дочерний класс принято называть подклассом, я родительский класс — суперклассом.
Говоря о наследовании, следует упомянуть одну важную деталь, отличающую Java от C: в языке Java для каждого класса существует лишь один непосредственный суперкласс. Если при определении класса суперкласс не указан, считается, что данный класс является подклассом класса Object. Таким образом, класс Object является суперклассом для всех классов, используемых в любой Java-программе. Объявление класса. Основная часть исходного кода программы на Java представляет собой объявление класса. В теле класса определяются переменные и методы, обеспечивающие работу программы. Формат выражения, используемого для объявления класса, приведен ниже. [модификаторы] class имя_класса [extends имя_суперкласса] [implements имя_интерфейса] { тело_класса } Рассмотрим подробнее составные части данного выражения. Единственные компоненты, которые обязательно должны присутствовать в объявлении класса, — это ключевое слово class и имя класса. По соглашениям Java, имя класса должно начинаться с прописной буквы. Со строчных букв начинаются имена методов и переменных. Ключевому слову class может предшествовать один или несколько модификаторов. Допустимые значения модификаторов перечислены ниже · abstract — определяет абстрактный класс, т. е. класс, экземпляр которого не может быть создан. Чтобы обеспечить доступ к переменным и методам, содержащимся в таком классе, надо объявить его подкласс, определить недостающие методы и создать экземпляр подкласса. · final — указывает на то, что подкласс объявляемого класса не может быть создан. Разрабатывая свои первые программы на языке Java, вы вряд ли будете использовать данный модификатор, однако знать о его существовании необходимо. Очевидно, что в объявлении класса не могут одновременно присутствовать модификаторы abstract и final. · public — сообщает, что объявляемый класс должен быть доступен за пределами текущего пакета. Следует заметить, что в Java действует следующее правило: имя файла, содержащего public-класс, должно совпадать с именем этого класса. Другими словами, выражение public class MyApplet может присутствовать лишь в файле с именем MyApplet.java. За именем класса может следовать ключевое слово extends, сопровождаемое именем суперкласса, из которого порождается объявляемый класс. Если ключевое слово extends и имя суперкласса отсутствуют, это означает, что суперклассом объявляемого класса является класс Object. И, наконец, последний компонент объявления класса — ключевое слово implements за которым следует имя интерфейса.
Дата добавления: 2014-01-04; Просмотров: 299; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |