39
System.out.println(t); }
} //end of main
}//end of class
Что здесь важно помнить? При каждом проходе цикла в
переменной t
последовательно будет храниться значение текущего элемента массива, в
переменную t копируется значение из элемента массива.
Таким
образом получается, что переменная t и переменная sample[0] — это
разные переменные!
Пример:
public class ForEachExample {
public static void main(String[] args) {
int[] sample = new int[5];
System.out.println("
До
foreach");
//
выводим
элементы
в
цикле
foreach -
их
значение
0
for (int t : sample) {
System.out.println(t);
}
for (int t : sample) { //
Думаем
,
что
происходит
инициализация
t= 99; }
System.out.println("
После
foreach");
//
выводим
элементы
в
цикле
foreach -
снова
0
for (int t : sample) {
System.out.println(t);
}}}
Пример сортировки массива:
public class SortArray{
public static void main(String[] args) {
int[] sample = {12, 56, 7, 34, 89, 43, 23, 9};
//
выставляем
признак
"
обмена
"
переменных
в
true,
чтобы
начать
цикл
boolean changed = true;
//
цикл
длится
до
тех
пор
,
пока
при
проверке
массива
ни
одного
обмена
не
произошло
while (changed) {
//
Надеемся
,
что
обмена
данных
не
будет
changed = false;
//
Проходим
по
всему
массиву
40
for (int i = 0; i < sample.length - 1; i++) {
//
Если
впереди
стоящее
число
больше
,
чем
следующее
-
меняем
их
местами
и
выставляем
признак
,
что
был
обмен
if (sample[i] > sample[i + 1]) {
//
Производим
обмен
с
использованием
дополнительной
переменной
int tmp = sample[i];
sample[i + 1] = tmp;
//
Выставляем
признак
обмена
в
true
changed = true;
}}}
//
Выводим
отсортрованный
массив
for (int i = 0; i < sample.length; i++) {
System.out.println(sample[i]);
}}}
Интерактивные программы — это программы,
которые осуществляют
взаимодействие с пользователем, например через консоль.
Для этого программам обычно требуется использование потоков ввода и
вывода. Класс Scanner предоставляет удобные
методы для чтения входных значений
различных типов. Объект Scanner можно настроить, чтобы читать входные данные из
различных
источников, включая значения опечаток пользователей на клавиатуре.
Ввод с клавиатуры представлен объектом System.in. Объект потокового ввода in
имеет множество перегруженных
методов для работы с различными типами данных.
Достарыңызбен бөлісу: