zoukankan      html  css  js  c++  java
  • 字符串与包装类

    1. 字符串类

    1.1 字符串类定义

    Java字符串类(java.lang.String)是java中使用最多的类,也是最为特殊的一个类。

    字符串(String)是由数字、字母、下划线组成的一串字符,是编程语言中表示文本的数据类型。

    操作字符串的常用方法有复制、计算其长度、查找字符串中的某些字符等。java标准库中的String类包含很多的想法,想要记住所有的类和方法是一件很困难的事情,最好的办法就是养成随时查阅API文档的习惯。下面是API文档的链接:

    Java SE官方API文档 - Java.lang.String 
    Java SE官方API文档 - Java.lang.Byte 
    Java SE官方API文档 - Java.lang.Boolean 
    Java SE官方API文档 - Java.lang.Integer

    1.2 用String类中自带方法操作字符串

    这里会用到trim()、substring()、equals()和length()方法。

    1. String trim(),该方法返回一个新字符串,新的字符串删除了原始串中首尾的空格。
    2. String substring(int beginIndex, int endIndex),该方法返回一个新字符串,新的字符串包含原来字符串中从beginIndex到endIndex-1的所有内容。
    3. boolean equals(Object other),该方法用于比较两个字符串,如果原字符串与other相等,则返回true。
    4. int length(),该方法返回一个字符串的长度。

    这个项目首先需要获取来自用户的输入,然后去除输入的字符串中首尾多余的空格,再与字符串shiyanlou相比较,如果两个字符串相同,则截取该字符串前6位部分作为新的字符串。

    import java.util.Scanner;
    
    public class StringTools {
        public static void main(String[] args)
        {
            String a = new String();
            String b = new String();
            String c = new String();
    
            Scanner scan = new Scanner(System.in);  //创建扫描器
            System.out.println("please input a string with 10 more letters includes space : ");
    
            a=scan.nextLine();
            b=a.trim();
    
            if(b.equals("shiyanlou"))
                c=b.substring(0, 6);
            else
                c = "";
    
            System.out.println("a : "+a);
            System.out.println("The length of a if: " + a.length());
            System.out.println("b : "+b);
            System.out.println("The length of b if: " + b.length());
            System.out.println("c : "+c);
            System.out.println("The length of c if: " + c.length());
        }
     }
    please input a string with 10 more letters includes space : 
         shiyanlou
    a :      shiyanlou
    The length of a if: 14
    b : shiyanlou
    The length of b if: 9
    c : shiyan
    The length of c if: 6

    ==和equals()的区别:

    “==”比较的是一个对象在内存中的地址值,栈中的内容是否相同 
    “equals()”是针对引用的,比较的是引用类型的内容一样不一样,堆中的内容是否相同。

    重写equals()方法的时候,需重写hashcode方法,这样比较的时候,比较的是两个对象的hash值,不同对象的hash值不同。

    2. 认识包装类

    2.1 包装类定义

    我们知道,Java语言是面向对象的,但Java中的基本数据类型却不是面向对象的。这在实际使用过程中造成了诸多不便。为了解决此问题,Java语言的设计者们在设计类时,为每种基本数据类型也设计了一个对应的类。这八个和基本数据类型对应的类统称为包装类(Wrapper Class),也称为外覆类或数据类型类。

    包装类均位于java.lang包中,下表给出了包装类和基本数据类型的对应关系:

    基本数据类型对应包装类
    byte Byte
    boolean Boolean
    short Short
    char Character
    int Integer
    long Long
    float Float
    double Double

      包装类的用途主要包含两种:

    1. 作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
    2. 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

    2.2 比较Double类型

    首先你应该知道double和Double的区别,前者是基本的数据类型,后者是引用类型,即包装类。我们可以直接使用普通运算符“==”对基本数据类型进行比较,但如果将“==”用于比较引用类型的话,只会判断其内存地址是否相同,并且结果通常是否定的。

    public class DoubleCompare {
        public static void main(String[] args)
        {
            String s_1 = "123.321";
            String s_2 = "567.765";
    
            //上面的parseDouble(String s)就是Double类中自带的将字符串中的数字转换为double类型的方法。
            Double num_1 = Double.parseDouble(s_1);
            Double num_2 = Double.parseDouble(s_2);
    
            System.out.println("number 1:" + num_1);
            System.out.println("number 2:" + num_2);
    
            switch(num_1.compareTo(num_2))
            {
                case -1:
                    System.out.println("num_1 is smaller than num_2");
                    break;
                case 0:
                    System.out.println("num_1 is equal to num_2");
                    break;
                case 1:
                    System.out.println("num_1 is bigger than num_2");
                    break;
            }
        }
    
    }
    number 1:123.321
    number 2:567.765
    num_1 is smaller than num_2
  • 相关阅读:
    进程同步
    CPU调度
    线程的引入
    进程互斥
    处理器状态
    操作系统
    进程的基本概念
    socket应用
    html笔记
    HTTP基本链接原理
  • 原文地址:https://www.cnblogs.com/gaoss/p/6626127.html
Copyright © 2011-2022 走看看