Java: руководство для начинающих
Шрифт:
Как создать однострочный комментарий? И как создать многострочный комментарий? Однострочные комментарии должны начинаться с символов / /.В этом случае комментариями считаются эти и все последующие символы до конца строки. А многострочные комментарии должны начинаться символами / и заканчиваться символами /.
Как выглядит общая форма условного оператора if? И как выглядит общая форма цикла for? Общая форма оператора i f выглядит следующим образом: if (условие) оператор; А общая форма цикла for имеет следующий вид: for (инициализация; условие; итерация) оператор;
Как создать кодовый блок? Кодовый блок должен начинаться с символа { и завершаться символом }.
Сила
Видоизмените программу, созданную в примере для опробования 1.2, таким образом, чтобы она выводила таблицу преобразования дюймов в метры. Выводите значения длины до 12 футов через каждый дюйм. После каждых 12 дюймов выводите пустую строку. (Один метр приблизительно равен 39,37 дюйма.) / Эта программа отображает таблицу преобразования дюймов в метры. Присвоить ее исходному файлу имя InchToMeterTable.java. / class InchToMeterTable { public static void main(String args[]) { double inches, meters; int counter; counter = 0; for(inches = 1; inches <= 144; inches++) { meters = inches / 39.37; // преобразовать в метры System.out.println(inches + " inches is " + meters + " meters."); counter++; // Каждая 12-я выводимая строка должна быть пустой if(counter == 12) { System.out.println; counter =0; // сбросить счетчик строк } } } }
Если при вводе кода программы вы допустите опечатку, то какого рода сообщение об ошибке вы получите? Сообщение о синтаксической ошибке.
Имеет ли значение, в каком именно месте строки находится оператор? Не имеет. В Java допускается произвольное форматирование исходного кода. Глава 2. Введение в типы данных и операторы
Почему в Java строго определены диапазоны допустимых значений и области действия простых типов? Диапазоны допустимых значений и области действия простых типов строго определены в Java для того, чтобы обеспечить переносимость программ с одной платформы на другую.
Что собой представляет символьный тип в Java и чем он отличается от символьного типа в ряде других языков программирования? Символьный тип задается ключевым словом char. В Java для представления символов применяется уникод (Unicode), в отличие от многих других языков программирования, в которых для этой цели применяется код ASCII.
Переменная типа boolean может иметь любое значение, поскольку любое ненулевое значение интерпретируется как истинное. Верно или неверно? Неверно. Переменная типа boolean может принимать лишь одно из двух логических значений: true или false.
Допустим, результат выполнения программы выглядит следующим образом: One Two Three Напишите строку кода с вызовом метода println , где этот результат выводится в одной символьной строке. System.out.println("One\nTwo\nThree");
Какая ошибка допущена в следующем фрагменте кода: for(i = 0; i < 10; i++) { int sum; sum = sum + i; } System.out.println("Sum is: " + sum); В этом фрагменте кода имеются две существенные ошибки. Во-первых, переменная sum создается на каждом шаге цикла for, а следовательно, в промежутке между последовательными итерациями предыдущее значение подсчитываемой суммы не будет сохраняться в этой переменной. И во-вторых, переменная sum недоступна за пределами кодового
блока, в котором она объявлена. Поэтому ссылка на нее при вызове метода println недопустима.Поясните отличие между префиксной и постфиксной формами оператора инкремента. Если оператор инкремента предшествует операнду, исполняющая система Java выполнит операцию до извлечения значения операнда и использования его в остальной части выражения. Если же оператор инкремента следует за операндом, исполняющая система сначала извлечет значение операнда и лишь затем инкрементирует сам операнд.
Покажите, каким образом укороченный логический оператор И может предотвратить деление на нуль. if((b != 0) && (val / b)) ... Приложение А. Ответы на вопросы для самопроверки 559.
К какому типу продвигаются типы byte и short при вычислении выражения? В выражении типы byte и short продвигаются к типу int.
Когда возникает потребность в явном приведении типов? Явное приведение типов требуется при обращении с несовместимыми типами или в том случае, если преобразование типов приводит к сужению диапазона допустимых значений.
Напишите программу, которая находила бы простые числа в пределах от 2 до 100. // Нахождение простых чисел в пределах от 2 до 100. class Prime { public static void main(String args[]) { int i, j; boolean isprime; for(i=2; i < 100; i++) { isprime = true; // проверить, делится ли число без остатка for(j=2; j < i/j; j++) // если число делится без остатка, значит, оно простое if ( (i%j) == 0) isprime = false; if(isprime) System.out.println(i + " is prime."); } } }
Влияют ли лишние скобки на эффективность выполнения программ? Нет, не влияют.
Определяет ли кодовый блок область действия переменных? Да, определяет. Глава 3. Управляющие операторы
Напишите программу, которая вводила бы символы с клавиатуры до тех пор, пока не встретится точка. Предусмотрите в программе счетчик числа пробелов. Сведения о количестве пробелов должны выводиться в конце программы. // Подсчет пробелов, class Spaces { public static void main(String args[]) throws java.io.IOException { char ch; int spaces = 0; System.out.println("Enter a period to stop."); do { ch = (char) System.in.read; if(ch == 1 ') spaces++; } while (ch ! = System.out.println("Spaces: " + spaces); } }
Какова общая форма многоступенчатой конструкции if-else-if? if(условие) оператор; else if{условие) оператор; else if(условие) оператор; else оператор;
Допустим, имеется следующий фрагмент кода: if (х < 10) if(у > 100) { if(!done) х = z; else у = z; } else System.out.println("error"); // что если? С каким из операторов if связан последний оператор else? Последний оператор else соответствует билижайшему оператору if того же уровня, т.е. if (у > 100).
Напишите цикл for, в котором перебирались бы значения от 1000 до 0 с шагом -2. for(int i = 1000; i >= 0; i -= 2) // ...
Корректен ли следующий фрагмент кода? for(int i = 0; i < num; i++) sum += i; count = i; Нет, не корректен. Переменная i недоступна за пределами цикла for, в котором она объявлена.
Какие действия выполняет оператор break? Опишите оба рарианта этого оператора. Оператор break без метки вызывает немедленное завершение текущего цикла или выражения switch. А оператор break с меткой передает управление в конец помеченного блока.
Какое сообщение будет выведено после выполнения оператора break в приведенном ниже фрагменте кода? for(i = 0; i < 10; i++) { while(running) { if(x<y) break; // ... Приложение А. Ответы на вопросы для самопроверки lb61 } System.out.println("after while"); } System.out.println("After for"); После выполнения оператора break будет выведено сообщение "after while" (после цикла while).