JAVA学习全过程(3)

时间:2014-03-09 16:22    点击:

今天说说java中8种基本数据类型(也叫原始数据类型)吧,这也是java其中的关键字哦
byte char boolean short int long float double
其中
整数:byte,short,int ,long 
实数:double,float 
字符:char 
布尔值:boolean

其中常用的也就
int flaot double boolean

另外 java有字符串类型 ,不像C语言需要用char数组
就这样 String a="hello world"; 但String 不是基本数据类型,是java的一个类
其中的a并不是变量,而是引用类型,类似于指针,"hello world"这个常量是一个对象 
a指向"hello world"这个内容空间的地址,这里可不是指向h的地址


这里还要说说java的引用数据类型,就3个
数组,类,接口

需要以后在介绍了

byte char boolean short int long float double这8种基本数据类型都有自己的默认值
就是你定义的时候不初始化,它们就已经有默认值的,不像C语言莫名其妙的数字
其实整数和实属类型默认为0 字符型默认 ‘\u0000 ’ 布尔型默认为false


新建一个DataType类 并定义初始化数据 变量名的命名规则我想大家都懂的
类的命名规则和变量差不多,但一般都是首字母大写
而方法(函数)的命名规则一般是首字母小写
这8种数据类型都有自己的范围大小 可以去找看看

这个程序是可以运行的,虽然看不到任何结果
HelloWorld有个main方法,这个类有个main方法,不会冲突吗?
单独运行就不会,但如果是相互调用就会了

为什么变量名会有黄色的横线?eclipse是告诉你这个变量未使用
如果打印一下这个变量,黄色横线就会消失

下面说说基本数据类型之间的互相转换
首先先排列下他们的高低 char 和boolean先排除在外了,因为他们没必要跟数字类型转换
boolean根本不兼容


由低到高
byte---short---int---long---float----double

他们之间怎么互相转换?
首先是 自动类型转换
只要满足以下条件,就会发生自动类型转换: 两种类型兼容;目标类型大于源类型; 
也就是说byte可以转成short short可以转成int 依次类推,这一切都是自动的
比如 
short a=1;
int b=a;

这样就自动完成了转换

而如果反过来呢
int a=1;
short b=a;
这样就错误了,需要显式转换,也就是强制转换
int a=1;
short b=(int)a;
这样就对了

也就是说,由低转到高,可以自动
反言之,有高转到低,需要手动,也就是强制转换
例如,float转int 就需要强制转换 int转float则不需要

对于类型提升原则
如果一个操作数为 long 型,则整个表达式提升为 long 型 
如果一个操作数为 float 型,则整个表达式提升为 float 型 
如果一个操作数为 double 型,则整个表达式提升为 double 型

具体可以在下面代码慢慢试
public class DataType { 
public static void main(String[] args) {
// TODO Auto-generated method stub
byte a=1;
short b=1;
int d=1;
long c=1;
float e=1.1f;
double f=1.1;

b=a; 
//a=b; 错误
a=(byte) b; 
} }



另外提一下,char是可以和int相互转换的,和C语言是一样的,转换的asc码
char和short是同一位置
byte---short(char)---int---long---float----double
不过很少有这么用

来源:幻想编程//所属分类:站长原创/更新时间:2014-03-09 16:22
顶一下
(2)
100%
踩一下
(0)
0%
上一篇:JAVA学习全过程(2)
下一篇:JAVA学习全过程(4)
相关内容