Статьи

Как исправить недопустимое начало выражения в Java

Вы когда-нибудь сталкивались с этой ошеломляющей ошибкой и не знаете, как ее решить? Давайте пройдемся по этой статье и изучим, как мы решаем проблему ошибки «Запрещенное начало выражения Java».

Это динамическая ошибка, которая означает, что компилятор находит что-то, что не соответствует правилам или синтаксису Java-программирования . Новички в основном сталкиваются с этой ошибкой в ​​Java. Поскольку он динамический, он запрашивается во время компиляции, т. Е. С оператором javac.

Эта ошибка может встречаться в различных сценариях. Ниже приведены наиболее распространенные ошибки. Им объясняют, как их можно исправить.

1. Префикс локальных переменных с помощью модификаторов доступа

Переменные внутри метода или блока являются локальными переменными. Локальные переменные имеют область действия в своем конкретном блоке или методе; то есть к ним нельзя получить доступ нигде внутри класса, кроме метода, в котором они объявлены. Модификаторы доступа : public, private и protected запрещены для использования внутри метода с локальными переменными, поскольку его область действия метода определяет их доступность.

Это можно объяснить с помощью примера:

1
2
3
4
5
6
Class LocalVar {
public static void main(String args[])
{
int variable_local = 10
}
}
недопустимое начало выражения в Java - модификаторы доступа
Использование модификатора с локальной переменной приведет к ошибке

2. Метод внутри другого метода

Метод не может иметь другого метода в своей области видимости . Использование метода внутри другого метода приведет к ошибке «Недопустимое начало выражения». Ошибка будет возникать независимо от использования модификатора доступа с именем функции.

Ниже приведена демонстрация кода:

1
2
3
4
5
6
7
Class Method
{
public static void main (String args[])
{
public void calculate() { }
}
}
недопустимое начало выражения в Java - определение метода внутри
Определение метода внутри, а другой метод недопустим
1
2
3
4
5
6
7
Class Method
{
public static void main (String args[])
{
void calculate() { }
}
}
незаконное начало выражения в Java
Ошибка не зависит от появления одного модификатора

3. Класс внутри метода не должен иметь модификатор

Точно так же метод может содержать класс внутри своего тела; это допустимо и, следовательно, не даст ошибку во время компиляции. Однако классы make note не начинаются с модификаторов доступа, поскольку модификаторы не могут присутствовать внутри метода.

В приведенном ниже примере класс Car определен внутри основного метода; этот метод находится внутри класса Vehicle. Использование открытого модификатора с классом Car может привести к ошибке во время выполнения, так как модификаторы не должны присутствовать внутри метода.

1
2
3
4
5
6
7
class Vehicle
{
public static final void main(String args[])
{
public   class Car { }
}
}
недопустимое начало выражения в Java - Объявление класса с модификатором
Объявление класса с модификатором внутри метода не допускается

4. Отсутствие фигурных скобок «{}»

Пропуск фигурных скобок любого блока метода может привести к ошибке «Недопустимое начало выражения». Ошибка произойдет, потому что это будет противоречить синтаксису или правилам программирования Java, так как каждый блок или определение класса должны начинаться и заканчиваться фигурными скобками. Разработчику также может потребоваться определить другой класс или метод в зависимости от требований программы. Определение другого класса или метода, в свою очередь, также будет иметь модификаторы, что недопустимо для тела метода.

В следующем коде рассмотрим класс Addition, метод main добавляет два числа и сохраняет в переменной sum. Позже результат печатается с использованием метода displaySum. Ошибка будет отображаться на терминале, поскольку фигурная скобка отсутствует в конце метода main.

01
02
03
04
05
06
07
08
09
10
11
12
13
public class Addition
{
static int sum;
public static void main(String args[])
{
int x = 8;
int y= 2;
sum=0;
sum= x + y;
{
System.out.println("Sum = " + sum);
}
}
недопустимое начало выражения в Java - отсутствуют фигурные скобки
Отсутствие фигурных скобок в определении блока приводит к ошибке.

5. Строковый символ без двойных кавычек «»

Инициализация строковых переменных без двойных кавычек является распространенной ошибкой, допущенной многими новичками в Java, поскольку они, как правило, забывают двойные кавычки и впоследствии озадачиваются, когда ошибка появляется во время выполнения. Переменные, имеющие тип данных String, должны быть заключены в двойные кавычки, чтобы избежать ошибки «незаконного начала выражения» в их коде.

Переменная String представляет собой последовательность символов. Символы могут быть не просто алфавитами, они также могут быть числами или специальными символами, такими как @, $, &, *, _, -, +,?, / И т. Д. Поэтому заключайте строковые переменные в двойные кавычки, чтобы избежать получения ошибка.

Рассмотрим пример кода ниже; пропущенные кавычки вокруг значений оператора переменной генерируют ошибку во время выполнения.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.*;
public class Operator
{
public static void main(String args[])
{
int a = 10;
int b = 8;
int result =0;
Scanner scan = new Scanner(System.in);
System.out.println("Enter the operation to be performed");
String operator= scan.nextLine();
if(operator == +)
{
   result = a+b;
}
  else
   if(operator == -)
{
    result = a-b;
   }
  else
{
System.out.prinln("Invalid Operator");
}
  System.out.prinln("Result = " + result);
}
Строковые значения должны быть заключены в двойные кавычки, чтобы избежать вышеупомянутой ошибки

6. Резюме

Подводя итог, можно сказать, что ошибка «Недопустимое начало выражения» возникает, когда компилятор Java находит что-то неподходящее с исходным кодом во время выполнения. Чтобы устранить эту ошибку, попробуйте просмотреть строки, предшествующие сообщению об ошибке, на предмет отсутствия скобок, фигурных скобок или точек с запятой и проверьте синтаксис.

Полезный совет: помните, что в некоторых случаях одна синтаксическая ошибка иногда может привести к множественным ошибкам «незаконного начала выражения». Поэтому оцените основную причину ошибки и всегда перекомпилируйте при исправлении ошибки, что означает избегать внесения нескольких изменений без компиляции на каждом шаге.

7. Загрузите исходный код

Скачать
Вы можете скачать полный исходный код этой статьи здесь: Как исправить неверное начало выражения в Java