Java数据类型

类型决定了存储的形式和占用的存储空间

一、基本数据类型-四类八种

1、整型:byte 、short 、int 、long

2、浮点型:float 、 double

3、字符型:char

4、布尔型:boolean

image.png

数值精度顺序:double>float>long>int>short>byte

当低精度的数和高精度的数进行计算的时候,Java会自动把低精度的数转换成高精度的数。

数字的基本数据类型

byte占用1个byte,值域是-128~127

byte byteVar=99;//1个字节

short占用2个byte,值域是-32768~32767

short shortVar=-30000;//2个byte

int占用4个byte,值域是-21474836482147483647(-2^312^31-1)。Java中整数缺省是int类型

int intVar=300000;//4个byte

long占8个byte,值域是-9223372036854774808~922337203684774807

long longVar=99;//8个byte

浮点(小数)类型

float占用4个byte,值域是±340282346638528859811704183484516925440

float floatVar=100.1F;//4个byte

double精度是float的两倍,占用8个byte。Java中浮点数缺省是double类型

double doubleVar=100.1;//占用8个byte

布尔和字符 数据类型

boolean占用1个byte,值域是true,false。

boolean condition=true;//占用1个byte

char占用2个byte,值域是所有字符。(最多65535个)

char ch='A';//占用2个byte

字符串

在Java里,双引号引起来的内容叫字符串。

String 对象最重要的特点:不可变(immutable)。String 用来存储字符的数据是 private 的,而且不提供热河修改内容的方法,所以String 对象一旦生成,其内容就是完全不可能被修改的。

String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:

字符串类型的名字叫做String,String不是Java中的保留字

虽然String不是Java中的基础类型,但是也可以使用类似的语法String str="abc";来创建。开始的时候将其当成基础类型更容易理解。

public class HelloWorld{

public static void main(String[] args){

String s1 = "Runoob"; // String 直接创建

String s2 = "Runoob"; // String 直接创建

String s3 = s1; // 相同引用

String s4 = new String("Runoob"); // String 对象创建

String s5 = new String("Runoob"); // String 对象创建

System.out.println(1/3.0); //计算机能表示的精度

System.out.println(1<2);//布尔值

System.out.println('A');//字符,只有一个内容的 叫字符,用单引号

System.out.println("ABC");//字符串,可以有一个或多个,用双引号

}

}

image.png

二、数据类型自动转换

自动类型转换

不会出现问题的类型转换,编程语言可以做自动类型转换,比如低精度的数字向高精度的数字转换。

自动类型转换可以发生在算术运算,也可以发生在赋值。

隐含强制类型转换

整数的默认类型是 int。

浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。

char可以转换为int

char可以转换为int

虽然同样是两个byte,但是因为char是无符号数,值域超出了short可以表示的范围,所以不可以自动转为short

char ch='A';

int chNum=ch;

int chNumCalc=ch+10;

System.out.println(ch);

System.out.println(chNum);

强制数据类型转换

int intVal=99;

long = (int) longVal;

int a=65;

char b= (char) a;

数值溢出

我的理解是:强制类型转换的底层操作基于二进制,例如当8字节的long转为4自己的int时,计算机直接取long后边得四个字节,第一个字节得第一个位就作为了符号位,从而就有可能带来数据无意义的可能。

image.png

java中数据类型字符串_Java数据类型-基本数据类型相关推荐

  1. java中的字符串_Java中的字符串

    String:这是一个不可变类,现使用现创建,适用于少量的字符串操作的情况 StringBuilder:可变类,速度快.线程不安全,适用于单线程下在字符缓冲区进行大量操作的情况 StringBuffe ...

  2. java中的字符串_java中字符串的操作

    //创建一个字符数组 char[] charArr = {'a','b','c','d','e','f','g'}; //创建一个字符串 String str = new String(charArr ...

  3. java短整型_Java的基本数据类型

    变量就是用来储存值而保留的内存位置.这就意味着当创建一个变量时就会在内存中占用一定的空间. 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中.因此,通过给变量分配不同的数据类 ...

  4. Java中switch都可以支持哪些数据类型

    Java中switch都可以支持哪些数据类型 在JDK1.5之前,switch循环只支持byte short char int四种数据类型. JDK1.5 在switch循环中增加了枚举类与byte ...

  5. Java中,一切皆是对象——java中的对象类型与基本数据类型的区别

    起因:取一个list给另一个list赋值,然后在另一个list中取出进行修改.list其中类型为对象时,String时,基本数据类型时. [java中的对象类型与基本数据类型的区别] #声明和实例化 ...

  6. [转载] Java中的字符串处理

    参考链接: Java中的StringBuffer appendCodePoint()方法以及示例 JDK8在线Api中文手册 JDK8在线Api英文手册 Java中的字符串处理 1.1 String类 ...

  7. 字符串压缩 java_如何在Java中压缩字符串?

    如何在Java中压缩字符串? 我使用GZIPOutputStream或ZIPOutputStream压缩字符串(我的2222235278130938882小于20),但压缩结果比原始字符串长. 在某个 ...

  8. java中object类型_Java常用类object详解

    1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...

  9. Java中判断字符串是否相等

    Java中判断字符串是否相等 相等判断操作符`==` 相等判断方法`equals()` `equals()`方法原理 总结 在最近的开发中,我踩到一个坑,过程是这样的.我需要在Java中判断两个字符串 ...

  10. java中boolean方法_java中boolean类型怎么用?

    boolean类型的用法是java中的布尔型[逻辑型]数据类型,在java中boolean值只能是true和false,而不能用0和1代替,并且一定要小写,代码为[var myBoolean = ne ...

最新文章

  1. Vuebnb:一个用vue.js和Laravel构建的全栈应用
  2. OpenStack Nova 高性能虚拟机之 NUMA 架构亲和
  3. Educational Codeforces Round 11C. Hard Process two pointer
  4. 扫地机器人粘住老鼠板怎么办_家里老鼠的危害性及如何有效灭鼠
  5. C++:const修饰变量、形参、函数
  6. Error in moviepy setup command: 'extras_require' must be a dictionary whose values are strings or li
  7. 把Windows Phone应用发布到中国
  8. 编写iPhone应用程序有何不同
  9. LaTex的图文安装--TexLife+SumtraPDF+Vscode
  10. pdf转word转换器绿色版
  11. centos网卡配置
  12. 计算机毕业设计选题推荐之nodejs+vue校园外卖订餐配送系统
  13. UEBA——通过用户画像识别安全威胁
  14. Axure中插入Highcharts动态图表
  15. 数学基础——矩阵学习
  16. python爬京东优惠券_京东抽奖爬虫LiteVersion
  17. TCP协议中的Ack和Seq号
  18. 微信小程序 瀑布流布局 终极解决方案
  19. python图像分割算法_用python实现随机森林图像分割
  20. python dll_python3.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家

热门文章

  1. 实时交通标志检测和分类(附代码)
  2. 《十》微信小程序中自定义组件的组件模板和样式
  3. sql去重保留需要返回的字段信息
  4. Hybrid APP 架构设计思路
  5. 在网络中计算机接收的信号是,信息安全技术题库:在网络中,将语音与计算机产生的数字、文字、图形与图像同时传输,将语音信号数字化的技术是( )。 - 作业在线问答...
  6. python寻找质数_寻找质数方法Python2.7版本
  7. 网易实习一面(游戏测试开发)
  8. Filter过滤器怎么用
  9. 从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(1)
  10. 2018年最好的医疗网站设计及配色赏析