2013-09-13 4 views
0

Недавно я заметил, что я могу объявить массив в java, поместив квадратные скобки либо после типа ИЛИ после имени переменной массива.Есть ли разница между float [] x и float x []?

  1. float[] x
  2. float x[]

Существует ли какое-либо различие между этими двумя, кроме синтаксиса?

Как в стороне, я наткнулся на открытие, что float[] x[] фактически инициализирует двумерный массив - по крайней мере, согласно Eclipse. Это правда?

ответ

2

float val[] = new float[2]; делает то же самое, что и
float[] val = new float[2];.

От Java Language Specification

The [] может появиться как часть типа в начале декларации, или в качестве части описания для конкретной переменной, или как

так что-то как

float[] val[] = new float[2][3] 

правильно (хотя необычно) для два измерения al массив.

4

Разница. Оба они действительны в Java. Первый для Java гораздо более условный. Да, это объявление 2D-массива, хотя и ужасно странно. Пожалуйста, напишите float[][] x.

3

Если переменные объявлены как вы писали, то нет, нет никакой разницы:

  1. float[] x;
  2. float x[];

Если объявить несколько переменных в одной строке, вы будете разницу:

  1. float[] x, y;
  2. float x[], y;

В последнем случае:

  1. x и y являются массив float с.
  2. x представляет собой массив из float с, а y - float.

Рекомендуемый способ кодирования: использовать 1 для удобства чтения кода.

0

и float x[] оба будут приводить к созданию ссылки на один размерный массив, float[] x является предпочтительной формой.

float [] x [], действительно, создаст ссылку на 2 измерения массива.

0

Нет, между двумя синтаксисами нет различий. Обычно вы видите скобки в переменной в объявлениях и используете скобки в типе при использовании типа анонимно.

Вы неожиданно обнаруживаете, что «float []» является допустимой спецификацией типа, а x [] объявляет массив этого типа.

Смежные вопросы