Задания- Почитайте в начале 3-й главы Хорстманна про переменные, типы данных, константы. Разберите примеры кода!
- Примерно в середине главы - про чтение пользовательского ввода (с клавиатуры) с помощью класса Scanner.
- (О) Используя полученные знания, напишите программу, которая спрашивает у пользователя его имя и возраст; затем печатает: "Hello, Name! Next year you'll be 20." (подставляя введенное имя и возраст - вычисляя, сколько лет ему будет через год).
- (Д) В предыдущем задании - попробуйте спросить у пользователя сначала возраст, затем имя. Но т.к. имя может состоять из нескольких слов - для его считывания используйте nextLine(), а не next().
- (Д) Разберитесь, как выводить int и double значения с помощью System.out.printf(), и как при этом указывать количество знаков после запятой. Функция printf пришла в Джаву из Си. Оттуда же она пришла в php, Linux/UNIX и много других сред - так что в будущем умение ей пользоваться вам не раз пригодится.
- (О) Перечислите 8 простых типов данных Java. Сколько каждый из них занимает памяти и почему?
- Проверьте: что будет, если присвоить переменной типа int значение 3 миллиарда? А переменной типа long?
- Проверьте: чему равно 5/2? А 2/5? Как получить "правильные" результаты 2.5 и 0.4 соответственно?
- Проверьте, что произойдет, если выполнить следующий код. Как это исправить?:
int i; System.out.println(i); - Проверьте, что произойдет, если выполнить следующий код. Как это исправить?:
int i = 5; short s = i; - Разберитесь как число с плавающей точкой округлить вниз. А как до ближайшего целого?
- (О) Объясните рис. 3.1 ("допустимые проеобразования числовых типов") из книги Хорстманна.
- Перечислите логические операторы Java.
- (Д) Разберитесь, чем отличатся && от &, || от |.
- (Д) Разберитесь, что делают операторы &,|,^,~,>>,<<,>>>? (подсказка: это операторы из одной категории)
- (Д) Подумайте, почему в Java есть оператор >>>, но нет оператора <<<?
- Будет ли это работать? Если да - какой будет результат?
boolean b = x>=10 && x<100; - Разберитесь, как проверить, что число четное (нечетное).
- Попробуйте операции деления и взятия остатка от деления, когда знаменатель - ноль. Проведите этот эксперимент с int'ами и double'ами.
- (О) Объясните таблицу 3.4 ("приоритет операторов") из книги Хорстманна.
- Найдите, как в Java сгенерировать целое случайное число от 0 до N-1. Подумайте, как сделать, чтобы условие (if) выполнялось с заданной вероятностью p (от 0.0 до 1.0).
- Ознакомьтесь с синтаксисом операторов if, switch, for, while, do-while, break, continue.
- (О) Известны результаты спортивного забега на 100 метров (фамилии участников и время (в секундах), показанное каждым из них). Напишите программу, которая по этим данным найдет троих победителей. (инструкции | Runners_Tests.java)
- Какие операторы языка Паскаль соответствуют Java'вским = и ==? В каких случаях используется каждый из них?
- Что такое область видимости (scope)? Приведите пример кода, иллюстрирующий влияние этого понятия на поведение программы. (это лучше описано у Шилдта).
- Попробуйте объявить во вложенной области переменную с именем, которое уже имеется у переменной во внешней области.
- (Д) Реализуйте тремя способами перевод числа в двоичное представление:
1) Последовательным делением на 2. 2) С помощью побитовых операций. 3) С помощью подбора максимальной степени двойки, которая вмещается в число.
Легенда - (О) = Обязательное задание; его обязательно нужно сделать, и по нему обязательно спросят.
- (Д)
= дополнительное задание; его лучше делать, когда с остальными
заданиями все понятно; также за него возможны дополнительные баллы.
- (без метки) = задание можно не делать, если ответ для вас очевиден; в противном случае - обязательно делать!
Контрольные вопросы- Перечислите основные методы класса Scanner.
- Напишите на листочке законченную программу "Hello, world!" на Java.
- Приведите простой пример цикла for на Java.
- Приведите простой пример цикла while на Java.
- Как в языке Java обозначаются логические операции И, ИЛИ, НЕ? Привести простой пример(ы) оператора if c их использованием.
- Приведите пример кода на Java, в котором создается массив целых чисел на 10 элементов.
- Как "в коде" узнать длину массива? (который в этом же коде создается)
- Приведите фрагмент кода, меняющий местами i-ый и j-ый элементы массива.
- Приведите фрагмент кода для вывода на экран массива целых чисел.
- Приведите фрагмент кода для поиска максимального элемента в массиве.
- Приведите фрагмент кода, который считывает с клавиатуры два целых числа и выводит на экран их сумму.
- Объясните, как у Вас в программе устроен поиск трех максимальных элементов массива (можно с примером кода).
|