Брюс Эккель - Философия Java3
Здесь есть возможность читать онлайн «Брюс Эккель - Философия Java3» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.
- Название:Философия Java3
- Автор:
- Жанр:
- Год:неизвестен
- ISBN:нет данных
- Рейтинг книги:5 / 5. Голосов: 1
-
Избранное:Добавить в избранное
- Отзывы:
-
Ваша оценка:
- 100
- 1
- 2
- 3
- 4
- 5
Философия Java3: краткое содержание, описание и аннотация
Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Философия Java3»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.
Философия Java3 — читать онлайн бесплатно полную книгу (весь текст) целиком
Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Философия Java3», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.
Интервал:
Закладка:
Оператор «запятая» позволяет определить несколько переменных в цикле for, но все эти переменные должны принадлежать к одному типу:
//. control/CommaOperator.java
public class CommaOperator {
public static void main(String[] args) {
for(int i = 1. j = i + 10, i < 5. i++, j = i * 2) {
System out.printlnC'i = " + i + " j = " + j);
}
}
} /* Output: i = 1 j = 11 i = 2 j = 4 i = 3 j = 6 i = 4 j = 8 *///:-
Определение int в заголовке for относится как к i, так и к j. Инициализацон-ная часть может содержать любое количество определений переменных одного типа. Определение переменных в управляющих выражениях возможно только в цикле for. На другие команды выбора или циклов этот подход не распространяется.
Синтаксис foreach
В Java SE5 появилась новая, более компактная форма for для перебора элементов массивов и контейнеров (см. далее). Эта упрощенная форма, называемая синтаксисом foreach, не требует ручного изменения служебной переменной для перебора последовательности объектов — цикл автоматически представляет очередной элемент.
Следующая программа создает массив float, после чего перебирает все его элементы:
//• control/ForEachFloat.java import java util.*,
public class ForEachFloat {
public static void main(String[] args) { Random rand = new Random(47), float f[] = new float[10], for(int i = 0; i < 10. i++)
f[i] = rand.nextFloatO, for(float x f)
System out println(x).
}
} /* Output
0.72711575
0.39982635
0.5309454
0.0534122
0.16020656
0.57799757
0.18847865
0.4170137
0.51660204
0.73734957 *///.-
Массив заполняется уже знакомым циклом for, потому что для его заполнения должны использоваться индексы. Упрощенный синтаксис используется в следующей команде:
for(float X f)
Эта конструкция определяет переменную х типа float, после чего последовательно присваивает ей элементы f.
Любой метод, возвращающий массив, может использоваться с данной разновидностью for. Например, класс String содержит метод toCharArray(), возвращающий массив char; следовательно, перебор символов строки может осуществляться так:
//: control/ForEachString.java
public class ForEachString {
public static void main(String[] args) {
for(char с : "An African Swallow".toCharArray() ) System.out.print(c + " ");
}
} /* Output:
An African Swallow *///.-
Как будет показано далее, «синтаксис foreach» также работает для любого объекта, поддерживающего интерфейс Iterable.
Многие команды for основаны на переборе серии целочисленных значений:
for (int i = 0; i < 100; i++)
В таких случаях «синтаксис foreach» работать не будет, если только вы предварительно не создадите массив int. Для упрощения этой задачи я включил в библиотеку net.mindview.util.Range метод range(), который автоматически генерирует соответствующий массив:
//: control/ForEachlnt.java
import static net.mindview.util.Range.*,
import static net.mindview.util Print.*;
public class ForEachlnt {
public static void main(String[] args) { for(int i : range(10)) // 0..9
printnbCi +
„ v).
printO;
for(int
i : range(5,
10)) // 5..9
printnb(i +
printO;
for(int
i : range(5.
20. 3)) // 5
printnbCi +
printO:
}
} /* Output: 0 12 3 4 5 6 7 8 9 5 6 7 8 9 5 8 11 14 17 *///:-
Обратите внимание на использование printnb() вместо print(). Метод printnb() не выводит символ новой строки, что позовляет построить строку по фрагментам.
return
Следующая группа ключевых слов обеспечивает безусловный переход , то есть передачу управления без проверки каких-либо условий. К их числу относятся команды return, break и continue, а также конструкция перехода по метке, аналогичная goto в других языках.
У ключевого слова return имеется два предназначения: оно указывает, какое значение возвращается методом (если только он не возвращает тип void), а также используется для немедленного выхода из метода. Метод test() из предыдущего примера можно переписать так, чтобы он воспользовался новыми возможностями:
//: control/IfElse2.java
import static net.mindview.util.Print.*:
public class IfElse2 {
static int test(int testval. int target) { if(testval <@062> target)
return +1; else if(testval < target) return -1;
else
return 0; // Одинаковые значения
}
public static void main(String[] args) { prmt(test(10. 5)); print(test(5. 10)): print(test(5. 5));
}
} /* Output: 1 -1 0
В данном случае секция else не нужна, поскольку работа метода не продолжается после выполнения инструкции return.
Если метод, возвращающий void, не содержит команды return, такая команда неявно выполняется в конце метода. Тем не менее, если метод возвращает любой тип, кроме void, проследите за тем, чтобы каждая логическая ветвь возвращала конкретное значение.
break и continue
В теле любого из циклов вы можете управлять потоком программы, используя специальные ключевые слова break и continue. Команда break завершает цикл, при этом оставшиеся операторы цикла не выполняются. Команда continue останавливает выполнение текущей итерации цикла и переходит к началу цикла, чтобы начать выполнение нового шага.
Следующая программа показывает пример использования команд break и continue внутри циклов for и while:
Читать дальшеИнтервал:
Закладка:
Похожие книги на «Философия Java3»
Представляем Вашему вниманию похожие книги на «Философия Java3» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.
Обсуждение, отзывы о книге «Философия Java3» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.