Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)

1.Java四类八种数据类型

byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0

short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0

int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0

long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L

float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0

double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0

char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false

2.数据类型的转换

(1)将字符串(String)转化为整型(int)

@Test
    public void testDataType(){
        String str="123";
        //将字符串转换为整数
        int i = Integer.parseInt(str);
        System.out.println("i的值为:"+i);
    }

控制台输出为:

(2)整型(int)转化为字符串(String)

 @Test
    public void testDataType(){
        int i=516;
        //方法1
        String str1 = String.valueOf(i);
        //方法2
        String str2 = Integer.toString(i);
        //方法3:此方法最常用
        String str3 = "" + i ;
        System.out.println("str1的值为:"+str1);
        System.out.println("str2的值为:"+str2);
        System.out.println("str3的值为:"+str3);
    }

控制台输出为:

(3)将字符串(String)转化为double类型

@Test
    public void testDataType(){
        String str="123.890";
        //将字符串转换为double
        double i = Double.parseDouble(str);
        System.out.println("i的值为:"+i);
    }

控制台输出:

处理方案:

@Test
    public void testDataType(){
        String str="123.890";
        //将字符串转换为double
        double i = Double.parseDouble(str);
        i=i+6.110;
        System.out.println("i的值为:"+i);
        DecimalFormat df = new DecimalFormat("0.000");
        String newStr=df.format(i);
        System.out.println("i的值为:"+newStr);
    }

利用DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子,调用format()方法,注意:这个方法的返回值类型为String

参考用法:

public static void main(String[] args){
        double pi=3.1415927;//圆周率
        //取一位整数 
        System.out.println(new DecimalFormat("0").format(pi));//3
        //取一位整数和两位小数  
        System.out.println(new DecimalFormat("0.00").format(pi));//3.14
        //取两位整数和三位小数,整数不足部分以0填补。  
        System.out.println(new DecimalFormat("00.000").format(pi));//03.142  
        //取所有整数部分  
        System.out.println(new DecimalFormat("#").format(pi));//3  
        //以百分比方式计数,并取两位小数  
        System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%  
        
        long c=299792458;//光速  
        //显示为科学计数法,并取五位小数  
        System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8  
        //显示为两位整数的科学计数法,并取四位小数  
        System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7  
        //每三位以逗号进行分隔。  
        System.out.println(new DecimalFormat(",###").format(c));//299,792,458  
        //将格式嵌入文本  
        System.out.println(new DecimalFormat("光速大小为每秒,###米").format(c)); //光速大小为每秒299,792,458米
    }

(4)指定日期样式

@Test
    public void testDataType(){
        SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date now=new Date();
        String currentTime=sf.format(now);
        System.out.println("当前时间为:"+currentTime);
    }

控制台输出为:

(5)字符串与其它数据类型的转换

<1>其它类型向字符串的转换

①调用类的字符串转换方法:X.toString();

自动转换:X+“”;

③使用String的方法:String.valueOf(X);

注意:重点掌握第1种和第2种方法。

案例:

@Test
    public void testDataType(){
        ArrayList<String> list=new ArrayList<>();
        list.add("linda");
        list.add("bob");
        list.add("jack");
        //注意:利用toString方法将List集合转化为字符串
        System.out.println(list.toString());
    }

控制台输出为:

注意:集合元素是用中括号[  ]

(6)List转换为数组,数组转List

<1>List转换为数组

@Test
    public void testDataType(){
        ArrayList<String> list=new ArrayList<>();
        list.add("linda");
        list.add("bob");
        list.add("jack");
        //List转换为Array
        String[] strings = new String[list.size()];
        list.toArray(strings);
        //控制台输出数组元素
        System.out.println(strings[0]);
        System.out.println(strings[1]);
        System.out.println(strings[2]);

    }

控制台输出:

<2>数组转List

@Test
    public void testDataType(){
        String[] s = {"a","b","c"};
        List list = Arrays.asList(s);
        System.out.println(list.toString());

    }

控制台输出:

(7)字符串分隔成数组

@Test
    public void testStringSplit() {
        String str="1-2-3";
        String[] split = str.split("-");
        System.out.println(split[0]);
    }

控制台输出:

3.java 获取当前时间、年、月、日、时、分、秒

@Test
    public void testGetYear(){
        Calendar now = Calendar.getInstance();
        System.out.println("年:"+ now.get(Calendar.YEAR));
        System.out.println("月:"+ (now.get(Calendar.MONTH) +1));
        System.out.println("日:"+ now.get(Calendar.DAY_OF_MONTH));
        System.out.println("时:"+ now.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:"+ now.get(Calendar.MINUTE));
        System.out.println("秒:"+ now.get(Calendar.SECOND));
        Date d =new Date();
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间:"+ sdf.format(d));

    }

控制台输出:

4.字符串相关操作

(1)转换大小写

 @Test
    public void testChange() {
        String str = "Din933";
        System.out.println("原字符串:" + str);
        String newA = str.toUpperCase();
        System.out.println("大写转换:" + newA);
        String newB = str.toLowerCase();
        System.out.println("小写转换:" + newB);
    }

效果图:

原文地址:https://www.cnblogs.com/luckyplj/p/11679170.html