java中的转义字符的作用是什么?

Python026

java中的转义字符的作用是什么?,第1张

转义字符

概念:通过 \ 来转变后面字母或符号的含义。

举一些例子:

\b:退格

\n:换行

\t:制表符,相当于tab键

\r:回车

\\:表示反斜杠

\':表示单引号

\":表示双引号

转义字符的作用有两个 :第一个是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当做文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示

比如在写html的时候,如果想让两个字符之间多几个空格,你拍几个空格,发现浏览器查看只有一个,但你要写几个\b 就没问题了

import java.awt.*

import java.awt.event.*

import javax.swing.*

class General extends JFrame implements ActionListener

{

String args[]={"退格","总清","清零","/","1","2","3","+","4","5","6","-","7","8","9","*","0","+/-",".","="}

JButton jb[]=new JButton[20]

JPanel p1=new JPanel()

JTextField jtf=new JTextField(15)

double num1,num2,jieguo

char c,ch

public General()

{

Container ct=getContentPane()

jtf.addKeyListener(new KA())

jtf.setHorizontalAlignment(JTextField.RIGHT)

ct.add(jtf,"North")

p1.setLayout(new GridLayout(5,4))

for(int i=0i<20i++)

{

jb[i]=new JButton(args[i])

jb[i].addActionListener(this)

p1.add(jb[i])

}

ct.add(p1)

pack()

setVisible(true)

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

public static void main(String args[])

{

new General()

}

public void actionPerformed(ActionEvent e)// 监听按键

{

String str=e.getActionCommand().trim()

if("0123456789.".indexOf(str)!=-1)

{

if(jtf.getText().equals("0"))jtf.setText(null)

jtf.setText(jtf.getText()+str)

return

}

if("+-*/".indexOf(str)!=-1)

{

num1=Double.parseDouble(jtf.getText())

c=str.charAt(0)

jtf.setText(null)

return

}

else if(str.equals("="))

{

num2=Double.parseDouble(jtf.getText())

switch(c)

{

case '+': jieguo=num1+num2break

case '-': jieguo=num1-num2break

case '*': jieguo=num1*num2break

case '/': jieguo=num1/num2break

}

jtf.setText(Double.toString(jieguo))

}

else if(str.equals("+/-"))

{

if(jtf.getText().isEmpty()==false)

{

Double lnum=-(Double.parseDouble(jtf.getText()))

jtf.setText(Double.toString(lnum))

}

else

{

jtf.setText("-")

}

}

else if(str.equals("清空"))

{

jtf.setText(null)

}

else if(str.equals("清零"))

{

jtf.setText("0")

}

else if(str.equals("退格"))

{

jtf.setText(jtf.getText().substring(0,jtf.getText().length()-1))

}

}

class KA extends KeyAdapter // 监听键盘

{

public void keyPressed(KeyEvent e)

{

char ch=e.getKeyChar()

if("+-*/".indexOf(ch)!=-1)

{

num1=Double.parseDouble(jtf.getText())

c=ch

}

if(ch=='='|ch==e.VK_ENTER)

{

num2=Double.parseDouble(jtf.getText())

switch(c)

{

case '+': jieguo=num1+num2break

case '-': jieguo=num1-num2break

case '*': jieguo=num1*num2break

case '/': jieguo=num1/num2break

}

}

}

public void keyReleased(KeyEvent e)

{

char ch=e.getKeyChar()

if("+-*/".indexOf(ch)!=-1)

{

jtf.setText(null)

}

if(ch=='='|e.getKeyCode()==e.VK_ENTER)

{

jtf.setText(Double.toString(jieguo))

}

}

}

}