Java自学第2课:Java语言基础知识要点

1 Java主类结构

任务:创建新项目名为item,包名为number,类名为first。

1.1 包声明

不指定包时,默认就是工程名,指定后,类文件可以分类了,是这意思吧。包就大概等于一个文件夹。而且在类文件中,有个package声明。这就是包声明。

1.2 成员变量和局部变量

类的属性就是成员变量,方法中的属性就是局部变量,这个好理解。

1.3 主方法

main就是类的主方法。是开始执行程序的位置。这个和c++有很大不同。

有个疑问,如果我有多个类,那么每个类都有main函数?

1.4 导入API类库

可以通过import来导入相关类,这个和python类似。这类不展开,只了解。

2 基本数据类型

和其他编程语言是类似的。

要注意,整数型不同字节数的类型取值范围是不一样的,这个注意一下。

不知道现在的程序员们喜欢用哪个类型。

浮点型,如果指明类型,就需要在数字后面加上f和d来表示float和double。

字符型:

char用来表示单个字符,比如's',和c语言是一样的。

char中转义字符有用,比如

3 变量与常量

3.1 标识符和关键字

标识符就是用来表示类,变量,方法,数组,文件等,合法的标识符是任意顺序字母,下划线,美元符号和数字组成,第1个字符不能是数字。标识符不能是关键字。

和c不一样的关键字还是有几个的,注意下就行。

所有的变量使用前都必须声明。

3.2 常量

声明常量:使用final关键字。如:

final double pi = 3.14;

当常量是成员变量时,定义时必须给初值。

3.3 变量的有效范围

变量根据有效范围可分为:成员变量和局部变量。

(1)成员变量可分为静态变量和实例变量。

(2)局部变量名字与成员变量相同时,成员变量将在此方法中隐藏失效。

3.4 运算符

  • 赋值运算符=
  • 算术运算符+-*/%
  • 自增自减运算符++ --
  • 比较运算符> < == >= <= !=
  • 逻辑运算符 && & || !
  • 位运算符 & | ~ ^ << >> >>>
  • 三元运算符 a>b?a:b

其中 移位运算符没怎么见过。此外,要注意运算符的优先级。

3.5 数据类型转换

包括隐式转换和显式转换。

隐式转换优先级为:这时候不需要操作就转换了

最好别隐式转换,容易出错。

显式转换是最好的方式。书上有个例子有点意思:

不知道这时候b会如何显示?

3.6 代码注释和编码规范

注释方法和C一样。注意一下文档注释/** */

编码规范还是值得学习一下的。

4 小练习

前面提到的那个显式转换的问题,试一下。

可见,b变成了-127,还在范围之内(-128~127)。

相关推荐
白杨尚青1 小时前
C++进阶篇(二):多态——虚函数、重写、虚函数表与三个经典坑(附完整代码仓库)
开发语言·c++·多态·虚函数·重写·动态绑定
考虑考虑8 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源