Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по Java

  Все выпуски  

Уроки по Java


Информационный Канал Subscribe.Ru


Основы Java. Уроки с сайта http://progs.biz

Рассылка №2

Основы Java. Урок 4. Числовые типы данных.
Основы Java. Урок 5. Логический тип.

Полные версии уроков (с картинками) можно найти по адресам
Урок 4. Числовые типы данных.
Урок 5. Логический тип.

Введение в Java. Урок 4. Числовые типы данных

Числовые типы данных Java перечислены в следующей таблице:

Тип Описание Количество байтов
int целый 4
float вещественный 4
char символьный 2
short короткое целое 2
long длинное целое 8
double длинное вещественное 8
byte байт 1

Объвление переменных происходит следующим образом:

int a; //Переменная a целого типа
float f1, f2=55.88; //Две переменные вещественного типа

В Java переменным сразу при объявлении задаются стандартные значения (ноль для числовых переменых, false для логических). Так, в приведенном примере в f1 будет 0, а в f2 - 55.88.

Для переменных числового типа определены стандартные арифметические операции: +, -, *, /. Назначение их понятно - все, как в других языках. Как и в других C-подобных языках, есть остаток от деления и операции уделичения/уменьшения на один (%, ++, --). Вот пример:

static int k=21, w=10;
 ...
int z=k%w;
System.out.println(z); //z=1
k++;
System.out.println(k); //k=22
w--;
System.out.println(w); //w=9

Операторы ++ и -- можно писать как после, так и до переменной. Чаще всего это все равно, но иногда порядок важен. Вот пример:

static int k=10, w=10;
 ...
int z=k++;
System.out.println(z); //z=10, k=11
z=++n;
System.out.println(z); //z=11, n=11

Т. е. у двух форм оператора ++ (это относится и к --) разное возвращаемое значение - в одном случае первоначальное число, а в другом - измененное.

Наверх

Введение в Java. Урок 5. Логический тип

Переменные логического типа могут принимать значение или true (истина), или false (ложь). Сразу обратите внимание, что нельзя вместо true и false писать нулевое и ненулевое значения (как, например, это можно делать в C/C++). Такое замены в Java нет.

Для переменных логического типа существуют операции & (и), && (и), | (или), || (или), ! (не), ^ (исключающее или). Обратите внимание, что для "и" и "или" существует два варианта. Об их различии чуть ниже. Пока же приведем таблицы истинности:

Оператор Описание Результат
&& или & и Результат true только тогда, когда оба операнда равны true
|| или | или Результат false только тогда, когда оба операнда равны false
^ исключающее или Результат true только тогда, когда ровно один из операндов равен true
! не Изменяет значение на противоположное (true на false, false на true)
== логическое равно Применяется к переменым любого типа. Результат true, если оба операнда равны true, false - в противном случае.

Теперь о различии между && и & (|| и |). Операторы & и | - это обычные логические операторы, && и || - сокращенные. Вот конкретный пример для && и &:

        ...
        k=20;
        if (k<0 & k/0>1) //деление на 0 и возникнет ошибка
        {
            System.out.println(k);
        }
        if (k<0 && k/0>1) //деление на 0, но ошибки нет
        {
            System.out.println(k);
        }
        ...

Т. е. в первом случае (с одним &) проверяются все части логического выражения, а во втором (с двумя &&) правая часть не проверяется (так как левая равна false).

Вот пример и для "или":

        ...
        k=20;
        if (k>0 | k/0>1) //деление на 0 и возникнет ошибка
        {
            System.out.println(k); //z=11, n=11
        }
        if (k>>0 || k/0>>1) //деление на 0, но ошибки нет
        {
            System.out.println(k); //z=11, n=11
        }
        ...

Здесь во втором случае так как левая часть равна true, то правая часть вообще проверяться не будет (и ошибка, соответственно не возникнет).

Также обратите внимание, что в качестве логического равно (т. е. когда мы отвечаем на вопрос, верно ли что что-то равно чему-то) используется двойное равно (==). Одинарное же равно используется для присваивания:

if(a==b){ //Если a равно b
{
    a=c; //В a записываем c
}
Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное