JAVA学习全过程(3)
今天说说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
不过很少有这么用
- QQ群
-
微信
- 返回首页
- 返回顶部