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

4.10Java课堂笔记

1. 标识符与关键字
  • 标识符:用来命名变量、方法、类的字符序列。规则:

    • 由字母、数字、下划线_、美元符号$组成,数字不能开头。

    • 不能是Java关键字(如classintpublic等)。

    • 大小写敏感,长度无限制。

    • 规范:类名首字母大写(大驼峰),变量和方法名首字母小写(小驼峰),常量全部大写加下划线。

  • 关键字:Java预留的具有特殊意义的单词,例如classpublicstaticvoidint等。不能用作标识符。

2. 基本数据类型(8种)

Java的数据类型分为基本类型和引用类型。基本类型是语言内置的、不可再分的简单数据。

类型关键字占用字节取值范围/说明默认值
逻辑boolean1(实际依赖JVM)true / falsefalse
字节byte1-128 ~ 1270
短整型short2-32768 ~ 327670
整型int4约±21亿0
长整型long8很大(19位数字)0L
字符char2Unicode字符(0~65535)'\u0000'
单精度浮点float4有效位数6~7位0.0f
双精度浮点double8有效位数15~16位0.0

注意

  • 整数字面量默认是int,要表示long需加Ll(推荐L)。

  • 小数字面量默认是double,要表示float需加Ff

  • char使用单引号,如'A';字符串使用双引号"Hello"

3. 从命令行输入数据(Scanner类)

Scanner是Java提供的方便读取用户输入的类,位于java.util包中。使用时需要先导入。

java

import java.util.Scanner; public class InputDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入一个整数:"); int n = sc.nextInt(); // 读取整数 System.out.print("请输入一个浮点数:"); double d = sc.nextDouble(); // 读取浮点数 System.out.print("请输入一个单词:"); String word = sc.next(); // 读取下一个以空白分隔的字符串 sc.nextLine(); // 消耗掉换行符 System.out.print("请输入一行文字:"); String line = sc.nextLine(); // 读取一整行(包括空格) System.out.println("您输入的是:" + n + ", " + d + ", " + word + ", " + line); sc.close(); // 关闭Scanner,释放资源 } }

注意nextInt()nextDouble()等方法不会读取后面的换行符,如果之后调用nextLine()会得到一个空串,需要先调用一次sc.nextLine()消耗掉换行符。

4. 输出基本型数据
  • System.out.print():不换行输出。

  • System.out.println():输出后换行。

  • System.out.printf():格式化输出,类似于C语言。

    java

    System.out.printf("整数:%d,浮点数:%.2f", n, d);
5. 数组

数组是一种引用类型,用于存储固定大小的同类型数据序列。

  • 声明数组int[] a;int a[];推荐第一种。

  • 创建数组a = new int[5];创建后所有元素被赋予默认值(0)。

  • 声明并创建int[] a = new int[5];

  • 初始化int[] a = {1, 2, 3, 4, 5};(只能在声明时使用这种静态初始化)。

  • 使用数组:通过索引访问,索引从0开始,如a[0] = 10;

  • length属性a.length返回数组长度,它是属性而不是方法(没有括号)。

  • 数组的引用:数组名存储的是数组在堆内存中的地址,因此数组是引用类型。将一个数组变量赋值给另一个,它们会指向同一块内存。

    java

    int[] a = {1,2,3}; int[] b = a; // b和a引用同一个数组 b[0] = 100; System.out.println(a[0]); // 输出100
6. 数组的排序与二分查找

java.util.Arrays类提供了许多实用方法。

  • 排序Arrays.sort(a);对数组进行升序排序(快速排序或归并排序变体)。

  • 二分查找:要求数组已经排好序,int index = Arrays.binarySearch(a, key);返回索引,如果找不到返回负数(插入点负值-1)。

java

int[] arr = {5, 2, 8, 1, 9}; Arrays.sort(arr); // arr变为[1,2,5,8,9] int pos = Arrays.binarySearch(arr, 5); // pos = 2
  • 其他方法Arrays.toString(arr)返回数组的字符串表示;Arrays.fill(arr, 0)将数组所有元素填充为0。

7. 枚举类型(enum)

枚举用于定义一组常量,使代码更清晰、类型更安全。

java

enum Color { RED, GREEN, BLUE } public class EnumDemo { public static void main(String[] args) { Color c = Color.RED; switch(c) { case RED: System.out.println("红色"); break; case GREEN: System.out.println("绿色"); break; case BLUE: System.out.println("蓝色"); break; } // 遍历所有枚举值 for (Color col : Color.values()) { System.out.println(col); } } }
  • 枚举可以有自己的属性和方法,但初学阶段掌握基本用法即可。

8. 小结
  • 基本数据类型存储值,引用类型存储地址。

  • 数组一旦创建,长度固定,不能改变。

  • 使用Scanner时注意处理换行符残留问题。

  • 枚举让常量集合更加规整,适合用在状态、选项等场景。

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

相关文章:

  • RAG更新策略:文档局部更新后,知识库如何更新?
  • ArcGIS坡度计算实战:从坐标系选择到Z因子校准的完整避坑指南
  • 2026年好用的电销机器人供应商,究竟哪家能脱颖而出?
  • Win7上装VMware Horizon Client总失败?别慌,这4个坑我帮你踩过了
  • 4款主流降AI工具知网维普实测对比:2026年5月降AI率排行榜
  • AI Agent Harness Engineering 在科研文献分析中的实战:自动综述生成与引用溯源
  • OpenTenBase的外键(Foreign Key)和外键级联
  • 一台手机想过 GMS 认证有多难?CTS、GTS、VTS 全流程实战指南(附踩坑血泪史)
  • AI应用的安全工程:从威胁建模到防护
  • ARM处理器调试架构:EDBGRQ与CTI对比与实现
  • STM32HAL库-UID实战:从读取到应用加密与设备标识
  • 智谱GLM-5:实用主义AGI的技术革命
  • 2026最新 | 零Prompt自动生成电商带货视频,这个AI工作台把出片门槛打成了地板
  • 5G毫米波MIMO波束对齐技术解析与优化方案
  • 编程语言“颜色”难题:异步与同步困境,Go语言如何破局?
  • 企业级 AI Agent: MCP、CLI、Skills,如何定位、该怎么选、最佳实践。
  • 2026年实力之选:东莞刻字膜与烫金纸生产厂家综合解析 - 品牌企业推荐师(官方)
  • 构建有记忆的AI支持代理:基于会话状态追踪与动态升级的工程实践
  • ChatGPT高效入门指南:3天建立认知框架、7天掌握结构化提示、30天构建个人AI工作流
  • 2026年 宝钢冷镦钢盘条/圆钢全牌号推荐榜单:源头厂家技术实力与行业优选深度解析 - 品牌企业推荐师(官方)
  • 手把手教你用Python爬虫+数据分析,量化验证‘蜘蛛一年吃掉的昆虫比英国人还重’这个惊人结论
  • SpringBoot与前端框架(Vue/React)联调实战指南
  • WPF TemplateBinding
  • 846378
  • C64 BASIC 游戏地图“相机视角”实现:从初稿到优化,性能提升有妙招!
  • 从零到一:QtCharts模块的集成与实战入门
  • 2026现阶段昆明婚宴礼服租赁:如何挑选性价比之王?金喜礼服馆深度解析 - 2026年企业资讯
  • RTA-OS中断实战:从概念到高效配置的嵌入式系统响应之道
  • 基于Amazon Bedrock构建AI智能体:从提示词工程到工具调用的实践指南
  • 深圳周边Inconel 718现货哪里找?揭秘珠三角核心供应商的快速响应能力 - 品牌2025