System.out.println(m[1][0] +" "+ m[l][l] +" "+ m[l][2] +" "+ m[l][3]);
System.out.println(m[2][0] +" "+ m[2][l] +" "+ m[2][2] +" "+ m[2][3]);
System.out.println(m[3][0] +" "+ m[3][l] +" "+ m[3][2] +" "+ m[3][3]);
}
}
Запустив эту программу, вы получите следующий результат:
1000
0100
0010
0001
Обратите внимание — если вы хотите, чтобы значение элемента было нулевым, вам не нужно его инициализировать, это делается автоматически. Для задания начальных значений массивов существует специальная форма инициализатора, пригодная и в многомерном случае. В про1рамме, приведенной ниже, создается матрица, каждый элемент которой содержит произведение номера строки на номер столбца. Обратите внимание на тот факт, что внутри инициализатора массива можно использовать не только литералы, но и выражения.
class AutoMatrix {
public static void main(String args[]) {
double m[][]={
{ 0*0,1*0,2*0,3*0 }, { 0*1,1*1,2*1,3*1 }, { 0*2.1*2,2*2,3*2 },
{0*3,1*3.2*3,3*3 } };
System.out.println(m[0][0] +" "+ m[0][l] +" "+ m[0][2] +" "+ m[0][3]);
System.out.println(m[ 1 ][0] +" "+m[l][l] +" "+m[l][2] +" "+m[l][3]);
System.out.println(m[2][0] +" "+m[2][l] +" "+m[2][2] +" "+ m[2][3]);
System.out.println(m[3][0] +" "+m[3][l] +" "+ m[3][2] +" "+ m[3][3]);
}
}
Запустив эту программу, вы получите следующий результат:
0000
0123
0246
0369
4. ОПЕРАТОРЫ
Операторы в языке Java — это специальные символы, которые сообщают транслятору о том, что вы хотите выполнить операцию с некоторыми операндами. Типы операций указываются с помощью операторов, а операнды - это переменные, выражения или литералы. Некоторые операторы требуют одного операнда, их называют унарными. Одни операторы ставятся перед операндами и называются префиксными, другие — после, их называют постфиксными операторами. Большинство же операторов ставят между двумя операндами, такие операторы называются инфиксными бинарными операторами. Существует тернарный оператор, работающий с тремя операндами. В Java имеется 44 встроенных оператора. Их можно разбить на 4 класса — арифметические, битовые, операторы сравнения и логические.
Арифметические операторы используются для вычислений так же как в алгебре (см. таблицу со сводкой арифметических операторов ниже). Допустимые операнды должны иметь числовые типы. Например, использовать эти операторы для работы с логическими типами нельзя, а для работы с типом char можно, поскольку в Java тип char — это подмножество типа int.
Таблица 4.1. Таблица арифметических операторов
№ | Оператор | Результат | Оператор | Результат |
1 | + | Сложение | + = | Сложение с присваиванием |
2 | - | Вычитание (также унарный минус) | - = | Вычитание с присваиванием |
3 | * | Умножение | * = | Умножение с присваиванием |
4 | / | Деление | / = | Деление с присваиванием |
5 | % | Деление по модулю | % = | Деление по модулю с присваиванием |
6 | ++ | Инкремент | -- | Декремент |
Ниже в качестве примера, приведена простая программа, демонстрирующая использование операторов. Обратите внимание на то, что операторы работают как с целыми литералами, так и с переменными.
class BasicMath {
public static void int a = 1 + 1;
int b = a* 3;
main(String args[]) {
int с = b / 4;
int d = b - a;
int e = -d;
System.out.print("a = " + a);
System.out.print("b = " + b);
System.out.print("c = " + c);
System.out.print("d = " + d);
System.out.println("e =” + e);
}
}
Исполнив эту программу, вы должны получить приведенный ниже результат:
a = 2
b = 6
c = 1
d = 4
e = -4
Оператор деления по модулю - оператор mod, обозначается символом %. Этот оператор возвращает остаток от деления первого операнда на второй. Функция mod в Java работает не только с целыми, но и с вещественными типами. Приведенная ниже программа иллюстрирует работу этого оператора.