实现字符串与基本数据之间转换

将字符串转成基本数据类型方法

例如:将字符串转成成int类型

 String str ="123";
int a =Integer.parseInt(str);
System.out.println(a);

将字符串转成double类型

     String str = "2.3";
double d =Double.parseDouble(str);
System.out.println(d);

将基本数据类型转换成字符串有3种方法

1.直接和字符串相拼接就是字符串,建议使用方便

 int a =123;
String aa =a+"";
System.out.println(aa);

2.调用String的valueOf方法

调用String方法的valueof方法转

 int a =123;
String aa =String.valueOf(a);
System.out.println(aa);

3.调用包装类中的toString方法

 int a =123;
String str =Integer.toString(a);
System.out.println(str);

system类

System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象。System类中的都是static方法,类名访问即可。在JDK中,有许多这样的类。

currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

getProperty(String key) 用来获取指定(字符串名称)中所记录的系统属性信息

arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置

练习一:验证for循环打印数字1-9999所需要使用的时间(毫秒)

 long start = System.currentTimeMillis();  //获取当前的毫秒数
for(int i=0;i<=9999;i++){
System.out.println(i);
}
long end = System.currentTimeMillis(); //获取打印完的毫秒数
System.out.println((end-start));

l 练习二:将src数组中前3个元素,复制到dest数组的前3个位置上

复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]

复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]

     int[] src = new int[]{1,2,3,4,5};
int[] dest = new int[]{6,7,8,9,10};
System.arraycopy(src, 0, dest, 0, 3);
for(int a:dest){
System.out.println(a);
}

练习三:循环生成100-999之间的的三位数并进行打印该数,当该数能被10整除时,结束运行的程序

     for(int i=101;i<=999;i++){
if(i%10==0){
System.exit(0);
}
System.out.println(i);
}

Math类

Math 类是包含用于执行基本数学运算的方法的数学工具类,如初等指数、对数、平方根和三角函数。

 //绝对值
System.out.println(Math.abs(-99));
//向上取整
System.out.println(Math.ceil(12.2));//13.0
System.out.println(Math.ceil(12.9));//13.0
//向下取整
System.out.println(Math.floor(12.2));//12.0
System.out.println(Math.floor(12.9));//12.0
//取最大值
System.out.println(Math.max(555,222));
//取最小值
System.out.println(Math.min(555, 333));
//取次幂
System.out.println(Math.pow(2, 3));
//取随机数
System.out.println(Math.random());
//四舍五入
System.out.println(Math.round(12.4));
//π
System.out.println(Math.PI);

Assrays类

