2023/7/23

zhenaifen / 2023-07-23 / 原文

今天了解了包装类中的Boolean类和Character类,包装类有一个共同的父类Number类,Number类中所有的方法都包含在子类中。

个人感觉包装类更多用于方法的形参中,可以实时记录过程的值并在反馈在主函数中。

package 包装类;

public class Character类 {
    public static void main(String[] aegs)
    {
        Character a=Character.valueOf('c');
        char b=Character.toUpperCase(a);//转换为大写,本身的值不变
        System.out.println(a+""+b);
        boolean c=Character.isUpperCase(a);//判断是否大写
        System.out.println(c);
        boolean d=Character.isLowerCase(a);
        System.out.println(d);
        System.out.println(Character.isLetter('3'));//判断是否为字母
        System.out.println(Character.isDigit('3'));//判断是否为数字
    }
}
package 包装类;
import java.util.Scanner;
public class 计算字符串数字的平方值 {
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        String a=sc.next();
        int b=(Integer.parseInt(a))*(Integer.parseInt(a));
        System.out.println(b);
    }
    
}
package 包装类;

public class 判断字符是数字还是字母 {
    public static void main(String[] args)
    {
        String a="JDK 11.0.1";
        for(int i=0;i<a.length();i++)
        {
            boolean zimu=Character.isLetter(a.charAt(i));
            boolean shuzi=Character.isDigit(a.charAt(i));
            if(zimu)
            {
                System.out.println("第"+(i+1)+"个字符是字母");
            }
            else if(shuzi)
            {
                System.out.println("第"+(i+1)+"个字符是数字");
            }
            else {
                System.out.println("第"+(i+1)+"个字符既不是字母也不是数字");
            }
        }
    }
}
package 包装类;

public class Boolean类 {
    public static void main(String[] args)
    {
        boolean b=false;
        Boolean a=Boolean.valueOf("tru");//字符串是true就为true否则就为false
        System.out.println(a);
        Boolean c=Boolean.valueOf(b);//valueOf的参数是boolean类型或者String类型
        System.out.println(c);
        System.out.println(a.equals(c));//比较类
        System.out.println(a.compareTo(b));//比字符串的大小
        System.out.println(Boolean.parseBoolean("true"));//将字符串解析为boolean类型是true就为true否则就为false
    }
}
package 包装类;

public class 判断字符是数字还是字母 {
    public static void main(String[] args)
    {
        String a="JDK 11.0.1";
        for(int i=0;i<a.length();i++)
        {
            boolean zimu=Character.isLetter(a.charAt(i));
            boolean shuzi=Character.isDigit(a.charAt(i));
            if(zimu)
            {
                System.out.println("第"+(i+1)+"个字符是字母");
            }
            else if(shuzi)
            {
                System.out.println("第"+(i+1)+"个字符是数字");
            }
            else {
                System.out.println("第"+(i+1)+"个字符既不是字母也不是数字");
            }
        }
    }
}

然后就是数字格式化,Java中使用java.text,DecimalFormat格式化数字。

使用DecimalFormat时需要先创建一个它的对象,创建对象时可以直接指定格式化的模板,也可以使用applyPattern()方法在后面修改模板。

在DecimalFormat中除了通过模板来格式化数字分组大小,还可以使用setGroupingSize()来设置分组大小,通过setGroupingUsed(true)来开启或关闭此功能

package 数字处理;
import java.text.DecimalFormat;
public class 数字格式化 {
    public static void main(String[] args)
    {
        String pattern="##0,000.00";//先用字符串自定义模板,0表示数字没有该位就补0,#不会填充
        DecimalFormat ownFormat=new DecimalFormat(pattern);//用定义好的模板创建对象
        double pi=312.321;
        double c=12341.32154;
        String a=ownFormat.format(pi);
        System.out.println(a);
        ownFormat.applyPattern("'='#.###\u00A4");//单引号用于消除特殊符号的含义当成普通符号处理
        //可以用applyPattern修改模板
        String b=ownFormat.format(pi);
        System.out.println(b);
        ownFormat.setGroupingSize(2);//设置分组
        ownFormat.setGroupingUsed(true);//开启分组
        System.out.println(ownFormat.format(c));
        
    }
}