Java基础——数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

类型

位数

最小值

最大值

默认值

byte

8

-128(-2^7)

127(2^7-1)

0

short

16

-32768(-2^15)

32767(2^15 - 1)

0

int

32

-2,147,483,648(-2^31);

2,147,483,647(2^31 - 1)

0

long

64

-9,223,372,036,854,775,808(-2^63)

9,223,372,036,854,775,807(2^63 -1)

0L

float

32

0.0f;

double

64

0.0d;

boolean

1

只有两个取值:true 和 false

false

char:

16

\u0000(即为0)

\uffff(即为65,535)

基本数据类型对象包装类

为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。用于描述该对象的类就称为基本数据类型对象包装类

基本数据类型

包装数据类型

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值

int i=Integer.valueOf(“123”).intValue()

将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值

  float f=Float.valueOf(“123”).floatValue()

将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。

   boolean b=Boolean.valueOf(“123”).booleanValue()

将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。

  double d=Double.valueOf(“123”).doubleValue()

将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。

  long l=Long.valueOf(“123”).longValue()

将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。

 char=Character.valueOf(“123”).charValue()

基本类型转换成字符串

Integer类

Integer 类在对象中包装了一个基本类型 int 的值 该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法,需要注意的是字符串必须是由数字字符组成。

public Integer(int value) 
public Integer(String s)

int类型和String类型的相互转换

返回值

方法

说明

int

intValue()

以 int 类型返回该 Integer 的值

int

parseInt(String s)

将字符串参数作为有符号的十进制整数进行解析

String

toString(int i)

返回一个表示指定整数的 String 对象

Integer

valueOf(int i)

返回一个表示指定的 int 值的 Integer 实例

Integer

valueOf(String s)

返回保存指定的 String 的值的 Integer 对象

常用的基本进制转换

返回值

方法

说明

String

toBinaryString(int i)

以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式

String

toOctalString(int i)

以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式

String

toHexString(int i)

以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式

运算符

    public static void main(String[] args) {
        int number = 10;
        printInfo(number);
        number = number << 1;
        //左移一位
        printInfo(number);
        number = number >> 2;
        //右移一位
        printInfo(number);
        number = number >>> 1;
        printInfo(number);

        number = -10;
        printInfo(number);
        number = number << 1;
        //左移一位
        printInfo(number);
        number = number >> 2;
        //右移一位
        printInfo(number);
        number = number >>> 1;
        printInfo(number);
    }
    
    private static void printInfo(int num) {
        System.out.printf("%d-----%s\n",num,Integer.toBinaryString(num));
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

你必须要知道的热门 ReentrantLock 及 AQS 的实现原理

提到 JAVA 加锁,我们通常会想到 synchronized 关键字或者是 Java Concurrent Util(后面简称JCU)包下面的 Lock,今天...

12530
来自专栏鸿的学习笔记

Presto对ORC格式的优化

最近Presto的官网发表了一篇文章,叙述了新版本的Presto对ORC格式读取的性能优化过程,包含了很多代码细节,非常有趣,故进行简单编译。

35040
来自专栏Fundebug

8 个 Tips 让你更好的进行 Code Review

你在学校里不曾学到的东西中有一件是:如何才做出优秀的 Code Review。你学到了算法、数据结构、编程语言基础知识,但没有人坐下来说:“下面介绍如何确保你如...

11660
来自专栏Python数据科学

优雅你的Python代码的15个tips

前言:师妹前段时间非常认真地选了下学期的《大数据分析实践》选修课,根据几位师兄的建议买了本书开始自学 Python 语言。然而年后再见,师妹说她看完了书,做了一...

9820
来自专栏大数据文摘

Github标星1k+,懂点Python就能读懂的机器学习全流程笔记

学完Python基础,研究机器学习,听说只需要调用scikit-learn库就可以了?

11740
来自专栏mwangblog

Dijkstra算法

Dijkstra算法使用了广度优先搜索解决赋权有向图(或无向图)的单源最短路径问题。

31530
来自专栏腾讯音视频实验室

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)

在视频编码标准过去三十多年的发展历程中,离散余弦变换(Discrete Cosine Transform,DCT)Type 2 (后面简称为DCT2)因其较低的...

43560
来自专栏ATYUN订阅号

从浅到深全面理解梯度下降:原理,类型与优势

梯度下降是迄今为止最流行的优化策略,用于机器学习和深度学习。它在训练模型时使用,可以与每个算法结合使用,易于理解和实现。

15640
来自专栏腾讯音视频实验室

从HEVC到VVC:变换技术的演进(2)—— 二次变换(Secondary transform)

当前主流的视频编码标准(例如MPEG-2,H.264,VP9,AVS1等)均采用行列可分离的主变化(Separable primary transform)技术...

55130
来自专栏大数据文摘

人工智能落地之路:从概念验证到产品

只有不到20%的机器学习PoC(概念验证)项目能够顺利投产,而这其中的大部分也可能会止步于其方案的“产品化”阶段。从概念验证到实际产品,人工智能应用落地到底要跨...

13740

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励