目录
六.数组
一.JAVA简介
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
1990年,SUN公司推出了“Green计划”,由James Gosling领导设计了一门叫做Oak的语言,为了实现 智能设备,但并未发展成功,但这门语言留了下来。 1990年,由于互联网的流行,Oak语言经过改造,成为了现在的Java。
二.基础语法知识
1.注释
Java程序中的注释可以对代码进行解释说明或屏蔽不用的代码。 编译时无视注释,注释分为
- 单行注释(//)
- 多行注释(/* */)
- 文档注释(/** */)
2.命名规则
- 驼峰命名法
- 帕斯卡命名法
3.Java中标识符的命名规则
- 标识符使用字母、数字、下划线和$组成
- 不能以数字开头
- 不能使用Java中的关键字(保留字)
4.Java中的数据类型
- 整形
byte字节 short短整型 int整型 long长整型,赋值时在数字后加l或L
- 浮点型
float单精度浮点型,赋值时在数字后加f或F double双精度浮点型
- 字符型
char,赋值时可以是单引号引起来的字符或一个数字
- 布尔型
boolean
5.引用类型
- 类
- 接口
- 数组
6.变量
在内存中的一块区域。由于这块区域中的数据可以发生变化,所以称为变量。定义变量,就是在内存中申请一块相应数据类型的空间,并对其命名的过程。
语法:数据类型 变量名;
如果要同时定义多个相同类型的变量,可以写作:数据类型 变量名1,变量名2.....;如
7.给变量赋值
语法:变量名 = 值;
将等号右边的值赋值给等号左边的变量中。
8.变量初始化
语法:数据类型 变量名 = 值;
如果在定义变量的时候能确定其中保存的数据,可以直接在定义变量的时候赋值。将定义变量和给变量赋值的过程合二为一。
9.类型转换
自动类型转换
-
小字节类型数据可以直接保存到大字节类型的变量中。
-
整型数据可以直接保存到浮点型变量中。
强制类型转换
同类型下,如果大字节类型的数据强制保存到小字节类型的变量中,需要强制类型转换
三、运算符
1.算术运算符
需要两个操作数参与,如果有浮点数参与运算,结果为浮点型。
注意:
- 如果同时多个符号一起使用,遵循数学中的四则运算规则,先乘除,后加减
- 运算时最终结果的数据类型,以所有参与运算的操作数中所占字节最大的类型为准
2.关系运算符
需要两个操作数参与 ,计算结果为布尔型boolean
注意:
- ==用于判断相等,=用于赋值
- ==用于比较两个原始类型的值或引用类型的内存地址
- 关系运算的结果为true/false
3.逻辑运算符
4.位运算符
注意:
- &&和||也称为短路运算。如果能通过第一个表达式决定最终的结果,则不用判断第二个表达式
- 通常情况下,使用&&和||提高代码执行效率。
5.赋值和复合赋值运算符
注意:
复合赋值运算的流程是:
将符号两端的整体进行对应的算术运算后,将结果赋值给符号左侧的变量中。
6.自增自减运算符
只有一个操作数参与运算,称为单目运算符
注意:
- a++或++a相当于a+=1或a=a+1。--同理
- 如果++或--独立成行使用,无论符号在前在后,都将结果+1或-1
- 如果++或--不是单独成行
符号在前,先+1或-1计算后再使用值
符号在后,先使用值后再+1或-1计算
7.条件运算符
三目运算符,有三个操作数参与。是一个简化版的双分支条件语句。
- 首先运算表达式1,如果结果为true,执行问号后的表达式2;
- 如果结果为false,执行冒号后的表达式3。
- 整个表达式的最终结果为表达式2或表达3。
8.运算符的优先级
小括号>>单目运算符>>算术运算符>>关系运算符>>逻辑运算符>>条件运算符>>赋值/复合赋值运算符
四、条件语句
1.if语句
-
单分支if语句
-
双分支if语句
-
多分支if语句
-
if嵌套
注意:
- if嵌套不要嵌套太多层,会导致代码可读性变低。
- if嵌套可以改造成if(){return}形式,让程序满足条件时,不再执行后续内容。
- if或else后的大括号可以不写,但只能让后边紧邻的第一句话成为满足时执行的语句。
2.switch语句
开关语句
如果一个变量的值能够例举出时,使用switch语句更为简洁。
注意:
- swtich小括号中的变量只能是非long的整型、字符型char、字符串String和枚举类型
- 小括号中的变量类型要与case后的值的类型相匹配
- 如果有某个case后的内容和变量值匹配,执行case后的代码,如果没有任何case匹配,执行default后的代码
- break和default可以省略。如果不写break,在某个case匹配时,执行玩相应的代码后继续执行后 续case后的代码,直到遇到break或没有代码为止
- 如果多个case后执行的内容一致,可以省略break,将统一要做的代码放在最后的case后
五、循环语句
1.while
2. do-while
3.for
注意:
-
while和for循环如果条件一开始就不成立,一次都不执行。do-while循环会至少执行一次后再做判断。
-
循环条件都是布尔值。
-
当已知循环次数时,建议使用for循环;未知循环次数时,建议使用while循环;先执行一次后再判断时使用do-while循环。
4.循环控制
-
break终止整个循环(如果循环中有swtich语句,switch中的break只能终止switch,不能终止循环。)
- continue停止本次循环,进行下次循环。(不再执行continue后续的代码)
- break和continue通常配置if语句使用
5.循环嵌套
-
在循环中继续循环。外层循环执行一次,内层循环执行一轮。
-
循环嵌套不要嵌套太多层。
六.数组
1.数组的定义
数据类型[] 数组名 = new 数据类型[数组大小];
2.数组的初始化
- 数据类型[] 数组名 = new 数据类型[]{元素1,元素2...};
- 数据类型[] 数组名 = {元素1,元素2...};
3.数组的取值和赋值
通过"数组名[下标]"访问。
4.数组特点
-
数组可以通过“数组名.length”获取其长度
-
数组定义后,如果没有对其赋值,会有默认值
- 整型默认0,浮点型默认0.0,字符默认空白字符,布尔型默认false,引用类型默认null
-
通常使用增强for循环遍历数组