<< >>
Массивы
Массив — совокупность переменных с общим именем, но разными индексами. Объявление массива:
<Тип>[] <Имя> = new <тип> [<кол-во элементов>];
Например int[] a = new int [5];
Автоматическое объявление по набору значений:
<Тип>[] <Имя> = {<Знач 0>, <Знач 1>, <...>}
Внимание:
Индексы в java начинаются с 0, те у нас есть доступ к a[0-4]
При работе с массивом очень удобно использовать цикл for. Специально для «прохода» по массиву создана специальная форма цикла for:
for (<тип> <имя переменной>: <имя массива>) {
}
На каждой итерации цикла в переменную копируется значение из массива.
Внимание:
При изменении значения переменной не меняется значение ячейки массива. Данный цикл лучше реализован в C# (foreach)
В общем приведу коротенький пример эхо-программки:
import java.util.Scanner;
public class Tutorial {
public static void main(String[] args) {
int[] a = new int[5];
Scanner scan = new Scanner(System.in);
for (int i = ; i < 5; i++) {
a[i] = scan.nextInt();
}
System.out.println();
for (int i: a) {
System.out.println(i);
}
}
}
Как вы уже видели, в метод main приходит как аргумент массив типа String args. Это — аргументы с которыми запускается наша программа (<адрес программы> <аргумент>). В подобных массивах (которые мы получаем, не зная количества элементов) полезно использовать метод, встроенный в любой массив — .length (a.length), он (КО) возвращает количество элементов массива (если тыкнуться в несуществующую часть массива то будет аварийный вылет с ошибкой).
Методы, связанные со строками
Посмотрите: все аргументы, посылаемые в нашу программу считаются строками, но ведь это быть и не так! Например если мы делаем консольную утилиту сложения, то в нее как аргументы посылаются 2 числа (типа double), однако, если написать конструкцию типа System.out.print(args[0]+args[1]); то при аргументах 1 2 мы получим 12.
Но выход из этой ситуации есть — метод parse… в классах, представляющих собой типы переменных: Double.parseDouble(String), Integer.parseInt(String), Boolean.parseBoolean(String) и тп.
Внимание:
Эти классы пишутся с большой буквы. Также класс, представляющий int называется Integer.
Вот код этой программы:
public class Tutorial {
public static void main(String[] args) {
if (args.length == 2) {
System.out.print(Double.parseDouble(args[]) + Double.parseDouble(args[1]));
} else {
System.out.print(«Error»);
}
}
}
Особенность строк в java — это не массив символов (char), а сложная ссылочная структура, поэтому нельзя сравнивать строки как все остальные переменные (str1 == str2). Строки должны сравниваться методом str1.equals(str2) или str1.equalsIgnoreCase(str2) (второй сравнивает строки без различия в прописных/строчных буквах)
Остальные методы вполне могут быть найдены просмотром списка методов строки, тк они вполне понятно названы. Хочу остановиться только над одним метадом (мне он очень помог в моих плагинах для bukkit) — .split(<разделитель>).
Пример работы: String[] str = «1 2 3».split(" ");
str: {«1», «2», «3»}
Лучшие комментарии
идиотскаястранная.Яркий пример-тутор по c#(автора не помню, скрылся в блогах)-там он(автоор) ставит целью поднять левел парней с какого то сайта, что бы они писали игру на его движке о_О. При этом пишет про правила обьявления переменных и Console.WriteLine, что намекает-повышать левел парни будут ооочень долго. (именно поэтому я прошу больше pro-версий-сложные аспекты языка таким образом иногда даже легче изучать)
природе я узнал, что белки у глаз
БЕЛЫЕ!
”
Исправь предложение…