1.Scanner类
使用Scanner类来接受来自键盘的输入
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();//用来接受字符串,来自键盘输入的一整行
Int x =sc.nextInt();//用来接受一个整形数字
来判断是否会有下一行输入的时候 可以用以下几个方法:
判断是否有下一个输入
sc.hasNext()
sc.hasNextInt()
sc.hasNextDouble()
sc.hasNextLine()
格式化的输出:
//0指一位数字,#指除0以外的数字(如果是0,则不显示)
DecimalFormat fd = new DecimalFormat("#.00#");
DecimalFormat gd = new DecimalFormat(“0.000”);
System.out.println(“x =” + fd.format(x));
System.out.println(“x =” + gd.format(x));
2.对接受的字符串进行处理,处理特殊字符
str.replace(‘old char’,‘new char’); // 对str不做任何改变,得到的新值
public String replaceAll(String regex,String replacement);
regex是正则表达式,功能比较强大,具体可以自行百度
str.replaceAll("[^0-9a-zA-Z.,,。??“”]+",""); // []不匹配 ^0-9正负数 a-z A-Z ,.?" 替换为空,相当于删除指定的(指括号内的字符)之外的所有的其他字符
还有replaceFirst();具体可以百度
spilt函数
str.spilt(String regex,int limit)
同样是regex正则表达式,用来分割字符串,规则就是regex表达式,limit是分割成多少段,由于正则表达式中本身带有一些特定的字符,所以在分割字符串的时候需要对 指定的字符进行转义处理,否则会达不到预期效果
String str = "j a v a “;
String result[]=str.spilt(” ");//按照空格分割字符串,并且将每一个部分放在result[]中
输出 result[]数组的效果如下:
result[0]=j;
result[1]=a;
result[2]=v;
result[3]=a;
3.将字符串转变为字符数组
Char[] a = str.toCharArray();
这个可以将str字符串转换为字符数组
然后通过数组a来进行操作,对字符串中每一个字符通过数组的方式来访问的时候会十分的简便便捷
4.java中的栈
Stack stack = new Stack();//实例化一个栈对象stack
System.out.println(stack.empty());
//2.peek()栈顶值 3.进栈push()
stack.push(new Integer(1));
stack.push(“b”);
System.out.println(stack.peek());
//4.pop()出栈
stack.pop();
System.out.println(stack.peek());