【3.A.S.T】网络安全爱好者's Archiver

黑客学习

柔肠寸断 发表于 2008-7-6 11:18

java教程之8大变量

java第三课8大变量
大家好,我是yhackert,今天给大家给如何 java第三课八大变量

我群:34128907 有事找我!呵呵!

==================================================================
教程下载地址:[url=http://ww.hack58.com/Soft/html/9/90/2006/200612299239.htm][color=#2f5fa1]http://ww.hack58.com/Soft/html/9/90/2006/200612299239.htm[/color][/url]


今天的课程比较多,需要大家去理解,动手,动脑!!!


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型

这种使用可能会导致溢出或精度的下降,这个我们以后会经常的使用到!!!!

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.