Java语言提供了八种数据类型

来源:互联网 发布:电信3g是什么网络制式 编辑:程序博客网 时间:2024/04/29 23:41

在java中 short s1 = 1; s1 = s1 + 1; 有什么错 ?

 

short占2个字节,int占4个字节,short型变量+上int型值计算结果是int型,占4个字节,然后付给一个short型变量s1,就要丢失2个字节的精度,这是不容许的。你非要这么做的话,我给你提供一个办法:
   s1=s1+1;改成s1+=1;虽然是一个意思,但是在jvm里面是不同的方法做的,是运算符重载,所以是不一样的。

 

=======================================
六种数字类型,包括:四个整数型,
                                   两个浮点型,
一种字符类型,
一种布尔型。
=======================================

具体有:
1、整数:
                 long 内存分配8个字节,
                 int      内存分配4个字节,
                short 内存分配2个字节,
                byte    内存分配1个字节,
             
                  以上数据类型定义赋值方法:   int x=12;   //定义类型 变量名=数值;
                  (*1个字节由8bit(位)组成,即8个二进制组成。
                  内存自己分配的多少,直接影响到整形数据的取值范围
)

2、浮点型:
                   float   内存分配4个字节,精确到小数点后7位
                   double    内存分配8个字节,精确到小数点后15位或16位
                    数据类型定义赋值方法:float x=453.5439f, tom=1234,987f, 漂亮=9876.0f;
                                                          double   y=21389.5439d (d可以省略)  
                 (在给float类型赋值时,必须在数字后加上f或F,否则会出错。
                    浮点数不加f,就认为是double类型。)
                    特殊的float型数据:2e40f(2乘10的40次方,科学技术法)


3、字符:char   内存分配2个字节,取值范围0~65536 
                           定义及赋值方法:char x='A', tom='家';
                          (java使用了unicode标准字符集,可识别
                             65535个字符,前256个字符与ASC|| 相对应


4、布尔:boolean 此类型其实就是其他语言中的逻辑类型
                                 布尔类型取值仅有true和false两种。
                                 定义及赋值方法: boolean x, ok=true, 关闭=false ;

概念:

标识符:
用来标识 类名、变量名、方法名、类型名、文件名的有效字符序列称为标识符,简单的说,标识符就是一个名字。java的标识符规定由 字母、下划线、美元符号和数字组成。且第一个字符不能是数字。标识符中的字母是区分大小写的Boy和boy是完全不同的标识符。由于java使用了unicode标准字符集,可识别65535个字符,几乎囊括了每个国家的字母表。所以对中文支持很好,例如变量可以使用中文(不建议使用)。

关键字:(了解)
java中的关键字,通常是用来完成一个功能,和C语言中的函数差不多。
常用的关键字:goto,null,switch,boolean,do,if,break,double,this,byte,cate,class,const,
continue,for,now,super,final,false,puublic,ture,try,void,while,throw,import,false,else,extends,char
这些暂时了解即可,不必要马上掌握 ,以后遇到某关键字时会做详细解释,本文最下放有具体
关键字的解释,方便大家参照。

基本数据类型之间的转换(重要)
我们把一个数据赋值给另一个数据时,就涉及到数据转换。

将这些类型(不包括逻辑类型和字符类型)由低到高排序:
======================================
低                                               高
byte     short     int     long     float   double
======================================
*当级别低的变量赋值给级别高的变量时,系统自动完成数据类型的转换。

举例说明:
例1;
float x=100;
输出x的结果,为100.0(由于100默认为int数据,那么赋值给float后,由于上述转换级别                                                     问 题,100被变为浮点型数据100.0

例2
int   x=50;
float y;
y=x;
把y输出,结果为50.0;(原因上同

*高级别类型赋值给低级别类型,必须使用类型转换运算(强制运算)。否则可能会导致程序错误,一定要注意。

强制转换格式:(数据类型)要转换的值
举例:
int x=(int)34.89;
long y=(long)56.98f;

输出x,y的值是34 和 56

注:强制转换运算可能会导致精度的损失。

                                                                                        

                                                          今天的内容不少啊,慢慢消化,下面是供参考的资料,不必马上掌握

关键字具体解释:

Abstract 抽象的 用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现

break 用来改变程序执行流程,立刻从当前语句的下一句开始执行从。如果后面跟有一个标签,则从标签对应的地方开始执行 

case 用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行。 

catch 用来声明当try语句块中发生运行时错误或非运行时异常时运行的一个块。 

char 用来定义一个字符类型 

continue 用来打断当前循环过程,从当前循环的最后重新开始执行,如果后面跟有一个标签,则从标签对应的地方开始执行。 

do 用来声明一个循环,这个循环的结束条件可以通过while关键字设置 

double 用来定义一个double类型的变量 

else 如果if语句的条件不满足就会执行该语句。 

final 你只能定义一个实体一次,以后不能改变它或继承它。更严格的讲:一个final修饰的类不能被子类化,一个final修饰的方法不能被重写,一个final修饰的变量不能改变其初始值。 

finally 用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。 

float 用来定义一个浮点数变量 

for 用来声明一个循环。程序员可以指定要循环的语句,推出条件和初始化变量。 

if 用来生成一个条件测试,如果条件为真,就执行if下的语句。 

implements Java(TM)编程语言的一个关键字,在类的声明中是可选的,用来指明当前类实现的接口。 

import 在源文件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加上包的名字。 
instanceof 一个二操作数的Java(TM)语言关键字,用来测试第一个参数的运行时类型是否和第二个参数兼容。 

int 用来定义一个整形变量 

long 用来定义一个long类型的变量。 

private 用在方法或变量的声中。它表示这个方法或变量只能被这个类的其它元素所访问。 

protected 在方法和变量的声明中使用,它表示这个方法或变量只能被同一个类中的,子类中的或者同一个
包中的类中的元素所访问。 

public 在方法和变量的声明中使用,它表示这个方法或变量能够被其它类中的元素访问。 

return用来结束一个方法的执行。它后面可以跟一个方法声明中要求的值。 

short 用来定义一个short类型的变量。 

static 用来定义一个变量为类变量。类只维护一个类变量的拷贝,不管该类当前有多少个实例。"static" 同样能够用来定义一个方法为类方法。类方法通过类名调用而不是特定的实例,并且只能操作类变量。 

this,用来代表它出现的类的一个实例。this可以用来访问类变量和类方法。 

throw 允许用户抛出一个exception对象或者任何实现throwable的对象 

throws用在方法的声明中来说明哪些异常这个方法是不处理的,而是提交到程序的更高一层。 

transient 用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。 

try 用来定义一个可能抛出异常语句块。如果一个异常被抛出,一个可选的catch语句块会处理try语句块中抛出的异常。同时,一个finally语句块会被执行,无论一个异常是否被抛出。 

void用在Java语言的方法声明中说明这个方法没有任何返回值。"void"也可以用来表示一句没有任何功能的语句。 

volatile 用在变量的声明中表示这个变量是被同时运行的几个线程异步修改的。 

while 用来定义一段反复执行的循环语句。循环的退出条件是while语句的一部分。 

关于break和continue。 
continue语句与break语句相关,但较少用到。continue语句用于使其所在的for、while或do-while语句开始下一次循环。在while与do-while语句中,continue语句的执行意味着立即执行测试部分;在for循环语句中,continue语句的执行则意味着使控制传递到增量部分。

原创粉丝点击