Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Java: руководство для начинающих (ЛП) - Шилдт Герберт

Java: руководство для начинающих (ЛП) - Шилдт Герберт

Читать онлайн Java: руководство для начинающих (ЛП) - Шилдт Герберт

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 22 23 24 25 26 27 28 29 30 ... 133
Перейти на страницу:

Дополните оператор switch операторами break и continue, как показано ниже. case '6': System.out.println("The break:n"); System.out.println("break; or break label;"); break; case ’71: System.out.println("The continue:n"); System.out.println("continue; or continue label;"); break;

Ниже приведен весь исходный код программы из файла Help3.java./*Пример для опробования 3.3.Завершенная справочная система по управляющимоператорам Java, обрабатывающая многократные запросы.*/class Не1рЗ { public static void main(String args[]) throws java.io.IOException { char choice, ignore; for(;;) { do { System.out.println("Help on:"); System.out.println(" 1. if"); System.out.println(" 2. switch"); System.out.println(" 3. for"); System.out.println(" 4. while"); System.out.println(" 5. do-while"); System.out.println(" 6. break"); System.out.println(" 7. continuen"); System.out.print("Choose one (q to quit): "); choice = (char) System.in.read(); do { ignore = (char) System.in.read(); } while(ignore != 'n'); } while( choice < '1' | choice > '7' & choice != 'q'); if (choice == 'q') break; System.out.println("n"); switch(choice) { case '1' : System.out.println("The if:n"); System.out.println("if(condition) statement;"); System.out.println("else statement;"); break; case '2': System.out.println("The switch:n"); System.out.println("switch(expression) {"); System.out.println(" case constant:"); System.out.println(" statement sequence"); System.out.println(" break;"); System, out .println (11 // ..."); System.out.println("}"); break; case '3' : System.out.println("The for:n"); System.out.print("for(init; condition; iteration)"); System.out.println(" statement;"); break; case '4' : System.out.println("The while:n"); System.out.println("while(condition) statement;"); break; case '5': System.out.println("The do-while:n"); System.out.println("do {"); System.out.println(" statement;"); System.out.println("} while (condition);"); break; case '6' : System.out.println("The break:n"); System.out.println("break; or break label;"); break; case '7': System.out.println("The continue:n"); System.out.println("continue; or continue label;"); break; } System.out.println(); } }}

Ниже приведен один из возможных вариантов выполнения данной программы в диалоговом режиме. Help on: 1. if 2. switch 3. for 4. while 5. do-while 6. break 7. Continue Choose one (q to quit): 1 The if: if(condition) statement; else statement; Help on: 1. if 2. switch 3. for 4. while 5. do-while 6. break 7. Continue Choose one (q to quit): 6 The break: break; or break label; Help on: 1. if 2. switch 3. for 4. while 5. do-while 6. break 7. Continue Choose one (q to quit): qВложенные циклы

Как следует из предыдущих примеров программ, один цикл может быть вложен в другой. С помощью вложенных циклов решаются самые разные задачи. Поэтому, прежде чем завершить рассмотрение циклов в Java, уделим еще немного внимания вложенным циклам. Ниже приведен пример программы, содержащей вложенные циклы for. С помощью этих циклов для каждого числа от 2 до 100 определяется ряд множителей, на которые данное число делится без остатка./* Использовать вложенные циклы для выявления множителей чисел от 2 до 100.*/class FindFac { public static void main(String args[]) { for(int i=2; i <= 100; i++) { System.out.print("Factors of " + i + ": ") ; for(int j = 2; j < i; j++) if((i%j) == 0) System.out.print(j + " "); System.out.println() ; } }}

Ниже приведена часть результата выполнения данной программы.Factors of 2:Factors of 3:Factors of 4: 2Factors of 5:Factors of 6: 2 3Factors of 7:Factors of 8: 2 4Factors of 9: 3Factors of 10: 2 5Factors of 11:Factors of 12: 2 3 4Factors of 13:Factors of 14: 2 7Factors of 15: 3 5Factors of 16: 2 4 8Factors of 17:Factors of 18: 2 3 6Factors of 19:Factors of 20: 2 4 5В данной программе переменная i из внешнего цикла последовательно принимает значения до 2 до 100. А во внутреннем цикле для каждого числа от 2 до текущего значения переменной i выполняется проверка, делится ли это значение без остатка. В качестве упражнения попробуйте сделать данную программу более эффективной. (Подсказка: число итераций во внутреннем цикле можно уменьшить.)## Упражнение для самопроверки по материалу главы 31. Напишите программу, которая вводила бы символы с клавиатуры до тех пор, пока не встретится точка. Предусмотрите в программе счетчик числа пробелов. Сведения о количестве пробелов должны выводиться в конце программы.2. Какова общая форма многоступенчатой конструкции if-else-if?3. Допустим, имеется следующий фрагмент кода:if(х < 10) if (у > 100) { if(!done) х = z; else у = z;}else System.out.println("error"); // что если?```

С каким из операторов if связан последний оператор else?

Напишите цикл for, в котором перебирались бы значения от 1000 до 0 с шагом -2.

Корректен ли следующий фрагмент кода?for (int i = 0; i < num; i++) sum += i;count = i;

Какие действия выполняет оператор break? Опишите оба варианта этого оператора.

Какое сообщение будет выведено после выполнения оператора break в приведенном ниже фрагменте кода?for(i =0; i < 10; i++) { while(running) { if(x<y) break; // ... } System.out.println("after while");}System.out.println("After for");`

Что будет выведено на экран в результате выполнения следующего фрагмента кода?for(int i = 0; i<10; i++) { System.out.print(i + " "); if ( (i%2) == 0) continue; System.out.println();}

Итерационное выражение для цикла for не обязательно должно изменять переменную цикла на фиксированную величину. Эта переменная может принимать произвольные значения. Напишите программу, использующую цикл for для вывода чисел в геометрической прогрессии 1, 2, 4, 8, 16, 32 и т.д.

Код ASCII символов нижнего регистра отличается от кода соответствующих символов верхнего регистра на величину 32. Следовательно, для преобразования строчной буквы в прописную нужно уменьшить ее код на 32. Используйте это обстоятельство для написания программы, осуществляющей ввод символов с клавиатуры. При выводе результатов данная программа должна преобразовывать строчные буквы в прописные, а прописные — в строчные. Остальные символы не должны изменяться. Работа программы должна завершаться после того, как пользователь введет с клавиатуры точку И наконец, сделайте так, чтобы программа отображала число символов, для которых был изменен регистр.

Что такое бесконечный цикл?

Должна ли метка, используемая вместе с оператором break, быть определена в кодовом блоке, содержащем этот оператор?

Глава 4 Введение в классы, объекты и методы

Основные навыки и понятия

Основные положения о классах

Создание объектов

Присваивание ссылок на объекты

Создание методов, возврат значений и использование параметров

Применение ключевого слова return

Возврат значения из метода

Добавление параметров в метод

Применение конструкторов

Создание параметризированных конструкторов

Представление об операторе new

Представление о “сборке мусора” и методах завершения

Применение ключевого слова this

Прежде чем продолжить изучение Java, следует ознакомиться с классами. Классы, по существу, составляют самые основы языка Java, поскольку класс определяет характер объекта. Следовательно, классы служат прочным основанием для объектно-ориентированного программирования на Java. В классе определяются данные и код, который выполняет действия над этими данными. Код находится внутри методов. Эта глава посвящена классам, объектам и методам, т.е. самим основам Java. Имея представление о классах, объектах и методах, вы сможете писать более сложные программы и лучше уяснить те элементы языка Java, которые будут описаны в последующих главах.Основные положения о классах

1 ... 22 23 24 25 26 27 28 29 30 ... 133
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Java: руководство для начинающих (ЛП) - Шилдт Герберт.
Комментарии