
注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。

文档注释: /** 文档注释 */,可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档
文档注释生成的命令
javadoc -d 目录名字 -author -version -encoding UTF-8 -charset UTF-8 目标文件名字.java
说明:
定义:在程序中由用户给类名、方法名或者变量所取的名字。
【硬性规则】
【软性建议】

注意:
Java的包装器
包装器只有基本数据类型有
| 关键字 | 包装器 |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
基础语法
- System.out.println(msg);// 输出一个字符串, 带换行
- System.out.print(msg);// 输出一个字符串, 不带换行
- System.out.printf(format, msg);// 格式化输出
说明:
使用 Scanner 读取字符串/整数/浮点数
- import java.util.Scanner; // 需要导入 util 包
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入你的姓名:");
- String name = sc.nextLine();
- System.out.println("请输入你的年龄:");
- int age = sc.nextInt();
- System.out.println("请输入你的工资:");
- float salary = sc.nextFloat();
- System.out.println("你的信息如下:");
- System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
- sc.close(); // 注意, 要记得调用关闭方法
Java方法定义的格式
- // 方法定义
- 修饰符 返回值类型 方法名称([参数类型 形参 ...]){
- 方法体代码;
- [return 返回值];
- }
注意事项:
Java方法的参数说明
方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。
【测试代码】
- public class TestMethod {
- public static int add(int x, int y){
- return x + y;
- }
- public static double add(double x, double y){
- return x + y;
- }
- public static void main(String[] args) {
- add(1,2);
- add(1.5, 2.5);
- }
- }
上述代码经过编译之后,然后使用JDK自带的javap反汇编工具查看,具体操作:

方法签名中的一些特殊符号说明:剩下的基本数据类型的特殊字符都是取其首字母大写
| 特殊字符 | 数据类型 |
| Z | boolean |
| [ | 数组(以[开头,配合其他的特殊字符,表述对应数据类型的数组,几个[表述几维数组) |
| L | 引用类型,以L开头,以;结尾,中间是引用类型的全类名 |
T[] 数组名 = new T[N];
- int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组
- double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组
- String[] array3 = new double[3]; // 创建一个可以容纳3个字符串元素的数组
静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定
语法格式: T[] 数组名称 = {data1, data2, data3, ..., datan};
- int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};
- double[] array2 = new double[]{1.0, 2.0, 3.0, 4.0, 5.0};
- String[] array3 = new String[]{"hell", "Java", "!!!"};
【注意事项】
- int[] array1;
- array1 = new int[10];
- int[] array2;
- array2 = new int[]{10, 20, 30};
- // 注意省略格式不可以拆分, 否则编译失败
- // int[] array3;
- // array3 = {1, 2, 3};

- int[]array = new int[]{10, 20, 30, 40, 50};
- for(int i = 0; i < array.length; i++){
- System.out.println(array[i]);
- }
- int[] array = {1, 2, 3};
- for (int x : array) {
- System.out.println(x);
- }

【说明】:

从上图可以看到,引用变量并不直接存储对象本身,可以简单理解成存储的是对象在堆中空间的起始地址。通过该地址,引用变量便可以去操作对象。有点类似C语言中的指针,但是Java中引用要比指针的操作更简单。
引用变量通过 = 进行赋值,只是改变了虚拟机栈中所存储的地址,使其指向同一块堆空间中的地址。即只是浅拷贝!

基本语法
数据类型[][] 数组名称 = new 数据类型 [行数][列数] { 初始化数据 };
二维数组本质上也就是一维数组, 只不过每个元素又是一个一维数组.
注意:Java的二维数组不是一定是连续的存储的,所以二维数组不一定是n阶。