Java-数据类型与变量

目录

一、字面常量

 二、数据类型

三、变量:会变,使用数据类型来定义

1. 整型变量:整型int、长整型long、短整型short、字节型byte

2. 浮点型变量:双精度浮点型double、单精度浮点型float

3. 字符型变量char:Unicode表示字符,一个字符两个字节

4. 布尔型变量boolean:只有true和false两个值

5. 类型转换

6. 类型提升

四、字符串类型:使用String类定义


一、字面常量

所谓字面常量,就是常量,固定不变;

放在“System.out.println( )”的括号中的东西,以后用的不多。

Java-数据类型与变量_第1张图片

 二、数据类型

存在意义:源自于冯·诺依曼结构,对计算机需要输入得到输出,中间需要经过存储器(就是内存),数据类型就决定往内存存储的东西的大小。

Java-数据类型与变量_第2张图片

四类:整型、浮点型、字符型、布尔型

八种:

数据类型 关键字 内存占用 范围 包装类型
字节型 byte 1字节 -128 ~ 127 Byte
短整型 short 2字节 -32768 ~ 32767 Short
整型 int         4字节 -2^31 ~ 2^31-1 Integer
长整型 long 8字节 -2^63 ~ 2^63-1 Long
单精度浮点数 float 4字节 有,不管 Float
双精度浮点数 double 8字节 Double
字符型 char 2字节 0 ~ 65535 Character
布尔型 boolean 没明确规定 true和false Boolean

 注:1. 整型和浮点型不同于C语言,在Java中都是带符号的;

        2. 整型默认为int型,浮点型默认为double型;

        3. Java中没有所谓C语言的无符号数字,全部都有符号。

三、变量:会变,使用数据类型来定义

语法格式:

数据类型 变量名 = 初始值;
int a = 10;//定义整型变量a,a是变量的名字,也是标识符,在a中放一个值是10
double d = 3.14;
char c = 'A';
boolean b = true;

a = 100;//变量,会变,即可修改

//单行定义多个同个类型变量
int a1 = 10, a2 = 20, a3 = 30;

1. 整型变量:整型int、长整型long、短整型short、字节型byte

注:长整型变量初始值后加L;注意int范围不能超,会报错

2. 浮点型变量:双精度浮点型double、单精度浮点型float

注:  (1)与整型运算区别,eg:int/int=int(1/2 = 0);double/double=double(1.0/2.0 = 0.5);但 “double num = 1.1”时,num*num = 1.2100000000000002

      (2)浮点数与整数在内存中存储方式是不同的,导致计算方式不同

      (3)double是近似而不精确

      (4)float num  = 1.0f;

3. 字符型变量char:Unicode表示字符,一个字符两个字节

使用“单引号+单个字母”表示字符字面值,也就是“  char ch = '呵'  ”。

4. 布尔型变量boolean:只有true和false两个值

boolean和int不能互相转换,互相运算

5. 类型转换

类似C语言,不相干类型之间不能互相转换。小转大自动转(隐式),大转小强转(显式),大小指数据类型范围。大转小可能丢失精度,也就是二进制位的丢失。

6. 类型提升

类似C语言,不同数据类型进行运算时,小会被提升为大。

int与long,int会提升。而比4字节小的会先提升为int再运算。

四、字符串类型:使用String类定义

String s1 = "hello";
String s2 = "world";
System.out.println(s1 + s2);//结果s1和s2将进行拼接

注:字符串与整数在一起使用 + 号 ,在打印中进行的是拼接,不是运算。

你可能感兴趣的:(java,jvm,程序人生,生活,交友)