Есть код
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static void example(){
https://ru.stackoverflow.com/questions
System.out.println("Hellolo!");
}
public static void main (String[] args) throws java.lang.Exception
{
example();
}
}
Почему вроде как чужеродная строка
https://ru.stackoverflow.com/questions
внутри метода не мешает выполнению программы?
Заметил это в Android Studio. IDE выделяет только https с подсказкой
Unused label 'https' less... (Ctrl+F1)
Reports unused code labels.
Приложение компилируется и запускается
String example(){
https://ru.stackoverflow.com/questions
return "Hello!";
}
если из onCreate вызвать
if(DEBUG) Log.i("TAG", "example() - " + example() );
На выходе
I/TAG: example() - Hello!
В следующем виде IDE уже ругается и подчеркивает всю строку
void example(){
https://ru.stackoverflow.com/questions
}
Подсказка - label without statement
Примечание: чужеродная значит ни переменная, ни выражение ... (в моем скудном представлении)
Ответ
Потому что, с точки зрения компилятора вы установили метку (точку безусловного перехода с синтаксисом label:) с именем https за которой следует комментарий (//).
Во втором случае нет кода, куда бы ссылалась эта метка
Комментариев нет:
Отправить комментарий