Часто блочные комментарии оформляют следующим образом (каждая строка начинается с *):
* Описание алгоритма работы
* следующего цикла while
V while (X > 0) {}
Блочный комментарий не обязательно должен располагаться на нескольких строках, он может даже находиться в середине оператора:
float S = 2*Math.PI/*getRadius()*/; // Закомментировано для отладки
В этом примере блочный комментарий разбивает арифметические операции. Выражение Math.PI предоставляет значение константы Р1, определенное в классе Math. Вызов метода getRadius() теперь закомментирован и не будет произведен, переменная s всегда будет принимать значение 2 Р1. Завершает строку строчный комментарий.
Комментарии не могут находиться в символьных и строковых литералах, идентификаторах (эти понятия подробно рассматриваются далее в этой лекции). Следующий пример содержит случаи неправильного применения комментариев:
// В этом примере текст /*...*/ станет просто частью строки s String s = "text/*just text*/";
/*
* Следующая строка станет причиной ошибки при компиляции,
* так как комментарий разбил имя метода getRadius()
V circle. get/*commentVRadius();
А такой код допустим:
// Комментарий может разделять вызовы функций: cirle ./*comment*/getRadlus();
// Комментарий может заменять пробелы: lnt/*comment*/x=1;
В последней строке между названием типа данных int и названием переменной х обязательно должен быть пробел или, как в данном примере, комментарий.
Комментарии не могут бьть вложенными. Символы /*, */, // не имеют никакого особенного значения внутри уже открытых комментариев, как строчных, так и блочных. Таким образом, в примере/* начало комментария /* ///** завершение тут: */
описан только один блочный комментарий. А в следующем примере (строки кода пронумерованы для удобства)