幻想编程

JAVA学习全过程(3)

时间:14-03-09 16:22:38点击:606

今天说说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

不过很少有这么用