今天正式学习了一下Java,这门编程语言很神奇,和我学习的c语言很不一样,对于Java 来说它需要配置很多东西,前期比较麻烦。我在这里用的是idea编译器,至于怎么配置大家可以自行去百度一下,这里不做过多赘述。我今天就简单的介绍一下Java吧。
目录
1.常量
1. 字符串常量:由""括起来的。比如“786”、“hi”、“你们在吗”。
2. 整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000
3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49
4. 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’
5. 布尔常量:只有两种true和false
注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型。
2.数据类型
这里面包括了整型、浮点型、字符型以及布尔型。又分为8种如下表所示。
在这想要说明一下,char类型在c语言上1个字节,但在java是2个字节.Java的移植性很好,不管是在32位还是64位上这些数据类型的字节大小不会改变。
3.变量
java中用不同的数据类型定义变量 。
数据类型 变量名 = 初始值;
这是长整型
4.浮点型
接下来介绍一个比有意思的东西 ,大家认为这个代码的结果是什么
如果你认为是0.5就错了,因为在Java中int类型的结果还是用int来存储,可以用double来计算
double类型
5.字符型变量
注意事项:
1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文.
6.类型转换
自动类型转换(隐式)
自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。
但是把大的给小的就不行
注意事项:
1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型
2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
4. 强制类型转换不一定能成功,不相干的类型不能互相转换
7.类型提升
不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
int和long相加时候,int会提升为long,这这时候用int来存放就不合适了,应该是long这个变量来存放这两个加数的和
除此之外,低于4个字节的变量也要提升为4个字节在计算
解决方法就是
或者
【类型提升小结:】
1. 不同类型的数据混合运算, 范围小的会提升成范围大的.
2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算
本文结束,谢谢大家