关于Java中的算法题的一些大数问题、Java数据类型的转换

一些大数问题

最近在做蓝桥杯的一些题目,有一些的数字是很大的,放在int(Integer)中放不下,所以我们选择用long存放,有一些需要注意的点。

  1. 在使用scanner 读入一个大数的时候,要使用scanner.nextLong().
  2. long 和 int 基本类型的转换
int a ;
long b;
long c =(long)a; //int 转 long
int d =(int) b; //long 转 int
  1. 要记住int类型的极值
    最大值->2,147,483,647 (2^31 - 1)
    最小值->-2,147,483,648(-2^32)

数据类型的转换

了解数据类型。

Java的数据类型有基本类型和包装类型,每一个基本类型都对应了一个包装类型

包装类型的相关知识点

Q1:什么是包装类型?
A1:将基本的数据类型封装成了类。就有了包装类型

Q2:为什么要有包装类型?
A2:Java是一个面向对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型。

Q3:包装类型和基本类型的不同?
A3:

  • 声明方式不同:基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;

  • 存储方式及位置不同:基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中创建,对象的引用在栈中创建,通过栈的引用来使用该包装类

  • 初始值不同:基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null

  • 使用方式不同:基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。

在java中,所有的对象都是object的子类,容器(List,Map,Collection)是只支持object类型的,所以我们在容器内要放对象类型(Integer等)而不能直接放基本类型(int等)。

数据类型的分类

  1. 整型的4种基本数据类型
    byte:8位、有符号
    short:16位、有符号
    int: 32位、有符号 -2,147,483,648(-2^ 32)到2,147,483,647 (2^31 - 1)
    long:64位、有符号

  2. 浮点数的数据类型有2种。
    float:32位,
    double:64位

  3. 字符类型
    char:一个单一的 16 位 Unicode 字符。

  4. 布尔类型
    boolean:取值只有真(true)和假(false).

  5. 封装类型和基本类型的对应关系如图。

在这里插入图片描述
图片来源:图片来源

数据类型的相互转换

举几个常用的例子~

  1. int 和Interger的转换
// int 转Integer
Integer a=Integer.valueOf(int)
//Interger转int 自动转换
Integer i=3;
int j=i; 
  1. 基本类型和String的相互转换
//基本类型转String,可以先转为封装类,在使用封装类的toString()方法。
Integer i=new Integer(3);
String a=i.toString();
System.out.println(a);

//String转基本类型,也可以先转成封装类,在转成基本类型
Integer i=Integer.valueOf("hello");  
int j=i;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值