此类包含用来操作数组(比如排序和搜索)的各种方法。需要注意,如果指定数组引用为 null,则访问此类中的方法都会抛出空指针异常NullPointerException。

 public static void method01(){
int[] arr ={3,6,9,11,15};
//返回指定值所对应的索引值(数组必须有序)
//如果不存在,索引值=(-当前的索引值-1)
int i =Arrays.binarySearch(arr, 9);
System.out.println(i);
}
public static void method02(){
//数组升序排序
int[] arr={5,7,8,9,10};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
for(int a:arr){
System.out.println(a);
}

java中long型为最大整数类型,对于超过long型的数据如何去表示呢.在Java的世界中,超过long型的整数已经不能被称为整数了,它们被封装成BigInteger对象.在BigInteger类中,实现四则运算都是方法来实现,并不是采用运算符.

public static void method(){
BigInteger b1 =new BigInteger("100000000000000000000000000000000");
BigInteger b2 =new BigInteger("200000000000000000000000000000000");
//加法
System.out.println(b1.add(b2));
//减法
System.out.println(b2.subtract(b1));
//乘法
System.out.println(b1.multiply(b2));
//除法
System.out.println(b2.divide(b1));
}

1.1 BigDecimal

在程序中执行下列代码,会出现什么问题?

System.out.println(0.09 + 0.01);

System.out.println(1.0 - 0.32);

System.out.println(1.015 * 100);

System.out.println(1.301 / 100);

 double和float类型在运算中很容易丢失精度,造成数据的不准确性,Java提供我们BigDecimal类可以实现浮点数据的高精度运算

 public static void method02(){
BigDecimal bd =new BigDecimal("0.09");
BigDecimal bd1 =new BigDecimal("0.01");
//加法
System.out.println(bd1.add(bd1));
//减法
System.out.println(bd1.subtract(bd));
//乘法
System.out.println(bd.multiply(bd1));
//除法
System.out.println(bd1.divide(bd,BigDecimal.ROUND_FLOOR,3));
}

java 基本类型包装类,system类,Math类,Assrays类,大数据运算的更多相关文章

  1. java基础(17):包装类、System、Math、Arrays、大数据运算

    1. 基本类型包装类 大家回想下,在第三篇文章中我们学习Java中的基本数据类型时,说Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢? 1.1 基本类型 ...

  2. 7、包装类、System、Math、Arrays、大数据运算

    基本类型封装 基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字 ...

  3. 常用API(包装类、System、Math、Arrays、大数据运算)

    常用API 今日内容介绍 u 基本类型包装类 u System u Math u Arrays u BigInteger u BigDecimal 第1章 基本类型包装类 大家回想下,在第二天我们学习 ...

  4. 17_常用API_第17天(包装类、System、Math、Arrays、大数据运算)_讲义

    今日内容介绍 1.基本类型包装类 2.System类 3.Math类 4.Arrays类 5.大数据运算 01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 ...

  5. JAVA基础之基本类型包装类、System类、Math类、Arrays类及大数据运算

    个人理解: 为了方便运算及调用一些方法,我们需要将基本类型的数值转换为对象:不过转换的时候需要特别注意好它们的类型到底是什么,需要调用方法的类名是哪个!特别注意是Byte常量池的相关问题(==):gc ...

  6. 基本类型包装类、System类、Math类、Arrays类、大数据运算

    1 基本类型包装类 Java中想对8种基本数据类型进行复杂操作很困难. 实际程序界面上用户输入的数据都是以字符串类型进行存储的. 程序开发中,需要把字符串转换成指定的基本数据类型. 1.1基本数据类型 ...

  7. Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器

    基本类型包装类 8种基本类型对应的包装类如: 将字符串转成基本类型: 将基本数值转成字符串有3种方式: 基本类型直接与””相连接即可:34+" " 调用String的valueOf ...

  8. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  9. 13-03 Java 基本类型包装类概述,Integer类,Character

    基本类型包装类概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据.常用的操作之一:用于基本数据类型与字符串之间的转换.基本类型和包装类的对应Byte,Short,Inte ...

随机推荐

  1. Web安全学习计划

    http://cisps.org/bbs/viewtopic.php?f=71&t=26125 标题为Web安全学习计划,实属我的愿望:将下面这份Web学习清单完善成为一个Web安全,学习计划 ...

  2. Django升级1.8的一些问题

    1.最明显的问题当然是Settings设置中关于模板的设置数据结构发生变化,这个就不细说了,你开个Django的1.8的新项目就知道怎么改了 2.migrations问题,这个问题是1.8最主要的修改 ...

  3. .net core2.0通过entityframework访问Sqlserver数据库

    .net core经历2.0版本之后,已经非常稳定,完全可以进行企业级开发并跨平台部署到几乎任何服务器.个人测试效率是.net core是.net framework效率的3倍.其他语言没有测试,等测 ...

  4. 使用WSL连接Docker for Windows

    在Windows下安装Docker for Windows Cotana搜索功能,打开Windows的Hype-v功能(注:会影响Virtualbox和Vmware的使用)并重启电脑. 从Docker ...

  5. 构建基础的SpringMVC+Hibernate+SpringloC项目

    一. SpringMVC 阅读我的上一篇文章<使用MyEclipse2015构建SpringMVC项目>,知道基本的构建方法,先构建一个纯springmvc项目,再对web.xml按照本文 ...

  6. 整理Cocos2d-x 面试题解

    昨天听了腾讯2015校招的在线宣讲会,看到了游戏技术大拿Steven,他总结了需要的达人得爱技术,能坚持,够挑剔.马上校招了,加油吧,骚年~ 网上关于cocos2d-x的面试题比较少,这里搜集和整理了 ...

  7. cocos2dx中的坐标系统

    一. (1)OpenGL坐标系 Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标系.该坐标系原点在屏幕左下角,x轴向右,y轴向上. (2)屏幕坐标系 屏幕坐标系 ...

  8. 洛谷 P1462 解题报告

    P1462 通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡 ...

  9. 【转】JavaScript 错误处理与调试——“错误处理”的注意要点

    try-catch语句 该语句最适合处理那些我们无法控制的错误,在明明白白地知道自己的代码会发生错误时,再使用该语句就不太合适了. ECMA-262第3版引入了try-catch语句,基本的语法如下所 ...

  10. Boyer-Moore(BM)算法,文本查找,字符串匹配问题

    KMP算法的时间复杂度是O(m + n),而Boyer-Moore算法的时间复杂度是O(n/m).文本查找中“ctrl + f”一般就是采用的BM算法. Boyer-Moore算法的关键点: 从右遍历 ...