Co oznaczają literki "i" oraz "j" w pętli?

0

Witam, podsyłam kod i proszę o wyjaśnienie:

co oznacza i oraz co oznacza j?

 import java.util.Scanner;

public class Lekcja1 {
  public static void main(String[] args) {
    Scanner odczyt = new Scanner(System.in);
    int N = odczyt.nextInt();
    for (int i = N - 1; i >= 0; i--) {
        for (int j = 0; j < N - 1 - i; j++) {
            System.out.print(" ");
        }
        for (int j = 0; j <= i; j++) {
            System.out.print("x ");
        }

        System.out.println("");
    }
  }
}
0
lion137 napisał(a):

https://www.geeksforgeeks.org/java-for-loop-with-examples/

a mógłbyś mniej więcej swoimi słowami wyjaśnić, co oznaczają dane literki?

4

To indeksy pętli.
for (int i = 0; i < 10; i++)
W każdym jej obiegu mają rózną wartość; powyżej: w pierwszym, 0, potem, 1, aż, i < 10 będzie fałszem, (w tym wypadku dziesięć obiegów).
https://stackoverflow.com/questions/2371118/how-do-the-post-increment-i-and-pre-increment-i-operators-work-in-java

9

"i" przyjęło się oznaczać jako krótką nazwę zmiennej oznaczającej numer iteracji. Czasem "i" jest skrótem dla "index" jeśli iterujemy po tablicy. "j" to po prostu kolejna literka w alfabecie i jest używana w zagnieżdżonej pętli bo "i" była już zajęta. Gdyby był trzeci poziom zagnieżdżenia to mógłbyś się tam spodziewać literki "k" ale zamiast mieć tyle poziomów zagnieżdżeń lepiej wydzielić kod do osobnych metod.
W tym przypadku więcej sensu miałyby zmienne "x" i "y" bo iterujesz w poziomie i pionie, ale możesz użyć jakich tylko nazw chcesz.

3
Real Quick napisał(a):

a mógłbyś mniej więcej swoimi słowami wyjaśnić, co oznaczają dane literki?

Czy doprawdy uważasz że jakieś zagadnienie da się krócej i prościej wyjaśnić niż jest to zrobiono w jakimś kursie nad którymi ludzi pracowali miesiącami?
Owszem da się wyjaśnić co to i i j ale za chwile będziesz mieć kolejny problem, który owszem też będzie można wyjaśnić osobno ale w sumie po kilku takich zagadnieniach to będziesz musiał przeczytać więcej a odpowiadające tyle napisać.

0
_13th_Dragon napisał(a):
Real Quick napisał(a):

a mógłbyś mniej więcej swoimi słowami wyjaśnić, co oznaczają dane literki?

Czy doprawdy uważasz że jakieś zagadnienie da się krócej i prościej wyjaśnić niż jest to zrobiono w jakimś kursie nad którymi ludzi pracowali miesiącami?
Owszem da się wyjaśnić co to i i j ale za chwile będziesz mieć kolejny problem, który owszem też będzie można wyjaśnić osobno ale w sumie po kilku takich zagadnieniach to będziesz musiał przeczytać więcej a odpowiadające tyle napisać.

Dopiero zaczynam swoją przygodę z programowaniem i myślałem że literka "i" tak samo jak "j" nie jest tylko dowolnym oznaczeniem dla np. poziomu lub pionu danego elementu, lecz jakimś specjalistycznym oznaczeniem.

3
Real Quick napisał(a):

Dopiero zaczynam swoją przygodę z programowaniem i myślałem że literka "i" tak samo jak "j" nie jest tylko dowolnym oznaczeniem dla np. poziomu lub pionu danego elementu, lecz jakimś specjalistycznym oznaczeniem.

Nie są niczym specjalnym. Każda nazwa zmiennej jest czysto umowna i konwencjonalna. W javie możesz zmieniać dowolne nazwy zmiennych jak chcesz.

2

Wg. konwencji, jak nie wiadomo jak nazwać zmienną zliczającą liczbę przebiegów pętli to używa się i, j. Nic tego nie wymaga wprost, gdybyś poruszał się po pikselach bitmapy, to lepiej było by je nazwać x,y, ale jak lepszej nazwy nie ma, to zwyczajowo używa się właśnie i, j.

0

Dziękuję bardzo za odpowiedzi. Dostaję tylko polecenie zrobienia czegoś przez osobę x bez wcześniejszego przedstawienia, jak to zrobić czy nawet samej teorii na czym polega dana funkcji itp. Nie wiem też za bardzo skąd mam czerpać wiedzę na niektóre tematy, dlatego skierowałem się do was na forum.

1
_13th_Dragon napisał(a):

Czy doprawdy uważasz że jakieś zagadnienie da się krócej i prościej wyjaśnić niż jest to zrobiono w jakimś kursie nad którymi ludzi pracowali miesiącami?
Owszem da się wyjaśnić co to i i j ale za chwile będziesz mieć kolejny problem

Z tego co pamiętam to żaden kurs / książka z jaką miałem styczność nie wyjaśniał czemu "i" się nazywa "i", po prostu nagle zaczyna używać tego typu nazewnictwa. Nic złego w tym żeby zapytać jeśli na wykładach / w kursie tego nie wyjaśniono. Faktycznie można to wygooglować w dwie sekundy ale początkującemu może być trudno w ogóle sformułować pytanie

1
obscurity napisał(a):

Z tego co pamiętam to żaden kurs / książka z jaką miałem styczność nie wyjaśniał czemu "i" się nazywa "i", po prostu nagle zaczyna używać tego typu nazewnictwa. Nic złego w tym żeby zapytać jeśli na wykładach / w kursie tego nie wyjaśniono. Faktycznie można to wygooglować w dwie sekundy ale początkującemu może być trudno w ogóle sformułować pytanie

Nie byłoby pytania gdyby przeczytał/obejrzał w jakimś kursie/podręczniku/filmiku co to zmienna i jak się deklaruje (przeważnie sam początek każdego) wtedy rozpoznał by czym są i i j.

12
Real Quick napisał(a):

Dostaję tylko polecenie zrobienia czegoś przez osobę x bez wcześniejszego przedstawienia, jak to zrobić czy nawet samej teorii na czym polega dana funkcji itp.

Brzmi jak typowy dzień pracy programisty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1