One of the last letters to be distinguished as a separate character in the Latin alphabet — it was treated as a variant of 'i' until roughly the 16th–17th century — lowercase 'j' sits at ASCII code point 106 (0x6A), 32 above its uppercase counterpart 'J' at 74 (0x4A), maintaining the single-bit case offset (bit 5) shared by all ASCII A–Z / a–z pairs. It is one of the rarest letters in English, accounting for roughly 0.15 % of characters in typical corpora, and shares the tittle (the dot above) with its historical sibling 'i'.
// Nested loops with i, j conventionfor (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {matrix[i][j] = i * cols + j;}}
Imaginary unit in engineering: In electrical and electronic engineering, 'j' denotes the imaginary unit (√−1) in place of the mathematical convention 'i', which is reserved for current. This yields complex impedance notation such as Z = R + jX, standard across circuit analysis, signal processing, and control theory.
C99 printf length modifier: In C99 and later, 'j' serves as a length modifier for intmax_t — %jd and %ju format the widest available signed and unsigned integer types respectively. This is a niche but important tool when writing portable code that must handle maximum-width integers without assuming a specific size.
Cross-linguistic sound variation: Few Latin letters map to as wide a range of sounds as 'j' — English uses /dʒ/ (jump), German and Scandinavian languages use /j/ (equivalent to English 'y'), Spanish uses /x/ (a voiceless velar fricative), and French uses /ʒ/ (a voiced postalveolar fricative). This variation makes 'j' a frequent source of mispronunciation across languages.
Diacritical variants: Compared to most consonants, 'j' has a minimal diacritical family — ĵ (circumflex) is used in Esperanto, and a handful of phonetic transcription marks exist in IPA extensions, but the letter's modified forms remain among the sparsest in Unicode.
Imaginary unit in engineering: In electrical and electronic engineering, 'j' denotes the imaginary unit (√−1) in place of the mathematical convention 'i', which is reserved for current. This yields complex impedance notation such as Z = R + jX, standard across circuit analysis, signal processing, and control theory.
C99 printf length modifier: In C99 and later, 'j' serves as a length modifier for intmax_t — %jd and %ju format the widest available signed and unsigned integer types respectively. This is a niche but important tool when writing portable code that must handle maximum-width integers without assuming a specific size.
Cross-linguistic sound variation: Few Latin letters map to as wide a range of sounds as 'j' — English uses /dʒ/ (jump), German and Scandinavian languages use /j/ (equivalent to English 'y'), Spanish uses /x/ (a voiceless velar fricative), and French uses /ʒ/ (a voiced postalveolar fricative). This variation makes 'j' a frequent source of mispronunciation across languages.
Diacritical variants: Compared to most consonants, 'j' has a minimal diacritical family — ĵ (circumflex) is used in Esperanto, and a handful of phonetic transcription marks exist in IPA extensions, but the letter's modified forms remain among the sparsest in Unicode.