- 帖子
- 3852
- 积分
- 13044
- 威望
- 16780
- 金钱
- 36761
- 在线时间
- 1139 小时
|
java第三课8大变量
大家好,我是yhackert,今天给大家给如何 java第三课八大变量
我群:34128907 有事找我!呵呵!
==================================================================
教程下载地址:http://ww.hack58.com/Soft/html/9/90/2006/200612299239.htm
今天的课程比较多,需要大家去理解,动手,动脑!!!
Java的整型数据
一、整型常量:
与C,C++相同,Java的整常数有三种形式:
①十进制整数,如123,-456,0
②八进制整数,以0开头,如0123表示十进制数83,-011表示十进制数-9。
③十六进制整数,以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。
整型常量在机器中占32位,具有int型的值,对于long型值,则要在数字后加L或l,如123L表示一个长整数,它在机器中占64位。
==================================================================================================================
一般学计算机的人都知道,计算机中的数分为 2进制,8进制,10进制 16进制,我们生活中用的都是10进制,这个你如果不知道
那你自己要补习一下!!!!
====================================================================================================================
二、整型变量:
整型变量的类型有byte、short、int、long四种。下表列出各类型所在内存的位数和其表示范围。
int类型是最常使用的一种整数类型。它所表示的数据范围64位处理器。但对于大型计算,常会遇到很大的整数,
超出int类所表示的范围,这时要使用long类型。
在使用整数型变量的时候要注意其最大和最小取值范围,如果实际取值超过范围,则会出现溢出错误。尤其在做阶乘的时候要注意。
如果机器不是很好,还要节约机器资源,只需要int型的地方,就不要用long型。
由于不同的机器对于多字节数据的存储方式不同,可能是低字节向高字节存储,也可能是从高字节向低字节存储,这样,
在分析网络协议或文件格时,为了解决不同机器上的字节存储顺序问题,用byte类型来表示数据是合适的。而通常情况下,
由于其表示的数据范围很小,容易造成溢出,应避免使用。
short类型则很少使用,它限制数据的存储为先高字节,后低字节,这样在某些机器中会出错。
三、整型变量的定义
如:
byte b;//指定变量b为byte型
short s;//指定变量s为short型
int i;//指定变量i为int型
long l;//指定变量l为long型
这个简单,大家可以理解吧~~~~~~这和C语言以及所有的语言都是一样的!!!!!!
Java的浮点型(实型)数据
一、实型常量
与C,C++相同,Java的实常数有两种表示形式:
①十进制数形式,由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.0
②科学计数法形式。如:123e3或123E3,其中e或E之前必须有数,且e或E后面的指数必须为整数。
实常数在机器中占64位,具有double型的值。对于float型的值,要在数字后加f或F,如12.3F,
它在机器中占32位,且表示精度较低。
科学计数法形式这个你如果不知道,那你要到网上找找资料,我就不在这里多说了!!!
二、实型变量
实型变量的类型有float和double两种,下表列出这两种类型所占内存的位数和其表示范围。
float和double都是浮点数据类型,程序中使用它们来代表小数。由于计算机采用浮点来计算小数,
因此就叫浮点数据类型。也因为这个原因,计算机算出来的小数点后的n位(视具体的情况而定) ,
与实际的数值总是会有一定的误差。它只会去尽量地接近它,所以位数越多约精确。float是32位,应该够用了,
如果不够,那就只能用double了,但也要节约资源。
数据类型所占位数数的范围
float 323.4E-038~3.4E+038
double 641.7E-308~1.7E+308
双精度类型double比单精度类型float具有更高的精度和更大表示范围,常常使用。
如果常数后面有一个'd'或者'D',那么就表示是double型的。付址的时候,应该这样写:
float f1=3.14f;
double f2=3.14d;
三、实型变量定义
float f;//指定变量f为float型
double d;//指定变量d为double型
[注]与C、C++不同,Java中没有无符号型整数,而且明确规定了整型和浮点型数据所占的内存字节数,这样就保证了安全性、
鲁棒性和平台无关性。
Java的字符型数据
一、字符常量
字符常量是用单引号括起来的一个字符,如‘a','A'。另外,与C、C++相同,Java也提供转义字符,以反斜杠(\)开头,
将其后的字符转变为另外的含义,下面列出了Java中的转义字符。
转义字符描述:
\ddd 1到3位8进制数据所表示的字符(ddd)
\uxxxx 1到4位16进制数所表示的字符(xxxx)
\' 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
与C、C++不同,Java中的字符型数据是16位无符号型数据,它表示Unicode集,而不仅仅是ASCII集,例如\u0061表示ISO拉丁码的‘a'。
二、字符型变量
字符型变量的类型为char,它在机器中占16位,其范围为0~65535。字符型变量的定义如∶
char c='a';//指定变量c为char型,且赋初值为'a'
字符型变量的取值可以使用字符常量(用单引号阔起的单个字符),也可以用整数常数。例如,下面的两个语句的作用完全相同:
char char_A='A';
char char_A=65;
这就是计算机的一个机制问题了,它把字符做为整数型保存的。因为这样更方便。
例如:
int three=3;
char one='1';
char four=(char)(three+one);//four='4'
上例中,在计算加法时,字符型变量one被转化为整数,进行相加,最后把结果又转化为字符型。
布尔型数据
布尔型数据只有两个值,true和false,分别代表布尔逻辑中的“真”和“假”,且它们不对应于任何整值。在流控制中常用到它。
布尔型变量的定义如:
boolean b=true;//定义b为布尔型变量,且初值为true
=======================================================================
以上文字我都是从网上找的,我觉的不错,大家要好好看看,不错!!!!!大家仔细看,不懂的就问,实在不理解就背,这些都是基础!
下面写程序部分!!!!
=======================================================================
public class SimpleTypes{
public static void main(String args[]){
byte b=0x55;
short s=0x55ff;
int i=1000000;
long l=0xfffL;
char c='c';
float f=0.23F;
double d=0.7E-3;
boolean bool=true;
System.out.println("b="+b);
System.out.println("s="+s);
System.out.println("i="+i);
System.out.println("l="+l);
System.out.println("c="+c);
System.out.println("f="+f);
System.out.println("d="+d);
System.out.println("bool="+bool);
}
}
======================================================
大家有没有发现程序中我用了// 这个符号,这个表示注释,也就是程序不运行后面的东东!!!
刚才录象断了,现在继续!!!!!
各类数值型数据间的混合运算
一、自动类型转换
整型、实型、字符型数据可以混合运算。运算中,不同类? 的数据先转化为同一类型,
然后进行运算。
转换从低级到高级。 这是从低到高!!!! 就是存储的位数!
转换规则为:
1.(byte或short)运算符转化int→int
2.(byte或short或int)运算符转化long→long
3.(byte或short或int或long)运算符转化float→float
4.(byte或short或int或long或float)运算符转化double→double
5.char运算符转化int→int
转换从低级到高级。
程序:
public class Promotion{
public static void main(String args[]){
byte b=10;
char c='a';
int i=90;
long l=555L;
float f=3.5f;
double d=1.234;
float f1=f*b;//float*byte->float
int i1=c+i;//char+int->int
long l1=l+i1;//long+int->ling
double d1=f1/i1-d;
//float/int->floatfloat-double->double
System.out.println("f1="+f1);
System.out.println("i1="+i1);
System.out.println("l1="+l1);
System.out.println("d1="+d1);
int x=10;
byte y=(byte)x;
System.out.println(y);
}
}
我觉的这个比较简单,大家看看吧!!!!
二、强制类型转换
高级数据要转换成低级数据,需用到强制类型转换,如:
int x=10;
byte y=(byte)x;//把int型变量x强制转换为byte型
这种使用可能会导致溢出或精度的下降,这个我们以后会经常的使用到!!!! |
|