长沙 建站优化,房地产信息查询网,wordpress手册插件,宁德市人社局官网1. 方法
1. 什么是方法
方法定义#xff1a;
// []表示可写可不写[public] [static] type name ( [type formal , type formal , ...]){方法体#xff1b;[return value ;]
}[修饰符] 返回值类型 方法名称([参数类型 形参 , 参数类型 形参 ...]){方法体代码;[return 返回值…1. 方法
1. 什么是方法
方法定义
// []表示可写可不写[public] [static] type name ( [type formal , type formal , ...]){方法体[return value ;]
}[修饰符] 返回值类型 方法名称([参数类型 形参 , 参数类型 形参 ...]){方法体代码;[return 返回值 ;]
}1. 修饰符现阶段直接使用 public static 固定搭配 2. 返回值类型如果方法有返回值返回值类型必须要与返回的实体类型一致如果没有返回值必须写成 void 3. 方法名字采用小驼峰命名 4. 参数列表如果方法没有参数 () 中什么都不写如果有参数需指定参数类型多个参数之间使用逗号隔开 5. 方法体方法内部要执行的语句 6. 在 java 当中方法必须写在类当中 7. 在 java 当中方法不能嵌套定义 8. 在 java 当中没有方法声明一说方法定义放在函数调用前后都可以 调用方法 --- 传递参数 --- 找到方法地址 --- 执行被调方法的方法体 --- 被调方法结束返回 --- 回到主调方法继续往下 执行 2. 方法重载 什么是方法重载 1. 方法名必须相同 2. 参数列表必须不同 ( 参数的个数不同、参数的类型不同、类型的次序必须不同 ) 3. 与返回值类型是否相同无关 3. 方法签名 经过编译器编译修改过之后方法最终的名字。具体方式 方法全路径名 参数列表 返回值类型构成 方法完整的名字。 public static int add(int x,int y){return xy;}public static double add(double x,double y){return xy;}public static void main(String[] args) {System.out.println(add(1,2));System.out.println(add(1.5,3.7));} 上述代码经过编译之后然后使用 JDK 自带的 javap 反汇编工具查看具体操作 1. 先对工程进行编译生成 .class 字节码文件 2. 在控制台中进入到要查看的 .class 所在的目录 3. 输入 javap -v 字节码文件名字即可 javap 是 Java 提供的一个反编译工具可以用来反编译生成字节码的 .class 文件以查看该类的结构、方法、属性等信息。在使用 javap 命令时可以加上不同的选项来输出不同的信息其中包括 -c 和 -v 选项。 javap -c使用 -c 选项会输出反编译的字节码指令。这个选项会列出每个方法的字节码指令以及相应的操作数。这样可以更直观地查看编译后的 Java 代码实际运行时的指令流程有利于分析代码运行时的具体逻辑。javap -v使用 -v 选项会输出反编译的类文件的详细信息包括常量池、字段表、方法表等。这个选项会将更多的信息以详细方式列出有助于更深入地了解类的结构和属性。 综上所述区别主要在于 -c 选项输出的是字节码指令而 -v 选项输出的是类文件的结构信息。根据具体的需求可以选择使用不同的选项来进行查看和分析。 特殊字符数据类型VvoidZbooleanBbyteCcharSshortIintJlongFfloatDdouble[ 数组 ( 以 [ 开头配合其他的特殊字符表述对应数据类型的数组几个 [ 表述几维数组 ) L 引用类型以 L 开头以 ; 结尾中间是引用类型的全类名 //按顺序打印一个数字的每一位public static void main(String[] args) {Scanner scannew Scanner(System.in);int n scan.nextInt();prin(n);//方法调用}//方法定义public static void prin(int n){//如果n10if(n10){System.out.println(n);}else { //如果n大于10prin(n/10);//递归调用prin函数System.out.println(n%10);}} 2. 数组 1. 数组的创建 type[] name new type[num] ;// type 数组元素类型
// type[] 数组类型
// name 数组名
// num 数组元素个数 2. 数组的初始化 动态初始化在创建数组时直接指定数组中元素的个数 type[] name new type[num] ; //num不可为空静态初始化在创建数组时不直接指定数据元素个数而直接将具体的数据内容进行指定 type[] name new type[]{ data1,data2,data3... ,datanum } ; 1. 静态初始化虽然没有指定数组的长度编译器在编译时会根据 {} 中元素个数来确定数组的长度。 2. 静态初始化时 , {} 中数据类型必须与 [] 前数据类型一致。 3. 静态初始化可以简写省去后面的 new T[] 。 type[] name { data1,data2,data3... ,datanum } ; 静态和动态初始化也可以分为两步去写但动态初始化简写不可以 //动态初始化
type[] name ;
name new type[num] ;//静态初始化
type[] name ;
name new type[]{ data1,data2,data3... ,datanum } ;//name { data1,data2,data3... ,datanum } ; //err 简写注意 虽然java中的数组也可以按照C语言的方法创建但不推荐type[] 可以表示数组类型 如果没有对数组进行初始化数组中元素有其默认值 1. 如果数组中存储元素类型为基类类型默认值为基类类型对应的默认值 类型 默认值 byte 0short0int0long0float0.0fdouble0.0char/u0000boolean false 2. 如果数组中存储元素类型为引用类型默认值为null 1. 数组是一段连续的内存空间因此 支持随机访问即通过下标访问快速访问数组中任意位置的元素 2. 下标从 0 开始介于 [0, N 之间不包含 N N为元素个数不能越界否则会报出下标越界异常。( java.lang.ArrayIndexOutOfBoundsException ) 3. 数组遍历 遍历 是指将数组中的所有元素都访问一遍, 访问是指对数组中的元素进行某种操作。 在数组中可以通过 数组对象 .length 来获取数组的长度 for-each 是 for 循环的另外一种使用方式 . 能够更方便的完成对数组的遍历 . 可以避免循环条件和更新语句写错 . 但是我们 拿不到数组下标