八大(变量)基本类型

**

变量的基本类型

1.变量:存数的
1)声明:----相当于在银行开了个帐户
int a; //声明一个整型的变量,名为a

int b,c,d; //声明三个整型的变量,名为b,c,d
2)初始化:----相当于给帐户存钱
int a = 250; //声明整型变量a并赋值为250
int a; //声明整型变量a
a = 250; //给变量a赋值为250
3)使用:----使用的是帐户里面的钱
3.1)对变量的使用就是对它所存的那个数的使用

int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给变量b
System.out.println(b); //输出变量b的值15
System.out.println(“b”); //输出b,双引号中的原样输出
a = a+10; //取出a的值5,加10后,再赋值给a
//在a本身基础之上增10
System.out.println(a); //15
3.2)变量在用之前必须声明并初始化
//System.out.println(m); //编译错误,变量m未声明
int m;
//System.out.println(m); //编译错误,变量m未初始化**
4)命名:
4.1)只能包含字母、数字、_和$符,并且不能以数字开头
4.2)严格区分大小写
4.3)不能使用关键字
4.4)允许中文命名,但不建议,
建议"英文的见名知意"、"驼峰命名法"

//4.变量的命名:
	int a1,a_5$,_3c,$_;
	//int a*b; //编译错误,不能包含*号等特殊符号
	//int 1a; //编译错误,不能以数字开头
	int aa = 5;
	//System.out.println(aA); //编译错误,严格区分大小写
	//int class; //编译错误,不能使用关键字
	int 年龄; //允许中文,但不建议(必须杜绝)
	int age; //建议"英文的见名知意"
	int score,myScore,myJavaScore; //建议"驼峰命名法"

2.八种基本数据类型:byte,short,int,long,float,double,boolean,char
1)int:整型,4个字节,-21个多亿到21个多亿
1.1)整数直接量默认为int类型,但不能超范围,若超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
1.3)运算时若超出范围,会发生溢出(溢出不是错误,但需要避免)
2)long:长整型,8个字节,很大很大很大(约900万万亿)
2.1)长整型直接量需要数字后加L或l(建议用L)
2.2)运算时若有可能溢出,建议在第一个数字后加L或l
3)double:浮点型,8个字节,很大很大很大
4)boolean:布尔型,1个字节(ture 或 false)
5)char:字符型,2个字节,范围:0~65535
6)short:占2个字节,范围:-32768~32767
7)byte:占一个字节,范围:-128~127
3.类型间的转换:
数据类型从小到大依次为:
byte,short,int,long,float,double
char,
1)两种方式:
1.1)自动/隐式类型转换:小类型到大类型
1.2)强制类型转换:大类型到小类型
语法: (要转换成为的数据类型)变量
强转有可能溢出或丢失精度

	int a = 5;
	long b = a; //自动类型转换
	int c = (int)b; //强制类型转换
	
	long d = 5; //自动类型转换
	double e = 5; //自动类型转换(e的值为5.0)
	
	long f = 10000000000L;
	int g = (int)f;
	System.out.println(g); //强转有可能发生溢出
	double h = 56.987;
	int i = (int)h;
	System.out.println(i); //56,强转有可能丢失精度

2)两点规则:
2.1)整数直接量可以直接赋值给byte,short,char,
但不能超出范围
2.2)byte,short,char型数据参与运算时,
系统会一律先将其转换为int再运算
Unicode:万国码、统一码、通用码
世界级通用的定长(16位)字符集
Unicode中包含很多个子集
Java中的char采用的是里面最最常用的一个子集
**

byte a1 = 5;
byte a2 = 6;
byte b3 = (byte)a1+a2 (编译错误,数据类型不匹配);
byte b4 = (byte)(a1+a2) (正确)

System.out.print(2+2); //2
System.out.println(2+‘2’); //52 2加上’2’的码为50(参与运算自动转换为int型)
System.out.println(‘2’+‘2’); //100 '2’的码50加’2’的码50 (参与运算自动转换为int型)
System.out.println(‘2’); //2 没参与运算输出字符2

long a = 150L;
long b = 10000000000; //编译错误,100亿写出来的就错的(超范围)
long c = 10000000000L;
Long的范围
9000000000000000000----9百万万亿多
10000000000000000000----------------BigInteger

直接量超范围为编译错误
运算超范围为溢出

int a = 10000000000; //编译错误,超范围
int a = 1000000000*10; //溢出(溢成一个乱七八糟的数)

直接量:直接写出来的数(5,25,3.14,true,‘男’)
整数直接量:直接写出来的整数(5,25)

1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)

1G=102410241024字节-------1073741824

第1个单词首字母小写,其余单词首字母大写
score,myScore,myJavaScore------------驼峰命名法(变量)

所有单词首字母大写
Score,MyScore,MyJavaScore------------帕斯卡命名法(类)

    1.变量的声明:----在银行开帐户
	int a;     声明一个整型的变量,名为a
	int b,c,d;   声明三个整型的变量,名为b,c,d
	int a;    编译错误,变量不能同名
	
	2.变量的初始化:----给帐户存钱
	int e = 250;   声明整型变量e并赋值为250
	int f;     声明整型变量f
	f = 250;     给变量f赋值为250
	
	3.变量的使用:----用的是帐户里面的钱
	int g = 5;
	int h = g+10;    取出g的值5,加10后,再赋值给变量h
	System.out.println(h);      输出变量h的值15
	System.out.println("h");    输出h,双引号中的原样输出
	g = g+10; //在g本身基础之上增10
	System.out.println(g);     15
	
	System.out.println(i);     编译错误,变量i未声明
	int i;
	System.out.println(i);    编译错误,变量i未初始化

2.1)整数直接量可以直接赋值给byte,short,char,
但不能超出范围
2.2)byte,short,char型数据参与运算时,
系统会一律先将其转换为int再运算

	byte b1 = 5;
	byte b2 = 6;
	byte b3 = b1+b2;    编译错误,运算时将b1和b2转成int类型,
	                     两个int相加,结果还是int类型,
	                     将int赋值给byte,因为不是直接量,
	                     所以需要强转
	byte b4 = (byte)(b1+b2); //强转的是运算之后的int结果
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值