Java学习笔记
- 学习目标:
一周掌握 Java 入门知识
- 学习内容:
1、imooc课程:Java入门第一季(IDEA工具)升级版
Ⅰ变量和常量
Ⅱ常用的运算符
Ⅲ流程控制语句
Ⅳ数组
2、学校课程JAVA程序设计
传送门:
Java学习笔记(一)
Java学习笔记(二)
Java学习笔记(三)
- 学习时间:
1、 周一至周五晚上 10 点—晚上10:30点
2、 周日下午 3 点-下午 4 点
- 学习笔记:
配置java开发环境
- S1:配置环境变量JAVA_HOME
- JAVA_HOME变量值为JDK的安装路径
- S2:配置环境变量CLASSPATH
- CLASSPATH变量值为C:\Program Files\Java\jdk-12.0.2\lib
- CLASSPATH可以设置为%JAVA_HOME%\lib
- S3:配置环境变量Path
- Path变量值为C:\Program Files\Java\jdk-12.0.2\bin
- Path可以设置为%JAVA_HOME%\bin
- S4:测试环境变量
- cmd 输入 java
简介
面向对象
Ⅰ变量和常量
①关键字
Java 关键字是区分大小写的
②标识符
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。
使用标识符时,需要遵守几条规则:
-
标识符可以由字母、数字、下划线(_)、美元符($) 组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。
-
标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
-
标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
-
标识符的命名最好能反映出其作用,做到见名知意。
●变量
通过三个元素描述变量:变量类型、变量名以及变量值。
①命名
-
变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
-
变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的。
②数据类型
Java 语言是一种强类型语言。
Java 中有两类数据类型:
在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。
String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。
//PS:有很多和C语言重复的知识点就不记了(e.g.自动类型转换,强制类型转换…)。
Java语言中,boolean类型不能用数值表示。
③常量的应用
常量可以理解为是一种特殊的变量,值被设定后,在程序运行过程中不允许改变。
语法:
final 常量名 = 值;
注意:
- 程序中使用常量可以提高代码的可维护性;
- 常量名一般使用大写字符。
- Java中
null
应该小写。
④注释
Java 中注释有三种类型:单行注释、多行注释、文档注释
//单行注释
/* 多行注释 */
/** 文档注释 **/
可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。
PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:
- @author 标明开发该类模块的作者
- @version 标明该类模块的版本
- @see 参考转向,也就是相关主题
- @param 对方法中某参数的说明
- @return 对方法返回值的说明
- @exception 对方法可能抛出的异常进行说明
Ⅱ常用的运算符
常用的运算符可分为如下几种:
Ø 算术运算符
Ø 赋值运算符
Ø 比较运算符
Ø 逻辑运算符
Ø 条件运算符
Ø 算术运算符
自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量。
Ø 赋值运算符
=, +=, -=, *=, /=, %=.
Java中对取余运算符(%)进行了扩展,可以对浮点型数值进行取余(C中只能是整型)
Ø 比较运算符
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型;
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型。
Ø 逻辑运算符
与&&, 或||, 非!, 异或^
短路现象
Ø 条件运算符
条件运算符( ? : )也称为 “三元运算符”。
语法形式:
布尔表达式 ? 表达式1 :表达式2
运算过程: 如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
优先级
同C语言
Ⅲ流程控制语句
if
if…else
if*n
switch
while 、 do…while 、 for
continue
多重循环
Ⅳ数组
- 数组是一个数据结构,用来存储相同类型的数据。
- 一个数组是系列的匿名变量,数组中的元素可以通过下标来访问。
- Java将数组作为对象来处理。类Object中定义的方法都可以用于数组对象。
- 数组元素可以是基本类型,也可以是类类型,还可以是数组。
1、 声明数组
语法:
数据类型[ ] 数组名;
或者
数据类型 数组名[ ];
- 数组定义中不为数组元素分配内存,因此方括号[]中不用指出数组中元素的个数,即数组的长度。
- 并不创建数组,它们只是引用变量,用来指向一个数组
2、 分配空间
简单地说,就是指定数组中最多可存储多少个元素
- 动态初始化
语法:
数组名 = new 数据类型 [ 数组长度 ];
以下两种方式 定义时就分配了空间:
type[] arrayName=new type[arraySize];
type arrayName[]=new type[arraySize];
Java中没有静态数组定义,数组的内存都是通过new动态分配的。该写法是错误的:int intArray[5]
-
子类的对象一定是父类的对象,父类的对象不一定是子类的对象。
例如:狗是动物,动物不一定是狗。
Object是Point的父类
Object[] point;point=new Point[3];
正确
Point[] point;point=new Object[3];
错误 -
数组下标从0开始,数组中的元素个数length是数组类中的唯一数据成员变量,如:
list.length
多维数组
- 静态初始化:
int[][] intArray={{2,3}, {1,5}, {3,4}}
- 动态初始化:
int[][] intArray=new type[arraylength1][arraylength2]
3、 赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的
4、 处理数组中数据
零碎
-
接收用户输入信息
String input = new Scanner(System.in).next(); int input = new Scanner(System.in).nextInt();
-
输出语句
sout——System.out.println() //ln是line,为换行之意, print就不换行了 -
psvm——程序入口
-
索引越界异常——ArrayIndexOutOfBoundsException
-
try{ }catch{ }——对异常进行捕获
素材● ④①②③⑤⑥⑦⑧⑨①②③④⑤⑥⑦⑧#### ● ⑨● ①②③④⑤●⑥⑦