JavaSE基础总结(2)

📅 2026/6/20 4:37:13
JavaSE基础总结(2)
逻辑控制1 if语句if(布尔表达式){ // 语句 } 如果布尔表达式结果为true执行if中的语句否则不执行。 if(布尔表达式){ // 语句1 }else{ // 语句2 } 如果布尔表达式结果为true则执行if中语句否则执行else中语句。 if(布尔表达式1){ // 语句1 }else if(布尔表达式2){ // 语句2 }else{ // 语句3 } 表达式1成立执行语句1否则表达式2成立执行语句2否则执行语句32 switch语句switch(表达式){ case 常量值1:{ 语句1; [break;] } case 常量值2:{ 语句2; [break;] } ... default:{ 内容都不满足时执行语句; [break;] } }执行流程 1. 先计算表达式的值2. 和case依次比较一旦有响应的匹配就执行该项下的语句直到遇到break时结束3. 当表达式的值没有与所列项匹配时执行default【注意事项】1 多个case后的常量值不可以重复 switch的括号内只能是以下类型的表达式基本类型byte、char、short、int注意不能是long类型引用类型String常量串、枚举类型2 break 不要遗漏, 否则会失去 多分支选择 的效果3 switch 虽然支持嵌套, 但是很丑一般不推荐~3 循环语句1 while循环while(循环条件){ 循环语句; } 循环条件为 true, 则执行循环语句; 否则结束循环.break让循环提前结束.continue 的功能是跳过这次循环, 立即进入下次循环.2 for循环for(表达式①;布尔表达式②;表达式③){ 表达式④; } 表达式1: 用于初始化循环变量初始值设置在循环最开始时执行且只执行一次 表达式2: 循环条件满则循环继续否则循环结束 表达式3: 循环变量更新方式3do while 循环do{ 循环语句; }while(循环条件); 先执行循环语句, 再判定循环条件循环条件成立则继续执行否则循环结束。1. do while 循环最后的分号不要忘记2. 一般 do while 很少用到, 更推荐使用 for 和 while.4 输入输出1 输出到控制台println 输出的内容自带 \n, print 不带 \nprintf 的格式化输出方式和 C 语言的 printf 是基本一致的.2 从键盘输入使用 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(); // 注意, 要记得调用关闭方法 使用 Scanner 循环读取 N 个数字并求取其平均值 Scanner sc new Scanner(System.in); int sum 0; int num 0; while (sc.hasNextInt()) { int tmp sc.nextInt(); sum tmp; num; } System.out.println(sum sum); System.out.println(avg sum / num); sc.close();方法的使用1 方法的定义// 方法定义 修饰符 返回值类型 方法名称([参数类型 形参 ...]){ 方法体代码; [return 返回值]; }1. 修饰符现阶段直接使用public static 固定搭配2. 返回值类型如果方法有返回值返回值类型必须要与返回的实体类型一致如果没有返回值必须写成 void3. 方法名字采用小驼峰命名4. 参数列表如果方法没有参数()中什么都不写如果有参数需指定参数类型多个参数之间使用逗号隔开5. 方法体方法内部要执行的语句6. 在java当中方法必须写在类当中7. 在java当中方法不能嵌套定义8. 在java当中没有方法声明一说在Java中实参的值永远都是拷贝到形参中形参和实参本质是两个实体2 方法重载在Java中如果多个方法的名字相同参数列表不同则称该几种方法被重载了。注意1. 方法名必须相同2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)3. 与返回值类型是否相同无关3方法签名方法签名即经过编译器编译修改过之后方法最终的名字。具体方式方法全路径名参数列表返回值类型构成 方法完整的名字。数组的定义与使用1 数组的定义数组可以看成是相同类型元素的一个集合。1. 数组中存放的元素其类型相同2. 数组的空间是连在一起的3. 每个空间有自己的编号其实位置的编号为0即数组的下标。2 数组的创建和初始化数组的创建 T[] 数组名 new T[N]; T表示数组中存放元素的类型 T[]表示数组的类型 N表示数组的长度1. 动态初始化在创建数组时直接指定数组中元素的个数2. 静态初始化在创建数组时不直接指定数据元素个数而直接将具体的数据内容进行指定 语法格式 T[] 数组名称 {data1, data2, data3, ..., datan};静态初始化虽然没有指定数组的长度编译器在编译时会根据{}中元素个数来确定数组的长度。静态初始化时, {}中数据类型必须与[]前数据类型一致。 静态初始化可以简写省去后面的new T[]。静态和动态初始化也可以分为两步但是省略格式不可以。如果没有对数组进行初始化数组中元素有其默认值如果数组中存储元素类型为基类类型默认值为基类类型对应的默认值比如如果数组中存储元素类型为引用类型默认值为null3数组的使用数组在内存中是一段连续的空间空间的编号都是从0开始的依次递增该编号称为数组的下标数组可以通过 下标访问其任意位置的元素。1. 数组是一段连续的内存空间因此支持随机访问即通过下标访问快速访问数组中任意位置的元素2. 下标从0开始介于[0, N之间不包含NN为元素个数不能越界否则会报出下标越界异常。所谓 遍历 是指将数组中的所有元素都访问一遍, 访问是指对数组中的元素进行某种操作在数组中可以通过 数组对象.length 来获取数组的长度 int[]array new int[]{10, 20, 30, 40, 50}; for(int i 0; i array.length; i){ System.out.println(array[i]); } 也可以使用 for-each 遍历数组 int[] array {1, 2, 3}; for (int x : array) { System.out.println(x); }4二维数组数据类型[][] 数组名称 new 数据类型 [行数][列数] { 初始化数据 };