Knigionline.co » Программное обеспечение » Java руководство для начинающих

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

Java руководство для начинающих
  • Год:
    2012
  • Название:
    Java руководство для начинающих
  • Автор:
  • Жанр:
  • Оригинал:
    Английский
  • Язык:
    Русский
  • Издательство:
    Вильямс
  • Страниц:
    316
  • ISBN:
    978-5-8459-1770-6
  • Рейтинг:
    4.3 (4 голос)
  • Ваша оценка:
"Java: руководство для начинающих", автором которого является Герберт Шилдт, а также на его счету популярные по всему миру книги по языкам программирования, таким образом, чтобы у читателя получилось быстро освоить основные навыки программирования на Java. Полностью обновленное по версии Java Platform, Standard Edition 7, пятое издание этого учебного пособия начинается с обзора самых простейших основ, не исключая выполнение простых программ на Java и компилирование. Далее в нем описаны синтаксические конструкции и ключевые слова составляющие основу Java как языка программирования. Затем следует изложение наиболее передовых языковых средств Java, включая многопоточное и обобщенное программирование. Книга завершается введением в библиотеку Swing. Использованный в книге справочный и учебный материал позволяет читателю быстро и легко освоить основы программирования на Java. В целях упрощения процесса изучения Java, учебник построен следующим образом: - Базовые понятия и навыки. Все главы начинаются с перечня базовых понятий и навыков, которые будет необходимо усвоить читателю. - Обращение к знатоку. Во врезках под этим заголовком даны полезные рекомендации в форме вопрос-ответ. - Примеры для опробования. Это примеры небольших проектов, наглядно показывающие, как применять полученные навыки и знания на практике. - Упражнения для самопроверки. В конце каждой главы присутствуют контрольные вопросы и задания для проверки прочности изученного материала. - Подробные комментарии к примерам программ. Все примеры программ в этом учебном пособии снабжены подробными комментариями, которые описывают приемы программирования Java и демонстрируемые языковые средства.

Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

for (int i=l; i < r^urns. length; i++)

if(nums[i] > m) m = nums[i];

return m;

}

int avg() {

int a = 0;

for(int i=0; i < nums.length; i++)

a += nums[i];

return a / nums.length;

}

}

}

class NestedClassDemo {

public static void main(String args[]) {

int x[] = { 3, 2, 1, 5, 6, 9, 7, 8 };

Outer outOb = new Outer(x);

outOb.Analyze();

}

}

Результат выполнения данной программы выглядит следующим образом:

Minimum: 1

Maximum: 9

Average: 5

В данном примере внутренний класс Inner обрабатывает массив nums, являющийся членом класса Outer. Как упоминалось выше, вложенный класс имеет доступ к членам объемлющего класса, и поэтому он может непосредственно обращаться к массиву nums. А вот обратное не справедливо. Так, например, метод analyze () не может непосредственно вызвать метод min (), не создав объект типа Inner.

Как упоминалось выше, класс можно вложить в области действия блока. В итоге получается локальный класс, недоступный за пределами блока. В следующем примере программы класс ShowBits, созданный в примере для опробования 5.3, преобразуется таким образом, чтобы стать локальным.

// Применение класса ShowBits в качестве локального,

public static void main(String args[]) {

class LocalClassDemo {

// Внутренний вариант класса ShowBits.

// Локальный класс, вложенный в метод.

class ShowBits {

int numbits;

ShowBits(int n) {

numbits = n;

}

void show(long val) {

long mask = 1;

// сдвинуть влево для установки единицы в нужной позиции

mask <<= numbits-1;

int spacer = 0;

for(; mask != 0; mask >»= 1) {

if((val & mask) != 0) System.out.print("1");

else System, out .pri-nt ("0") ;

spacer++;

if((spacer % 8) ==0) {

System.out.print(" ");

spacer = 0;

}

}

System.out.println() ;

}

}

for(byte b = 0; b < 10; b++) {

ShowBits byteval = new ShowBits(8);

System.out.print(b + " in binary: ");

byteval.show(b);

}

}

}

Выполнение этой программы дает следующий результат:

0 in binary: 00000000

1 in binary: 00000001

2 in binary: 00000010

3 in binary: 00000011

4 in binary: 00000100

5 in binary: 00000101

6 in binary: 00000110

7 in binary: 00000111

8 in binary: 00001000

9 in binary: 00001001

В данном примере класс ShowBits недоступен за пределами метода main (), а следовательно, попытка получить доступ к нему из любого метода, кроме main (), приведет к ошибке.

И последнее замечание: внутренний класс может быть безымянным. Экземпляр безымянного, или анонимного, внутреннего класса создается при объявлении класса с помощью оператора new. Безымянные внутренние классы будут подробнее рассмотрены в главе 15.

Аргументы переменной длины

Иногда оказываются полезными методы, способные принимать переменное число аргументов. Например, методу, устанавливающему соединение с Интернетом, могут понадобиться имя и пароль пользователя, имя файла, протокол и другие параметры. Если при вызове метода какие-нибудь из этих данных не указаны, то должны использоваться значения по умолчанию. В таком случае было бы уместнее передавать только те аргументы, для которых не предусмотрены значения по умолчанию. А для этого требуется метод, поддерживающий список аргументов переменной, не фиксированной длины.

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий