当前位置: 首页 > news >正文

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,否则执行语句3

2 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 不带 \n

printf 的格式化输出方式和 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. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void

3. 方法名字:采用小驼峰命名

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[]。

静态和动态初始化也可以分为两步,但是省略格式不可以。

如果没有对数组进行初始化,数组中元素有其默认值

如果数组中存储元素类型为基类类型,默认值为基类类型对应的默认值,比如:

如果数组中存储元素类型为引用类型,默认值为null

3数组的使用

数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,该编号称为数组的下标,数组可以通过 下标访问其任意位置的元素。

1. 数组是一段连续的内存空间,因此支持随机访问,即通过下标访问快速访问数组中任意位置的元素

2. 下标从0开始,介于[0, N)之间不包含N,N为元素个数,不能越界,否则会报出下标越界异常。

所谓 "遍历" 是指将数组中的所有元素都访问一遍, 访问是指对数组中的元素进行某种操作

在数组中可以通过 数组对象.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 数据类型 [行数][列数] { 初始化数据 };

http://www.jsqmd.com/news/1046435/

相关文章:

  • 2026衡阳漏水检测维修精选优质服务商TOP5推荐!卫生间漏水/厨房漏水/屋顶天花板漏水/阳台漏水/地下室漏水防水补漏检测维修-正规防水补漏公司优选口碑榜测评推荐 - 即刻修防水
  • 2026年|如何高效降低论文AI检测率?三招助你轻松通过Turnitin检测
  • 如何快速实现微信聊天记录本地解析:完整技术指南与数据留痕解决方案
  • Obsidian 0x04:构建高效知识工作流的插件生态
  • Transformer 发明者加入 OpenAI、创业板创历史新高、微信给 AI 发“钱包“
  • AMD 780M核显Windows本地部署ComfyUI实战指南
  • AI设计Agent实战:用边缘硬件替代Lovart的可控工作流
  • 司马法“用众若寡”:从“人海战术”到“集群算法”的组织效能革命
  • 【毕业设计】基于SpringBoot 的运动服装进销存管理系统搭建 潮流运动服饰电商销售服务系统的设计与落地(源码+文档+远程调试,全bao定制等)
  • Linux Pulseaudio深度解析之pa_mainloop_get_api调用流程与实战(六十七)
  • 5步构建AI驱动的股票智能分析系统:从零到自动化决策支持
  • (2026新)湘潭正规防水补漏公司口碑榜TOP5权威推荐!卫生间/厨房/阳台/屋顶/天花板/地下室渗漏水检测维修攻略-靠谱漏水检测维修师傅推荐 - 安佳防水
  • 深入解析NXP LPC210x系列ARM7微控制器:从核心架构到外设实战
  • 如何在VS Code中实现办公文档一体化处理?vscode-office插件深度解析
  • MC9S12KG128 Flash底层操作:命令序列与FSTAT寄存器实战解析
  • OpenClaw装好了不知道干什么?我让它把家里的NAS、电脑和AI全串起来了
  • [自动化]AutoJS——Android自动化工具
  • NXP KMZ80磁角度传感器:从磁阻效应到汽车级SENT协议应用
  • 2026衢州本地人必选防水补漏检测维修公司靠谱服务商TOP5推荐:房屋渗漏水检测维修/卫生间/厨房/天花板/阳台/外墙渗漏水检测补漏维修-暗管漏水检测专业仪器精准定位漏水点 - 即刻修防水
  • 分布式游戏服务器架构设计:基于.NET 8.0的OpenMir2传奇服务器技术实现方案
  • Python计算机毕设之基于 Django 的体育赛事资讯发布及售票系统的设计与实现 面向互联网的球类赛事智能购票管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • (2026新)淮安正规防水补漏公司口碑榜TOP5权威推荐!卫生间/厨房/阳台/屋顶/天花板/地下室渗漏水检测维修攻略-靠谱漏水检测维修师傅推荐 - 安佳防水
  • (2026新)温州正规防水补漏公司口碑榜TOP5权威推荐!卫生间/厨房/阳台/屋顶/天花板/地下室渗漏水检测维修攻略-靠谱漏水检测维修师傅推荐 - 安佳防水
  • MC68HC908QY/QT时钟系统深度解析:从振荡器原理到实战配置
  • JSON最小化实际应用场景案例
  • 《2026 AI 数字人直播系统 TOP10 实测:监管收紧下,长效运营谁是合规标杆?》
  • 收藏!小白程序员必看:Agent性能优化五大维度,让你的大模型跑起来!
  • 2026衡阳本地人必选防水补漏检测维修公司靠谱服务商TOP5推荐:房屋渗漏水检测维修/卫生间/厨房/天花板/阳台/外墙渗漏水检测补漏维修-暗管漏水检测专业仪器精准定位漏水点 - 即刻修防水
  • DCAFE双坐标注意力机制详解:提升YOLO小目标检测精度
  • MCU时钟系统深度解析:从FLL原理到MC9S08SH32实战配置