一条俞的《JAVA核心技术卷 1》知识点总结:字符串,输入输出,控制流程

1.4字符串

  • String类的substring方法:从较大的类里面提取一个子类,例如:

    String x = "abcdefg";
    String y =x.substring(0,4);//y的字符串就是"abcd"(不包括第4个)
    
  • 新的String可以由两个老的String直接拼接;若其中有非字符串的,则自动转换成字符串,例如:

    String x ="dog";
    String y = "cat";
    String z = x+y;//直接相加
    ------------------------------------
    int a = 10;
    String b ="abc"+a;//b为"abc10",(在System.out中很多见)
    
  • String类的对象为不可变字符串;字符串常量池:编译器让字符串共享。(只有字符串常量是共享的,通过各种方法重新产生的新的字符串不是共享的,如substring等)

  • equals(不区分大小写可以用equalsIgnoreCase)检测字符串是否相等(而非==);同时字符串比较的时候完全可以字符串变量和字符串字面量比较,例如:

    "abc".equals(X)//字面量和变量比较
    
  • “” :(一个Java对象,长度0,内容空)和 null:(String变量存放null表示还没有任何对象和该变量相关联),既不是空串又不是null的检查方法:

    if(Str.length()!=0&&Str!=null)
    
  • StringBuilder:字符串构建器,builder.append():添加内容,builder.toString():转成String字符串

1.5 输入和输出

  • 输入:构造Scanner这个类的对象://Scanner定义在java.util包里面(而非基本的java.lang),需要导包

    Scanner sc = new Scanner(System.in);
    String x =sc.nextLine();//nextline处理带有空格的输入内容,next处理不带空格的输入内容,整数:nextInt,浮点:nextDouble
    
  • 输出:格式化输出:printf

    public class test2 {
        public static void main(String[] args) {
            String name = "zhangsan";
            int age = 23;
            double dollar =25.78332435;
            System.out.printf("%s,%d,%f",name,age,dollar);
        }
    }//输出的结果是zhangsan,23,25.78332435(参数与%的说明符一一对应,这个要注意顺序对应)
    ·--------------------------------------------------------------------------------------------------------
    String message =String.format("%s,%d,%f",name,age,dollar);
    //用格式化方法直接创造字符串的时候,可以用静态的format方法,作用于String类
    
  • 文件的输入和输出:暂时没太懂,后面学习。。


1.6 控制流程

  • 块(block):大括号里面的若干条java语句,用以控制变量的作用域。一个块可以嵌套在另一个块里面,嵌套的块里面不同声明一样的变量。独立的块可以声明一样的变量。

  • for/while/do...while(do...while是让代码先运行一次,再检测)。for支持迭代,例如:

    for(int i =0,i<100,i++);
    /*int i = 0:初始化计数器
      i<100:检测循环的次数
      i++:计数器更新*/
    
  • switch语句:执行相匹配的case直到遇到break,若无匹配则直接运行default。(在switch中使用枚举常量的时候,格式遵循switch的格式,不必再指明枚举名如:直接case dog;而非case Animl.dog)

  • 带有标签的break:直接给嵌套循环一个标签(abc),用break abc;直接跳出这个循环。continue:跳到最内层循环的首部。

  • BigInteger/BigDecimal:java.math的大数值类,实现任意精度的整数运算/浮点运算。用的是add、multiply方法

你可能感兴趣的:(一条俞的《JAVA核心技术卷 1》知识点总结:字符串,输入输出,控制流程)