常用各种数据转换(Java)(进制,日期,字符,Asci值,BIgInteger转换)s

系列文章目录

我在写各种代码提的过程中,发现总是在数据转换上卡住,所以今天来总结一下,顺便复习一下



一、基本字符串,字符,数值转换

 1,数字转换

 //数字转字符串
        int a=2;
        String s=a+"";

  //数字转字符
        int b=2;
        char ch=String.valueOf(b).charAt(0);//要先转换为String类型再转字符

2,字符串转换

  //字符串转数字
         String ss="1234";
        int num=Integer.parseInt(ss);
  //同理也可调用其他数值方法
        double num1=Double.parseDouble(ss);
  //字符串转字符
        String ss1="1234";
        char c=ss1.charAt(0);//使用String的方法获取对应索引的字符

3,字符转换

//字符转换数字
            //通过转换为字符串间接转换为数字
            //通过acill码与0字符的差值算出数字
            char a='1';
            int num=a-'0';//1
 // 字符转换为字符串
        char c='a';
        String s=String.valueOf(c);
   //字符的大小写转换
        char a='a'
        char a=(char)(a-32) //结果为A
        char A=Character.toUpperCase('a');
        char b=Character.toLowerCase('B');

二、Acill码

在算法题中经常出现的是转化字符的大小写,或者将转换字符或者ASCll值,需要记住的是a的ascll值是97,A为65,大小写之间的转换就是加减32,


1,字符相互转换ASCII码

//ASCII码转换为字符
int n=97;
System.out.println((char)n);//通过强制类型转换
//字符转换为ASCII
char a='a';
System.out.println(a-0)  

 三,进制转换

基本思路就是采用"除以进制数,反向取余数,直到商为0",需要注意的是十六进制超过9就会用A-F代替10-15,小数部分就以上取整,正向输出,其他较为复杂的可去看看很多写的详细的博客。

四,日期转换

在java-8中提供了几个类来封装时间和日期让我们计算,分别是Date类 Calender类,但我们比较常用的是Data类,我列举几个常用的函数

1,Data类

//获取当前系统时间
Date date= new Date();
//接受参数(1970.1.1起的毫秒
Date date1= new Date(24*60*60*1000);1970.1.2
//比较两个Date对象的大小,

2,Calender类

下次待补充

五,BigInteger大数运算

一旦整数范围大于64位就要使用BIgInteger 运算,进行加减乘除运算时,必须是两个BIgInterger向加减,(int 的最大值为 2^31-1)

BigInteger是每次运算都会产生一个新的对象,运算异常会抛出异常

1,算数运算

   //算数运算

 BigInteger a = new BigInteger("2");
        BigInteger b = new BigInteger("3");
        //1.加
        BigInteger bigNum1 = a.add(b);			
        //2.减
        BigInteger bigNum2 = a.subtract(b);		
        //3.乘
        BigInteger bigNum3 = a.multiply(b);		
        //4.除
        BigInteger bigNum4 = a.divide(b);		
        //5.取模
        BigInteger bigNum5 = a.mod(b);			
        //6.求余
        BigInteger bigNum6 = a.remainder(b);	
        //7.平方
        BigInteger bigNum7 = a.pow(2);			
        //8.取绝对值
        BigInteger bigNum8 = a.abs();
 compareTo()返回一个int:1 大于; 0 等于; -1 小于;
  max(),min():分别返回大的(小的

2,进制转换

  
BigInteger bigNum = new BigInteger("22");
int radix = 2;

//转换为String      
String num2 = bigNum.toString();		
//转换为二进制的String       
String num3 = bigNum.toString(radix);	

总结

后续要继续补充的

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值