zoukankan      html  css  js  c++  java
  • java学习笔记(7-常用api)

    线上api文档

    1.Scanner类

    说明:用Scanner类的方法可以完成接收键盘录入的数据

    package daigua7;
    import java.util.Scanner;
    
    public class Scanner1 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入一串字符:");
            System.out.println(sc.nextLine());
            sc.close();
        }
    }
    

    2.String类

    2.1构造方式

    package daigua7;
    
    public class StringDemo {
        public static void main(String[] args) {
            // 直接赋值
            String s1 = "hello world!";
            System.out.println(s1);
            
            // 使用构造方法1
            String s2 = new String("我是你爸爸!");
            System.out.println(s2);
            
            // 使用char数组
            char[] s4 = {'我', '是', '天', '才'}; // 注意,这里要用单引号,双引号会默认为String类型
            System.out.println(s4);
            
            // 使用构造方法2,使用字符数组的一部分,下标切片
            String s3 = new String(s4, 1, 3);
            System.out.println(s3);
        }
    }
    

    内存中的区别:

    2.2String类的方法

    2.2.1判断方法
    package daigua7;
    
    /*
     * Object:是类层次结构中的根类,所有的类都直接或者间接的继承自该类。
     * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象。
     * 
     * String类的判断功能:
     * boolean equals(Object obj):比较字符串的内容是否相同
     * boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
     * boolean startsWith(String str):判断字符串对象是否以指定的str开头
     * boolean endsWith(String str):判断字符串对象是否以指定的str结尾
     */
    public class StringDemo1 {
        public static void main(String[] args) {
            //创建字符串对象
            String s1 = "hello";
            String s2 = "hello";
            String s3 = "Hello";
            
            //boolean equals(Object obj):比较字符串的内容是否相同
            System.out.println(s1.equals(s2));
            System.out.println(s1.equals(s3));
            System.out.println("-----------");
            
            //boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
            System.out.println(s1.equalsIgnoreCase(s2));
            System.out.println(s1.equalsIgnoreCase(s3));
            System.out.println("-----------");
            
            //boolean startsWith(String str):判断字符串对象是否以指定的str开头
            System.out.println(s1.startsWith("he"));
            System.out.println(s1.startsWith("ll"));
            System.out.println("-----------");
            
            //boolean endsWith(String str):判断字符串对象是否以指定的str结尾
            System.out.println(s1.endsWith("lo"));
            System.out.println(s1.endsWith("he"));
            
        }
    }
    

    练习:

    package daigua7;
    
    import java.util.Scanner;
    
    /*
     * 模拟登录,给三次机会,并提示还有几次。
     * 
     * 分析:
     *      A:定义两个字符串对象,用于存储已经存在的用户名和密码
     *      B:键盘录入用户名和密码
     *      C:拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
     *          如果内容相同,提示登录成功
     *          如果内容不同,提示登录失败,并提示还有几次机会
     */
    public class StringTest1 {
        public static void main(String[] args) {
            //定义两个字符串对象,用于存储已经存在的用户名和密码
            String username = "admin";
            String password = "admin";
            Scanner sc = new Scanner(System.in);
            //给三次机会,用for循环实现
            for(int x=0; x<3; x++) {
                //键盘录入用户名和密码
                
                System.out.println("请输入用户名:");
                String name = sc.nextLine();
                System.out.println("请输入密码:");
                String pwd = sc.nextLine();
                
                //拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
                if(username.equals(name) && password.equals(pwd)) {
                    System.out.println("登录成功");
                    break;
                }else {
                    if((2-x) ==0) {
                        System.out.println("用户名和密码被锁定,请与管理员联系");
                    }else {
                        System.out.println("登录失败,你还有"+(2-x)+"次机会"); //2,1,0
                    }
                }
            }
            sc.close();
        }
    }
    
    2.2.2 获取方法
    package daigua7;
    /*
     * String类的获取功能:
     * int length():获取字符串的长度,其实也就是字符个数
     * char charAt(int index):获取指定索引处的字符
     * int indexOf(String str):获取str在字符串对象中第一次出现的索引
     * String substring(int start):从start开始截取字符串
     * String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
     */
    public class StringDemo2 {
        public static void main(String[] args) {
            String s = new String("我是你爸爸,傻儿子!");
            
            System.out.println("字符串的长度为:" + s.length());
            System.out.println("字符串第三个字符是:" + s.charAt(2));
            System.out.println("字符'爸'第一次出现的下标:" + s.indexOf('爸'));
            // 子字符串是 左闭右开的
            System.out.println("从下标3开始截取:" + s.substring(3)); 
            System.out.println("从下标3开始截取,下标5结束:" + s.substring(3,5));
        }
    }
    

    练习:

    package daigua7;
    import java.util.Scanner;
    
    /*
     * 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
     * 
     * 分析:
     *      A:键盘录入一个字符串数据
     *      B:定义三个统计变量,初始化值都是0
     *      C:遍历字符串,得到每一个字符
     *      D:拿字符进行判断
     *          假如ch是一个字符。
     *          大写:ch>='A' && ch<='Z'
     *          小写:ch>='a' && ch<='z'
     *          数字:ch>='0' && ch<='9'
     *      E:输出结果
     */
    public class StringTest2 {
        public static void main(String[] args) {
            //键盘录入一个字符串数据
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个字符串数据:");
            String s = sc.nextLine();
            
            //定义三个统计变量,初始化值都是0
            int bigCount = 0;
            int smallCount = 0;
            int numberCount = 0;
            
            //遍历字符串,得到每一个字符
            for(int x=0; x<s.length(); x++) {
                char ch = s.charAt(x);
                //拿字符进行判断
                if(ch>='A' && ch<='Z') {
                    bigCount++;
                }else if(ch>='a' && ch<='z') {
                    smallCount++;
                }else if(ch>='0' && ch<='9') {
                    numberCount++;
                }else {
                    System.out.println("该字符"+ch+"非法");
                }
            }
            
            //输出结果
            System.out.println("大写字符:"+bigCount+"个");
            System.out.println("小写字符:"+smallCount+"个");
            System.out.println("数字字符:"+numberCount+"个");
        }
    }
    
    2.2.3 字符串的转换
    package daigua7;
    /*
     * String类的转换功能:
     * char[] toCharArray():把字符串转换为字符数组
     * String toLowerCase():把字符串转换为小写字符串
     * String toUpperCase():把字符串转换为大写字符串
     * 
     * 字符串的遍历:
     *      A:length()加上charAt()
     *      B:把字符串转换为字符数组,然后遍历数组
     */
    public class StringDemo3 {
        public static void main(String[] args) {
            String s = "I'm your father, my foolish son";
            char[] c = {'1','2','3'};
            System.out.println(c);  // 字符串数组可以直接print输出内容
            System.out.println(s.toCharArray());
            System.out.println(s.toLowerCase());
            System.out.println(s.toUpperCase());
            
        }
    }
    

    练习:

    package daigua7;
    import java.util.Scanner;
    
    /*
     * 键盘录入一个字符串,把该字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
     * 
     * 分析:
     *      A:键盘录入一个字符串
     *      B:截取首字母
     *      C:截取除了首字母以外的字符串
     *      D:B转大写+C转小写
     *      E:输出即可
     */
    public class StringTest3 {
        public static void main(String[] args) {
            //键盘录入一个字符串
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个字符串:");
            String s = sc.nextLine();
            
            //截取首字母
            String s1 = s.substring(0, 1);
            
            //截取除了首字母以外的字符串
            String s2 = s.substring(1);
            
            //B转大写+C转小写
            String s3 = s1.toUpperCase()+s2.toLowerCase();
            
            //输出即可
            System.out.println("s3:"+s3);
            sc.close();
        }
    }
    
    2.2.4 其它方法

    String trim()
    String[] split(String str)

    package daigua7;
    /*
     * 去除字符串两端空格    
     *      String trim()
     * 按照指定符号分割字符串  
     *      String[] split(String str)
     */
    public class StringDemo4 {
        public static void main(String[] args) {
            String s = " ahsd alkhsd ahdka  ";
            
            System.out.println(s);
            System.out.println(s.trim());
            
            String[] s1 = s.split("a");
            for (int i = 0; i < s1.length; i++) {
                System.out.println(s1[i]);
            }       
        }
    }
    

    3.StringBuilder类

    说明:是一个可变的字符串。字符串缓冲区类

    3.1 常用方法

    package daigua7;
    /*
     * StringBuilder:是一个可变的字符串。字符串缓冲区类。
     * 
     * String和StringBuilder的区别:
     *      String的内容是固定的。
     *      StringBuilder的内容是可变的。
     * 
     * 构造方法:
     *      StringBuilder()
     * 
     * 成员方法:
     *      public int capacity():返回当前容量
     *      public int length():返回长度(字符数)
     * 
     *      容量:理论值
     *      长度:实际值
     *
     * 添加功能
     *      public StringBuilder append(任意类型):添加数据,并返回自身对象
     * 反转功能
     *      public StringBuilder reverse()
    */
    
    public class StringDemo5 {
        public static void main(String[] args) {
            StringBuilder sb = new StringBuilder();
            System.out.println(sb.capacity());
            System.out.println(sb.length());
            // 添加
            sb.append("hello ");
            sb.append("world");
            sb.append(true);
            sb.append(100);
            System.out.println(sb);
            // 反转
            System.out.println(sb.reverse());
        }
    }
    
  • 相关阅读:
    tf.nn.batch_normalization()函数解析(最清晰的解释)
    tf.identity()函数解析(最清晰的解释)
    Github Fork项目后如何与源主机代码保持更新同步
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    nginx平滑升级、在线添加模块(tengine 动态加载模块)
    使用mysqldump自动备份数据库脚本
    使用mysqldump自动备份数据库脚本
    使用mysqldump自动备份数据库脚本
  • 原文地址:https://www.cnblogs.com/daigua/p/java-xue-xi-bi-ji-7chang-yongapi.html
Copyright © 2011-2022 走看看