初识Java
1.Java的特性:
- 简单性
- 面向对象
- 分布式
- 健壮性
- 安全性
- 体系系统中立
Java编译器通过生成与特定计算机体系无关的字节码指令来实现这一特性 - 可移植性
- 解释性
- 高性能
- 多线程
- 动态性
2.初识Java的main方法:
public class Test{
public static void main(String[] args){
System.out.println("Hello,Java");
System.out.println("My name is:"+args[0]);
}
}
-
Java程序的结构有三部分组成:
1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个
类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。 -
Java程序运行需要经过编译,运行两个阶段。
-
编译:javac 命令
-
运行:java 命令
3.初识Java的基本数据类型
Java的数据类型分为两大类,一类是基本数据类型,一类是引用数据类型。这里我们先认识一下基本数据类型。
基本数据类型又分为整数类型 (byte short int long ),浮点类型(float double),字符类型(char),布尔类型(boolean)
1 整形变量
- 基本语法格式
int 变量名=初始值
在Java中,一个int变量占4字节,和操作系统没有直接关系。
4 个字节表示的数据范围是 -2^31 -> 2^31-1
2 长整形变量
- 基本语法格式
long 变量名=初始值
Java 中 long 类型占 8 个字节. 表示的数据范围 -2^63 -> 2^63-1
注意事项:
- 基本语法格式和创建 int 变量基本一致, 只是把类型修改成 long
- 初始化设定的值为 10L , 表示一个长整型的数字. 10l 也可以.
- 使用 10 初始化也可以, 10 的类型是 int, 10L 的类型是 long, 使用 10 L 或者 10 l 更好一些.
可以使用这个代码查看Java中长整形数据范围:
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE)
3 双精度浮点型变量
- 基本语法格式
double 变量名 = 初始值;
代码1:
int a = 1;
int b = 2;
System.out.println(a / b);
// 执行结果
0
在Java中,int除以int的值依然是int(会直接舍弃小数部分),如果想得到0.5,需要用double类型计算。
double a = 1.0;
double b = 2.0;
System.out.println(a / b);
// 执行结果
0.5
代码2:
double num = 1.1;
System.out.println(num * num)
// 执行结果
1.2100000000000002
Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范围.
Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差.
4 单精度浮点型变量
- 基本语法格式
float 变量名 = 初始值;
float 类型在 Java 中占四个字节
5 字符类型变量
- 基本语法格式
char 变量名 = 初始值;
注意事项:
- Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
- 计算机中的字符本质上是一个整数。一个字符占两个字节,表示的字符种类更多,包括中文。
使用一个字符表示一个汉字:
char ch = '嗨';
System.out.println(ch);
但在执行时可能会出现错误:
Test.java:3: 错误: 未结束的字符文字
char ch = '鍛?';
^
此时我们在执行 javac 时加上 -encoding UTF-8 选项即可。原因是创建文件是使用UTF8创建的文件,但是javac编译的时候是使用GBK进行编译的,所以我们应该去指定编译的格式
javac -encoding UTF-8 Test.java
6 字节类型变量
- 基本语法格式
byte 变量名 = 初始值;
注意事项:
- 字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )
- 字节类型和字符类型互不相干。
7 短整形变量
- 基本语法格式
short 变量名 = 初始值;
注意事项:
4. short 占用 2 个字节, 表示的数据范围是 -32768 -> +32767
5. 这个表示范围比较小, 一般不推荐使用.
8 布尔类型变量
- 基本语法格式
boolean 变量名 = 初始值;
注意事项:
6. boolean 类型的变量只有两种取值, true 表示真, false 表示假.
7. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
8. boolean 类型有些 JVM 的实现是占 1 个字节,有些是占一个比特位,这个没有明确规定。
boolean value = true;
System.out.println(value + 1);
// 代码编译会出现如下错误
Test.java:4: 错误: 二元运算符 '+' 的操作数类型错误
System.out.println(value + 1);
^
第一个类型: boolean
第二个类型: int
1 个错误