Живот на променлива { Variable scope }
Здравейте колеги.
Въпросът ми е какво е предимството от това една променлива да бъде инициализирана в тялото на цикъл? Като се инициализира в цикъл, не трябва ли на всяка итерация да се запазва и освобождава памет, което предполагам забавя програмата? Ето един пример: Задачата е Magic Numbers. Тук променливата "о" е в най-вътрешния цикъл и отговаря за последната цифра на 6-цифрено число. Животът й започва и завършва с всяка итерация на променливата "m", която пък по същия начин зависи от предния итератор "l" и така до "i". Не би ли било по-добре всички итератори да се декларират предварително, за да няма нужда от хиляди запазвания и освобождавания на памет? Ако ставаше въпрос за променлива, която не е примитивен тип данни? Също така искам да попитам дали има начин да виждам колко памет и време е било израсходвано при екзекуция на код, за да няма нужда да питам подобни въпроси в бъдеще.
        Scanner console = new Scanner(System.in);
        int n = Integer.parseInt(console.nextLine());
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9; j++) {
                for (int k = 1; k <= 9; k++) {
                    for (int l = 1; l <= 9; l++) {
                        for (int m = 1; m <= 9; m++) {
                            for (int o = 1; o <= 9; o++) {
                                if (i * j * k * l * m * o == n) {
                                    System.out.printf("%d%d%d%d%d%d ", i, j, k, l, m, o);
                                }
                            }
                        }
                    }
                }
            }
        }