二、java的变量

int 类型占内存4个字节,long 类型占内存 8个字节

在此简单写一个加法算数的例子,思路:

1、根据之前Hello world的主函数写法,写出主函数

2、在主函数内定义三个int类型变量abc

3、设置c=a+b

4、输出字符c

代码如下:

//作者:李俊挥

//功能:在控制台进行计算

//日期:2013.11.28

 

public class Calculation

{

 

//主函数

public static void main(String args[])

{

int a,b,c;

a=10;

b=20; 

c=a+b;

System.out.println(c);

}

 

}

 

//end 代码结束

 

 


JAVA 基本数据类型 四大类型

 

 

整数类型

☆整数类型可以表示一个整数,常用的整数类型有:

byteshortintlong

☆它们有什么区别吗?

主要区别是 数据大小范围,如下:

byte 一个字节 -128 到 127=2^7-1

short 两个字节 -32768 到 32767=2^15-1

int 四个字节 -2147483648 到 2147483647=2^31-1

long 八个字节 -2^63 到 2^63-1

 

小数(浮点)类型

☆小数类型可以表示一个小数,常用的小数(浮点类型)有:

floatdouble

 

布尔类型

☆布尔类型可以表示 真 或者 假,类型是

boolean

比如:boolean spbool=true

 

字符类型

☆字符类型可以表示 单个字符,字符类型是char

☆多个字符则是字符串,字符类型是 String

☆思考:

int test1=’a’+’b’;

char test2=’a’+’b’;

char test3=’中’;

思考题的分析:

第一题,根据结果为int类型,所以应该是要根据ACII码的值进行计算的。记得a大概是31b大概是32。具体结果可以根据程序进行判定。

第二题,由于char类型是单个字符,如果两个字符进行相加,应该是根据保存的内存相关来得出答案。因为单个字符为8个字节,a+b16个字节,那么多出来的8个字节应该会被抛弃。即b会丢失,无法保存。所以答案应该是a。具体结果要根据程序进行判定。

第三题,跟第二题类型,char的保存应该是8个字节,而中文字符占16个字节,应该得出的结果是前8个字节。

 

以下根据分析,编写相关代码求出答案,如下:

//作者:李俊挥

//功能:根据代码得出思考题答案

//日期:2013.11.28

 

public class question

{

 

//主函数

public static void main(String args[])

{

int test1='a'+'b';

char test2='a'+'b';

char test3='';

System.out.println("test1="+test1);

System.out.println("test2="+test2);

System.out.println("test3="+test3);

}

 

}

 

//end 代码结束

 

 

可以从结果分析出,刚才的思路还是有误的。char的内存保存字节并不是1个字节,而是2个字节。所以能够保存“中”字。test2是因为a+b字符无法对应显示ACII值,所以为 ?


数据类型的转换

其中分为两种 自动转换 和 强制转换

 

自动转换

数据类型可以自动从低精度——》高精度

例如:int a=1.2; 

double b=3;

 

强制转换

数据类型从高精度——》低精度

例如:int a=(int)1.2

以下编写代码进行结果确认下,是否a=1。代码如下:

//作者:李俊挥

//功能:根据代码得出高精度强制转换为低精度的结果

//日期:2013.11.28

 

public class queren

{

 

//主函数

public static void main(String args[])

{

int a=(int)1.4;

System.out.println("a="+a);

}

 

}

//end

 

 

注意:

☆数据类型之间的转换有一个精度的问题,而精度的排序如下:

byte < short < int < long < float < double

☆在java中,小数默认是double。如果是定义float类型,需要在后面添加字符f。如下:

float a=3.4f;

double a=3.4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海洋的渔夫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值