for (int value : arr) { System.out.print(value + » «); }
Пример:
int[] числа = {10, 20, 30, 40, 50};
for (int i = 0; i < числа.length; i++) {
System.out.println(числа[i]);
}
Метод System.out.println
печатает каждый элемент массива на новой строке. Индекс i
начинается с нуля и увеличивается до значения числа.length - 1
, что гарантирует охват всех элементов без выхода за границы массива.
Если требуется вывести значения в одной строке, можно использовать System.out.print
и добавить пробел:
for (int i = 0; i < числа.length; i++) {
System.out.print(числа[i] + " ");
}
Печать массива с использованием Arrays.toString()
Пример использования:
import java.util.Arrays;
int[] числа = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(числа));
Результат: [1, 2, 3, 4, 5]
. Это удобно для быстрой проверки содержимого массива без написания цикла.
Метод поддерживает только одномерные массивы. При попытке передать многомерный массив, например int[][]
, будет напечатан его внутренний адрес, а не содержимое. В таких случаях следует использовать Arrays.deepToString()
.
Как вывести двумерный массив в консоль
int[][] array = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
for (int i = 0; i < array.length; i++) {
if (array[i] != null) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
}
System.out.println();
}
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.printf("%4d", array[i][j]);
}
System.out.println();
}
Для массивов других типов (например, String[][]
) принцип тот же:
String[][] data = {
{"A", "B"},
{"C", "D"},
{"E", "F"}
};
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
System.out.print(data[i][j] + "\t");
}
System.out.println();
}
- Числа с фиксированной шириной:
System.out.printf("%5d", value);
– выведет целое число в поле шириной 5 символов, добавляя пробелы слева. - Десятичные числа:
System.out.printf("%.2f", value);
– округление до двух знаков после запятой. - Выравнивание по левому краю:
System.out.printf("%-10s", text);
– строка выравнивается по левому краю в поле шириной 10 символов.
int[] numbers = {12, 345, 6, 78};
for (int num : numbers) {
System.out.printf("%4d", num);
}
Форматирование строк можно комбинировать с циклами:
String[] names = {"Анна", "Игорь", "Светлана"};
for (String name : names) {
System.out.printf("| %-10s |\n", name);
}
Для объединения форматированных элементов в одну строку:
String result = Arrays.stream(numbers)
.mapToObj(n -> String.format("%03d", n))
.collect(Collectors.joining(" - "));
System.out.println(result);
Результат: 012 - 345 - 006 - 078
Печать массива с использованием Stream API
Для массивов примитивных типов, таких как int[]
, используйте класс Arrays
и метод stream()
:
int[] numbers = {1, 2, 3, 4};
Arrays.stream(numbers).forEach(System.out::println);
Для массивов объектов, например String[]
, применяется Stream.of()
:
String[] words = {"Java", "Stream", "API"};
Stream.of(words).forEach(System.out::println);
Чтобы напечатать элементы в одну строку с разделителем, используйте Collectors.joining()
:
System.out.println(result);
Для числовых массивов с форматированием применяйте mapToObj()
:
double[] values = {1.1, 2.2, 3.3};
Arrays.stream(values)
.mapToObj(v -> String.format("%.1f", v))
.forEach(System.out::println);
String[] words = {"Hello", "World", "Java"};
System.out.println(Arrays.toString(words));
Однако если элементы массива – это пользовательские объекты, результат будет зависеть от реализации метода toString() в классе этих объектов. Если метод не переопределён, по умолчанию будет выведено название класса и хеш-код объекта.
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
Person[] people = {
new Person("Alice", 30),
new Person("Bob", 25)
};
System.out.println(Arrays.toString(people));
Если вы хотите вывести каждый объект массива на отдельной строке, используйте цикл:
for (Person person : people) {
System.out.println(person);
}
Если вам необходимо вывести только некоторые свойства объектов, например, имя и возраст, вы можете определить метод в классе, который будет возвращать нужную информацию в нужном формате, а затем вывести массив с помощью цикла:
for (Person person : people) {
System.out.println(person.getName() + ", " + person.getAge());
}
- Для проверки на
null
используйте простое условие:if (array != null)
- Для проверки на пустоту достаточно сравнения длины:
if (array.length > 0)
Рекомендуется объединить проверки в одну конструкцию:
if (array != null && array.length > 0) {
System.out.println(Arrays.toString(array));
} else {
System.out.println("Массив пуст или не инициализирован");
}
При использовании методов, таких как Arrays.toString()
или Arrays.deepToString()
, передаваемый аргумент должен быть проверен заранее. Эти методы не обрабатывают null
и выбросят исключение.
Такой подход предотвращает ошибки во время выполнения и делает поведение кода предсказуемым.