数据类型及变量

目录

一、常量

二、数据类型

三、变量

1.变量概念

2.语法格式

3.整形变量

4.浮点型变量

5.字符型变量

6.布尔型变量

7.类型转换


一、常量

常量即程序运行期间,固定不变的量

public class Test{
    public static void main(String[] args){
        
     System.out.println("Hello");//字符串常量
     System.out.println(1);//整形常量
     System.out.println(1.0); //浮点数常量
     System.out.println('ABC');//字符常量
     System.out.println(true);//布尔型常量
     
    }

}

这些都是不同类型的常量,这些常量的分类其实就是数据类型。

二、数据类型

在java中数据类型分为基本数据类型引用数据类型。

基本数据类型有四类八种

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

八种:
 

数据类型

关键字内存占用范围
字节型byte1 byte=8 bit-128~127
整型int4byte-2^31~2^31-1
短整型short2 byte-32768~32767
长整型long8 byte-2^63~2^63-1
单精度浮点数float4 byte
双精度浮点数double8 byte
字符型char2 byte0~65535
布尔型booleantrue/false

整型默认为int型,浮点型默认为double型

三、变量

1.变量概念

对于经常要改变的内容称为变量

2.语法格式

数据类型 变量名 = 初始值

例如:

int age = 20;

3.整形变量

方法一
int a = 10;
System.out.println(a);

方法二
int b;
b = 10
System.out.println(b);

注意在定义int变量时不能超过int的范围,否则会报错。

在使用方法二时,如果在使用前没有赋值,则编译时会报错。

长整型变量

int a =10;
long b =10L;//为了区分int和long整型,一般建议在long变量后加上大写L

长整型在系统中占8个字节

long的包装类为Long

短整型变量

short a = 10;
System.out.println(a);

短整型在系统中占2个字节

short的包装类为Short

4.浮点型变量

int a = 1;
int b = 2;
System.out.println(a / b); 

在java中,int / int仍然是int 会直接舍弃小数部分,所以如果想要得到小数,需要使用double类型来计算。 

double a = 1.0;
double b = 2.0;
System.out.println(a / b); 

double在系统中占8个字节

double的包装类为Double

float a = 1.0f;//或者1.0F
System.out.println(a);

5.字符型变量

char a = 'A';
char b = '1';
char c = '语言';
System.out.println(a);
System.out.println(b);
System.out.println(c);

注意:Java 中使用 单引号 + 单个字母 的形式表示字符字面值

如果c在javac中输出时有文字错误,则加入utf-8就可以

javac -encoding UTF-8 

char的包装类型为Character

6.布尔型变量

布尔类型一般用于判断真假

boolean a = true;
boolean b = flase;
System.out.println(a);
System.out.println(b);

注意:

boolean类型的变量只有true和flase两种取值

boolean的包装类型为Boolean 

7.类型转换

int a = 1;
long b = 100L;
b = a;//可以执行编译
a = b;//不可以执行编译

如图中,当数据类型不一致时,就会进行类型转换。

java类型转换主要分为两种:自动转换 和 强制转换

自动转换:

int a = 1;
long b = 100L;
b = a;//可以执行编译 b比a的范围大,可以将a提升到long类型,然后赋值
a = b;//不可以执行编译 a比b的范围小,如果转换,会有数据丢失

强制转换:

 

int a = 1;
long b = 100L;
b = a;
a = (int)b;//a的范围比b小,需要强转

总结:

不同类型的变量之间赋值时,范围更小的类型可以自动转型到范围大的类型

如果将范围大的类型赋值给范围小的类型时,选哟强制转换,但有可能发现精度丢失

强制转换不一定能每次都成功,不相干的类型不能互相转换(如int和boolean型)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值