1.Java 基础
1.1. 第一个 Java 程序
- public class Hello
- {
- public static void main(String args[])
- {
- System.out.println("Hello, world!");
- }
- }
1. 其语和 C 语言类似, 这里注意 main 函数的参数与 C 不同, 打印语句使用 System.out.println, 使用 + 分隔需要打印的内容;
2. 在文件命名上, 文件名要和文件内的类名保持一致;
3. 编译: javac Hello.java, 会编译生成一个 Hello.class
4. 运行 java Hello, 这句命令实际上是启动 java 虚拟机, 然后加载 Hello.class 类并运行.
1.2. 数据类型
1.2.1. 基本数据类型
Java 支持如下的基本数据类型:
这里注意几点:
1. 所有的基本数据类型, 定义的时候在栈上分配空间;
2.Char 类型占用两个字节
1.2.2. 引用数据类型
Java 的引用数据类型包含: 数组, 类, 接口, null, 所有的引用数据类型在定义定义时需要使用 new 来分配空间(堆空间).
以数组为例, 使用方法如下;
- int a[]=null;
- a = new int[10];
- int b[]=new int[10];
- int c[]={
- 1,2,3,4,5
- };
1.2.3. 数据类型转换
数据类型的转换分为:
自动转换:
数据不丢失的前提下进行自动转换, java 中 *** 数据默认为 int, 浮点型数据默认为 double;
- int a=30;
- long b = a; // 自动转换, 因为 long 的表示范围比 int 大
- float c = 3.1
- int d = (int)c; // 必须使用强制转换
强制转换:
注意一点: 在进行数据运算时, 会先将数据当做默认类型进行计算;
- byte b= 1;
- short s= 3;
- // 编译器会判断该值有无超过该变量的表示范围, 如果超过就报错.
- short s = 1;
- s = s + 1; // 出错, 因为对于 byte,short 的运算, 为了保证精度, 会自动转换为 int 类型
- s = (short)(s + 1);
1.3. 预算符 | 表达式 | 语句
和 C 语言完全一样:
- if, if...else, if...else if...else, switch
- while, do...while, for; break, continue
1.4. 方法
在 java 中将函数称为方法.
public static 返回值类型 方法名称 (类型 参数 1, 类型 参数 2, ...)
{
程序语句;
[return 表达式];
- }
- public static int add(int x, int y)
- {
- int sum;
- sum = x + y;
- return sum;
- }
1.4.1. 重载
在 java 语言中引入了重载的概念: 方法名 (函数名) 相同, 参数的类型或个数, 或顺序不同的两个或多个函数为重载关系;
注意: 返回值不能作为重载的依据;
- public class Function {
- public static void main(String args[]) {
- System.out.println(add(1,2));
- System.out.println(add(1,2, 3));
- System.out.println(add(1.0f, 2.0f));
- }
- public static int add (int x, int y) {
- return x + y;
- }
- public static int add (int x, int y, int z) {
- return x + y + z;
- }
- public static float add (float x, float y) {
- return x + y;
- }
- }
1.4.2. 参数传递
基本数据类型作为参数, 方法内部对参数的修改不会影响调用者(传值调用)
引用数据类型作为参数, 方法内部会修改堆空间, 结果会被保留下来;
- public class Param {
- public static void main(String args[]) {
- int x = 1;
- fun (x);
- int p[] = new int[1];
- p[0] = 123;
- System.out.println("Before fun2:"+p[0]);
- fun2(p);
- System.out.println("After fun2:"+p[0]);
- System.out.println(x);
- }
- public static void fun(int x) {
- x = 100;
- }
- public static void fun2(int[] p) {
- p[0] = 200;
- }
- }
来源: http://www.bubuko.com/infodetail-2901140.html