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)。

相关推荐
学长毕设36 分钟前
基于SpringBoot的景点管理系统-附源码
java·spring boot·后端
sxlishaobin1 小时前
Maven Setting详解
java·学习·maven
知守观2 小时前
一个方法两个触发口:反编译 XXL-Job 后,我看清了 inner/job 子包的裸奔现状
java·spring boot·微服务
用户3126874877202 小时前
CompletableFuture 链式编排:异步编程的优雅解法
java
瑞雪兆丰年兮2 小时前
JavaWeb-day14-SpringBootWeb原理篇
java·开发语言·spring boot·spring·bean·mybatis·javaweb
神仙别闹2 小时前
基于 Java GUI 贪心策略直接搜索算法和极大极小博弈树算法的智能人机博弈五子棋游戏
java·毕业设计·gui·贪心策略·极大极小博弈树
Flynn Liang3 小时前
RAG 评估体系:黄金集、检索指标与 LLM-as-Judge 落地
java·langchain·rag·评估·langchain4j·检索指标
SomeOtherTime3 小时前
Rust生命周期介绍(AI回答)
开发语言·后端·rust
程序猿打工仔3 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法
喵本喵叁肆4 小时前
Rényi 差分隐私:把隐私损失看成一族矩(英文原题:Rényi Differential Privacy (CSF 2017))
开发语言·r语言