Qual è il carattere backslash (\\)?

Qual è la stringa letterale \\ backslash ? Che cosa fa? Ci ho pensato ma non lo capisco. Lo leggo anche su wikipedia . Quando provo a stampare quanto segue:

 System.out.println("Mango \\ Nightangle"); 

l’uscita è: Mango \ Nightangle

Qual è il significato di questa stringa letterale?

\ è usato come per la sequenza di escape in molti linguaggi di programmazione, incluso Java.

Se lo desidera

  • vai alla riga successiva quindi usa \n o \r ,
  • per uso delle tabulazioni \t
  • allo stesso modo per stampare un \ o " che sono speciali in stringa letterale devi sfuggire ad un altro \ che ci dà \\ e \"

Immagina di progettare un linguaggio di programmazione. Decidi che le stringhe sono racchiuse tra virgolette (“Apple”). Poi hai colpito il tuo primo intoppo: come rappresentare le virgolette dal momento che li hai già usati? Appena fuori dalle convenzioni decidi di usare \" per rappresentare le virgolette.Allora hai un secondo problema: come rappresentare \ ? Di nuovo, per convenzione decidi di usare \\ invece, per fortuna, il processo finisce lì e questo è sufficiente È anche ansible utilizzare quella che viene chiamata una sequenza di escape per rappresentare altri caratteri come il ritorno a capo ( \n ).

\ è usato per le sequenze di escape nei linguaggi di programmazione.

\n stampa una nuova riga
\\ stampa un backslash
\" stampa”
\t stampa un tabulatore
\b sposta il cursore indietro

È usato per sfuggire a caratteri speciali e stamparli così come sono. Ad esempio, per stampare una virgola doppia che viene utilizzata per racchiudere le stringhe, è necessario sfuggire utilizzando il carattere barra rovesciata.

per esempio

 System.out.println("printing \"this\" in quotes"); 

uscite

 printing "this" in quotes 

Il \ su proprio è usato per sfuggire caratteri speciali, come \n (nuova riga), \t (tabulazione), \" (virgolette) quando si digitano questi valori specifici in un’istruzione System.out.println() .

Quindi, se vuoi stampare una barra rovesciata, \ , non puoi averla da sola poiché il compilatore si aspetta un carattere speciale (come quelli sopra). Pertanto, per stampare una barra rovesciata è necessario sfuggirla, poiché anche essa è uno di questi caratteri speciali, quindi \\ yields \ .

Se il doppio backslash ti sembra strano, C # consente anche letterali stringa letterali in cui l’escape non è richiesto.

 Console.WriteLine(@"Mango \ Nightangle"); 

Non ti piacerebbe che Java avesse qualcosa del genere 😉