• Scanner类、String类、StringBuffer类


    1、Scanner类

    当程序需要从键盘获取用户输入的命令或数据时,可以通过Scanner类方便地获取用户输入。

    通过Scanner类获取用户输入时,控制台会一直等待用户的输入,直到用户敲回车键结束,把所输入的内容传给Scanner,程序要从Scanner获取输入的内容,则只需要调用Scanner的方法即可。

    ● Scanner类的初始化:

    Scanner  scanner = new  Scanner(System.in);

    声明一个scanner变量,并用new运算符实例化Scanner,实例化Scanner时,需要传入System.in对象,Scanner通过传入的System.in获取用户输入,并对用户输入的字符进行处理,屏蔽了获取用户输入的复杂操作。

    ● 示例:从键盘获取用户的输入

     1 public class ScannerDemo {
     2     public static void main(String[] args) {
     3         int num = Su.getNum();
     4         System.out.println("输出结果:" + num);
     5     }
     6     
     7 }
     8 
     9 class Su{
    10     private static Scanner sc = null;
    11     private Su(){
    12         
    13     }
    14     static{
    15         sc = new Scanner(System.in);
    16     }
    17     public static int getNum(){
    18         int i = 0;
    19         while(true){
    20             System.out.println("请输入一个数字:");
    21             if(sc.hasNextInt()){
    22                 i = sc.nextInt();
    23                 break;
    24             }else{
    25                 sc = new Scanner(System.in);//为了阻塞住程序
    26                 System.out.println("你输入的不正确,请重新输入");
    27             }
    28         }
    29         return i;
    30     }
    31     
    32 }

    2、String 类

    ● String 类内存图解:

    String s = new String("hello");创建了几个对象?
    创建了两个对象,一个在常量池,一个在堆内存。

    3、StringBuffer 类

    StringBuffer 的 capacity()方法会自动扩充容量,默认16

    ● 示例:实现字符串的反转(通过 StringBuffer 和 String 相互转换)

     1     public static void main(String[] args) {
     2         String s = "abcdefg";
     3         StringBuffer sb = new StringBuffer(s);
     4         System.out.println(sb);
     5         StringBuffer sbr = sb.reverse();
     6         String string = sbr.toString();
     7         char[] charArray = string.toCharArray();
     8         for(char c : charArray){
     9             System.out.print(c);
    10         }
    11     }

    ● 结果:abcdefg

          gfedcba

  • 相关阅读:
    【jquery ,ajax,php】加载更多实例
    关于scrollTop
    jquery 底部导航透明度变化
    jquery 处理密码输入框(input type="password" ) 模仿placeholder
    物化视图基于rowID快速刷新
    ora-01653 无法通过1024扩展
    oracle临时表空间
    java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
    redis 简单使用
    BigDecimal 运算
  • 原文地址:https://www.cnblogs.com/fanyizhan/p/10022093.html
Copyright © 2020-2023  润新知