今天第一次接触Java,在老师的讲解下大致了解了Java这门语言。
1.对Java初步了解
Java的编译与运行需要一定的环境,还要有jre和jdk,前者是使用时需要的环境,后者是开发人员用的开发工具。Java和我们现在学的C语言也有很大的区别,简单的概括就是:C语言的编译与运行对环境有要求,而Java则是一处编译,处处运行,并且C语言中有指针而Java中没有。
2.Java的编译与运行
先由程序员编写xxx.java的源程序,经过编译器的编译后,得到xxx.class的文件,再用虚拟机jvm执行。当我们完成项目后,会打包生成jar包或war包,这些包包含了许多class文件,用户无法修改这些class文件,这也是为什么Java相对于C语言更安全的原因。
3.Java的基础数据类型
各种基础数据类型所占字节数的大小(单位Byte)
整数型数据: byte 1 short 2 int 4 long 8
小数型数据: float 4 double 8
字符型数据: char 2
布尔型数据: boolean 1
其中整型数据的取值范围:
byte:-128~127
short:-32768 ~ 32767
int:-2147483648 ~ 2147483647
注意:
1.定义整数型数据的时候会默认为int型。
2.定义小数型数据的时候会默认为double型。
4.关于计算机内存中存储的二进制
在计算机内存存储的二进制都是以补码的形式进行存储,在内存中第一位表示符号位,0表示正,1表示负。
正数:
它的原码、反码、补码都一个样
负数:
原码:就是整数的二进制表示
反码:符号位不变,其他位取反也就是说,原来是0的要变成1,是1的要变成0,记住符号位不变
补码:反码+1
5.基础数据定义时的注意事项
5.1.int和long
定义:
long a = 2147483648 ==>错误
long a = 2147483648L ==>正确(“L”也可以小写)
因为整型的字面量会被默认为int型,2147483648超出了int的范围,所以编译器报错。
5.2.float 和 double
定义:
float pi = 3.14 ==>错误
因为从double转换到float可能会有损失
- 只要是字面量为小数,系统默认为double型的,double占了8个字节,float只占了4个字节
- 定义float类型的变量,其后的字面量为小数一定要带F。
注意: - float比long所表示的范围要大,float占4个字节,long占8个字节,但是float要比long大。
- 如果给的字面量是整数,也能通过。因为int是4字节,float也是4字节的,所以能通过。
如:float pi = 3 ==>正确
5.3.char的定义
定义:
1.char ch1 = 32767 ==>正确(没有越界,因为char是2Byte)
2.char ch2 = -32767 ==>错误(因为char是没有负数取值的)
看如下定义:
1.char c = ‘a’ (2Byte)
int cc = c ==>正确
2.int c = ‘a’;
char cc = c ==>错误(因为c是int型的变量,它是4Byte的,如果直接赋值给char,这样编译器是无法识别。)
由上面3个例子得出结论:在基础数据类型中,如果大转小(Byte),不强制类型转换,编译是通不过的。
5.4.boolean
boolean可以取true或 flase,且boolean不能转int