2013-09-25 22 views
7

Я создал 2-мерный массив в Java, и я искал способ распечатать его на консоли, чтобы я мог подтвердить, что материал, который я делал, был прав. Я нашел код в Интернете, который выполнил эту задачу для меня, но у меня возник вопрос о том, что означал конкретный бит кода.Java - Что означает « n»?

int n = 10; 
int[][] Grid = new int[n][n]; 

//some code dealing with populating Grid 

void PrintGrid() { 
    for (int i = 0; i < n; i++) { 
     for (int j = 0; j < n; j++) { 
      System.out.print(Grid[i][j] + " "); 
     } 
     System.out.print("\n"); 
    } 
} 

Что делает «\ n»? Я пробовал искать в Google, но так как это такой маленький код, который я не мог найти.

+13

Вы действительно искали [используя свой титул] (https://www.google.co.in/search?q=What+is+%5Cn+in+Java&rlz=2C1CHWA_enIN0536IN0536&oq=What+is+%5Cn+in + Java & AQS = chrome..69i57j0l5.3002j0 & SourceId = хром & espvd = 210 & es_sm = 122 & т.е. = UTF-8)? –

+0

Хотя я должен был сказать, что это не приносит большого значения StackOverflow с таким вопросом, но тогда мы все равно получили простые вопросы в одном месте. – lent

+0

Вы пытались удалить строку (поместить ее в комментарий) и посмотреть, какая разница в выходе? –

ответ

5
\n 

Это означает, что печатается новая строка.

В качестве примечания стороны нет необходимости писать эту дополнительную строку. Там встроена встроенная функция.

println() //prints the content in new line 

Learn more from docs

+0

Я так не думаю. Я нашел 'void println (" ... ")' намного медленнее, чем 'void print (" ... "+" \ n ")' по какой-то причине. Это означает, что он может действительно замедлить ваш проект, если вы распечатаете много. – 000000000000000000000

+0

Можете ли вы уточнить ?? –

+0

Извините - я не закончил с комментом и отправил его на случай аварии. – 000000000000000000000

34

Ее новая линия

Escape Sequences 
Escape Sequence Description 
\t Insert a tab in the text at this point. 
\b Insert a backspace in the text at this point. 
\n Insert a newline in the text at this point. 
\r Insert a carriage return in the text at this point. 
\f Insert a formfeed in the text at this point. 
\' Insert a single quote character in the text at this point. 
\" Insert a double quote character in the text at this point. 
\\ Insert a backslash character in the text at this point. 

http://docs.oracle.com/javase/tutorial/java/data/characters.html

+2

И обратите внимание, что в Java эти escape-последовательности действительны в литеральных строках, окруженных «двойными кавычками» и в отдельных символах литералов, окруженных «одинарными кавычками». То есть '' \ n'' является одним символом (численно 0x0A), даже если вы вводите его как два символа. –

+0

Мне было интересно, в оболочке Linux почему '\ n' и' \\ n' обе дают новую строку, где '\\\ n' дает буквально' \ n'? как оболочка справляется с этим и что происходит за кулисами? –

+0

@MohammedNoureldin the \\ n должен быть обратным слэшем + 'n' и \\\ n должен быть обратно слэш + новая строка. –

5
\n 

Это означает, что вставить новую строку в тексте в этой точке.

Просто пример

System.out.println("hello\nworld"); 

Выход:

hello 
world 
1

\n является маскирующим строк, заменяется на новый объект строки. Запись \n в строке, которая печатает напечатает новую строку вместо \n

Java Escape Characters

2

(как на http://java.sun.com/...ex/Pattern.html)

обратной косой черты («\») служит для введения уцелевших конструкций, как определено в таблице выше, а также для цитирования символов, которые в противном случае будут интерпретироваться как неизолированные конструкции. Таким образом, выражение \\ соответствует одному обратному косую черту и {соответствует левой фигурной скобе.

Другие примеры использования:

\\ The backslash character<br> 
\t The tab character ('\u0009')<br> 
\n The newline (line feed) character ('\u000A')<br> 
\r The carriage-return character ('\u000D')<br> 
\f The form-feed character ('\u000C')<br> 
\a The alert (bell) character ('\u0007')<br> 
\e The escape character ('\u001B')<br> 
\cx The control character corresponding to x <br> 
0

В конкретном случае примера кода из исходного вопроса,

System.out.print("\n"); 

находится там, чтобы перейти на новый строка между приращением i.

Таким образом, первый оператор печати печатает все элементы сетки [0] [j]. Когда завершится самая внутренняя петля, «\ n» будет напечатана, а затем все элементы Grid [1] [j] будут напечатаны на следующей строке, и это повторяется до тех пор, пока вы не получите сетку 10x10 элементов 2-мерный массив, сетка.

0

\ n добавляет новую строку.

Обратите внимание, что у java есть метод System.out.println («Введите текст здесь»);

Обратите внимание на разницу:

Код:

System.out.println("Text 1"); 
System.out.println("Text 2"); 

Выход:

Text 1 
Text 2 

Код:

System.out.print("Text 1"); 
System.out.print("Text 2"); 

Выход:

Text 1Text 2