Java入门第一季.docx
- 文档编号:16625684
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:44
- 大小:2.11MB
Java入门第一季.docx
《Java入门第一季.docx》由会员分享,可在线阅读,更多相关《Java入门第一季.docx(44页珍藏版)》请在冰点文库上搜索。
Java入门第一季
第一章变量和常量
Java中的关键字
Java语言中有一些具有特殊用途的词被称为关键字。
关键字对Java的编译器有着特殊的意义,在程序中应用时一定要慎重!
Java中常用关键字:
Java关键字是区分大小写的!
认识Java标识符
标识符就是用于给Java程序中变量、类、方法等命名的符号。
使用标识符时,需要遵守几条规则:
1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含@、%、空格等其它特殊字符,不能以数字开头。
2. 标识符不能是Java关键字和保留字(Java预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。
3. 标识符是严格区分大小写的。
4. 标识符的命名最好能反映出其作用,做到见名知意。
变量是什么
简单的说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以在需要的时候换成我们想存放的新物品。
在Java中,我们通过三个元素描述变量:
变量类型、变量名以及变量值。
如果我们把变量比作是酒店房间,要存储的数据就好比住宿的客人,根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。
例如,我们定义了一个变量 love ,用来保存一个字符串 “imooc” ,在程序中只要找到了love这个变量,就能找到存储在里面的”imooc”!
当然,我们也可以把 love 里面的值更换成新的字符串 “iloveimooc” !
运行结果:
如何命名Java变量
如同酒店给每个房间起个性化的名字一样,程序中的变量也需要用合理的名字进行管理---变量名!
需要注意,在给变量起名字时,必须符合一定的规则,如下所示:
以下变量的命名都是符合规范的:
但请看下面的代码,你懂得哈:
优秀攻城师的习惯:
1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。
如:
定义变量名stuName 保存“学生姓名”信息
PS:
Java变量名的长度没有限制,但Java语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量!
Java中的数据类型
Java语言是一种强类型语言。
通俗点说就是,在Java中存储的数据都是有类型的,而且必须在编译时就确定其类型。
Java中有两类数据类型:
在Java的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。
说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。
常用的基本数据类型有:
你可能已经注意到了:
注:
关于float型和double型的区别,以及char型和String型的不同,在wiki中有相关的总结,小伙伴们可以去查看哦~~
String 是一种常见的引用数据类型,用来表示字符串。
在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。
PS:
关于引用类型的其他小伙伴们,在后面课程中会详细讲到滴。
Java中变量的使用规则
1、Java中的变量需要先声明后使用
2、变量使用时,可以声明变量的同时进行初始化
,
也可以先声明后赋值
3、变量中每次只能赋一个值,但可以修改多次
4、main方法中定义的变量必须先赋值,然后才能输出
5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等
关于String :
表示变量中存储的数据的类型为字符串,后面小节中会详细讲到~~
Java中的自动类型转换
在Java程序中,不同的基本数据类型的数据之间经常需要进行相互转换。
例如:
,
代码中int 型变量score1 可以直接为double型变量score2完成赋值操作,运行结果为:
82.0
这种转换称为自动类型转换。
当然自动类型转换是需要满足特定的条件的:
1. 目标类型能与源类型兼容,如double型兼容int型,但是char型不能兼容int型
2. 目标类型大于源类型,如double类型长度为8字节,int类型为4字节,因此double类型的变量里直接可以存放int类型的数据,但反过来就不可以了
Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:
final常量名=值;
程序中使用常量可以提高代码的可维护性。
例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量SEX,赋值为"男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。
注意:
常量名一般使用大写字符
如何在Java中使用注释
在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。
一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的1/3以上。
因此,注释是程序源代码的重要组成部分,一定要加以重视哦!
Java中注释有三种类型:
单行注释、多行注释、文档注释
运行结果:
HelloImooc!
被注释的代码块在程序运行时是不会被执行的
第二章常用的运算符
什么是运算符
运算符是一种“功能”符号,用以通知Java进行相关的运算。
譬如,我们需要将变量age的值设置为20,这时候就需要一个“=”,告诉程序需要进行赋值操作。
Java语言中常用的运算符可分为如下几种:
Ø 算术运算符
Ø 赋值运算符
Ø 比较运算符
Ø 逻辑运算符
Ø 条件运算符
Java中的算术运算符
算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。
Java中常用的算术运算符:
其中,++和--既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴
例1:
运行结果:
例2:
运行结果:
一定要注意哦!
自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!
例如5++、8--等写法都是错误滴!
PS:
%用来求余数,也称为”取模运算符“
Java中的赋值运算符
赋值运算符是指为变量或常量指定数值的符号。
如可以使用 “=”将右边的表达式结果赋给左边的操作数。
Java支持的常用赋值运算符,如下表所示:
Java中的比较运算符
比较运算符用于判断两个数据的大小,例如:
大于、等于、不等于。
比较的结果是一个布尔值(true或false)。
Java中常用的比较运算符如下表所示:
注意哦:
1、 >、<、>=、<=只支持左右两边操作数是数值类型
2、 ==、!
=两边的操作数既可以是数值类型,也可以是引用类型
Java中的逻辑运算符
逻辑运算符主要用于进行逻辑运算。
Java中常用的逻辑运算符如下表所示:
我们可以从“投票选举”的角度理解逻辑运算符:
1、与:
要求所有人都投票同意,才能通过某议题
2、或:
只要求一个人投票同意就可以通过某议题
3、非:
某人原本投票同意,通过非运算符,可以使其投票无效
4、异或:
有且只能有一个人投票同意,才可以通过某议题
当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。
譬如:
(one>two )&&(one 同理,在(one>two )||(one Java中的条件运算符 条件运算符(? : )也称为“三元运算符”。 语法形式: 布尔表达式? 表达式1: 表达式2 运算过程: 如果布尔表达式的值为true,则返回 表达式1 的值,否则返回 表达式2 的值 例如: 因为,表达式8>5的值为true,所以,返回: 8大于5 Java中运算符的优先级 所谓优先级,就是在表达式中的运算顺序。 Java中常用的运算符的优先级如下表所示: 级别为1的优先级最高,级别 11的优先级最低。 譬如,x=7+3*2 得到的结果是 13“先乘后加”嘛! PS: 大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。 例如: 分析: 小括号优先级最高,因此 1、执行a+18,结果为30 2、执行(a+18)%4取模,结果为2 3、执行a * ((a + 18) % 4),结果为24 第三章流程控制语句 Java条件语句之if 生活中,我们经常需要先做判断,然后才决定是否要做某件事情。 例如,如果考试成绩大于90分,则奖励一个IPHONE 5S。 对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用if条件语句实现。 语法: 执行过程: 如: 注意哦: 如果if条件成立时的执行语句只有一条,是可以省略大括号滴! 但如果执行语句有多条,那么大括号就是不可或缺的~~ Java条件语句之if...else if...else语句的操作比if语句多了一步: 当条件成立时,则执行if部分的代码块; 条件不成立时,则进入else部分。 例如,如果考试成绩大于90分,则奖励一个IPHONE 5S,否则罚做500个俯卧撑。 语法: 执行过程: 如: Java条件语句之多重if 多重if语句,在条件1不满足的情况下,才会进行条件2的判断;当前面的条件均不成立时,才会执行else块内的代码。 例如,如果考试成绩大于90分,则奖励一个IPHONE 5S,如果成绩介于70分至90分之间,则奖励一个红米,否则罚做500个俯卧撑。 语法: 执行过程: 如: 该段代码的含义是: 如果score值大于90,则奖励一个Iphone5s,当score值小于等于 90时,先判断score是否大于70,如果score是介于70--90之间,则奖励一个红米,如果成绩小于等于 70,则罚做500个俯卧撑 当需要判断的条件是连续的区间时,使用多重if语句是非常方便滴! Java条件语句之嵌套if 嵌套if语句,只有当外层if的条件成立时,才会判断内层if的条件。 例如,活动计划的安排,如果今天是工作日,则去上班,如果今天是周末,则外出游玩;同时,如果周末天气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。 语法: 执行过程: 例如: 运行结果为: 去室外游乐场玩 Java条件语句之switch 当需要对选项进行等值判断时,使用switch语句更加简洁明了。 例如: 根据考试的名次,给予前4名不同的奖品。 第一名,奖励笔记本一台;第二名,奖励IPAD 2一个;第三名,奖励移动电源一个;最后一名奖励U盘一个。 语法: 执行过程: 当switch后表达式的值和case语句后的值相同时,从该位置开始向下执行,直到遇到 break语句或者switch语句块结束;如果没有匹配的case语句则执行default块的代码。 如: 不得不说的几点小秘密: 1、 switch后面小括号中表达式的值必须是整型或字符型 2、case后面的值可以是常量数值,如1、2;也可以是一个常量表达式,如2+2;但不能是变量或带有变量的表达式,如a*2 3、case匹配后,执行匹配块里的程序代码,如果没有遇见break 会继续执行下一个的case块的内容,直到遇到 break语句或者switch语句块结束 如 , 运行结果: 4、可以把功能相同的case语句合并起来,如 5、 default块可以出现在任意位置,也可以省略 Java循环语句之while 生活中,有些时候为了完成任务,需要重复的进行某些动作。 在Java中实现功能时,也经常需要重复执行某些代码,即循环语句! Java常用的3种循环: while、do...while、for 本小节咱们先来聊聊 while 语法: 执行过程: <1>、 判断while后面的条件是否成立(true/false) <2>、 当条件成立时,执行循环内的操作代码 ,然后重复执行<1>、<2>, 直到循环条件不成立为止 特点: 先判断,后执行 如: Java循环语句之do...while do...while循环与while循环语法有些类似,但执行过程差别比较大。 语法: 执行过程: <1>、先执行一遍循环操作,然后判断循环条件是否成立 <2>、如果条件成立,继续执行<1>、<2>,直到循环条件不成立为止 特点: 先执行,后判断 由此可见,do...while语句保证循环至少被执行一次! 例如,依然输出1000遍“我爱慕课网”,使用do...while的实现代码为: Java循环语句之for Java的循环结构中除了while和do...while 外,还有for循环,三种循环可以相互替换。 语法: 执行过程: <1>、执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次 <2>、进行循环条件的判断,如果条件为true,则执行循环体内代码;如果为false,则直接退出循环 <3>、执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断 <4>、依次重新执行<2>、<3>、<4>,直到退出循环 特点: 相比while和do...while语句结构更加简洁易读 例如,输出1000遍“我爱慕课网”,使用for的实现代码为: 需要留心的几个小细节: 1、for关键字后面括号中的三个表达式必须用“;”隔开,三个表达式都可以省略,但“;”不能省略。 a.省略“循环变量初始化”,可以在for语句之前由赋值语句进行变量初始化操作,如: b.省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如: 在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用break强制跳出循环(关于break的用法会在后面介绍)。 c.省略“循环变量变化”,可以在循环体中进行循环变量的变化,如: 2、for循环变量初始化和循环变量变化部分,可以是使用“,”同时初始化或改变多个循环变量的值,如: 代码中,初始化变量部分同时对两个变量i和j赋初值,循环变量变化部分也同时对两个变量进行变化,运行结果: 3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级,如: 代码中,必须同时满足变量i小于10,并且i不等于5时才会进行循环,输出变量i的值。 Java循环跳转语句之break 生活中,我们经常会因为某些原因中断既定的任务安排。 如在参加10000米长跑时,才跑了500米就由于体力不支,需要退出比赛。 在Java中,我们可以使用break语句退出指定的循环,直接执行循环后面的代码。 例如,使用循环输出1--10的数值,其中,如果数值大于2,并且为3的倍数则停止输出。 实现代码: 运行结果: Java循环跳转语句之continue continue的作用是跳过循环体中剩余的语句执行下一次循环。 例如,打印 1--10之间所有的偶数,使用continue语句实现代码为: 运行结果: Java循环语句之多重循环 循环体中包含循环语句的结构称为多重循环。 三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。 在二重循环中,外层循环每执行一次,内层循环要执行一圈。 如下所示: 例如: 使用*打印长方形: 实现代码为: 执行流程: 当i=1时,外层循环条件成立,进入内层循环,开始打印第一行内容。 此时,j从1开始,循环8次,内层循环结束后换行,实现第一行8个*的输出。 接下来返回外层循环i变为2,准备打印下一行,依此类推,直到完成长方形的打印 第四章数组 什么是数组 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义int型的数组scores存储4名学生的成绩 数组中的元素都可以通过下标来访问,下标从0开始。 例如,可以通过 scores[0]获取数组中的第一个元素76,scores[2]就可以取到第三个元素92啦! 如何使用Java中的数组 Java中操作数组只需要四个步骤: 1、声明数组 语法: 数据类型[ ]数组名; 或者 数据类型数组名[ ]; 其中,数组名可以是任意合法的变量名,如: 2、分配空间 简单地说,就是指定数组中最多可存储多少个元素 语法: 数组名=new 数据类型[数组长度]; 其中,数组长度就是数组中能存放元素的个数,如: 话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如: 3、赋值 分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向scores数组中存放学生成绩 4、处理数组中数据 我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值 在Java中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如 它等价于: 使用循环操作Java中的数组 实际开发中我们经常使用循环控制数组成员的操作。 如: 运行结果: 其中, 数组名.length 用于获取数组的长度 需要注意的“小毛病”: 1、数组下标从0开始。 因此scores[3],表示数组中的第4个元素,而并非第3个元素 2、数组下标的范围是0至数组长度-1,如果越界访问,就会报错。 如: 运行时会报如下错误: 上面错误信息的意思是数组下标超过范围,即数组访问越界。 在上面的代码中创建一个长度为2的数组,因此数组下标范围是0到1,而程序中下标出现了2,即scores[2],超过了范围,造成数组访问越界。 使用Arrays类操作Java中的数组 Arrays类是Java中提供的一个工具类,在java.util包中。 该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等(关于类和方法的相关内容在后面的章节中会详细讲解滴~~)。 Arrays中常用的方法: 1、排序 语法: Arrays.sort(数组名); 可以使用sort()方法实现对数组的排序,只要将数组名放在sort()方法的括号中,就可以完成对该数组的排序(按升序排列),如: 运行结果: 2、将数组转换为字符串 语法: Arrays.toString(数组名); 可以使用toString()方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,如: 运行结果为: 输出数组nums中的元素: [25,7,126,53,14,86] Arrays类还提供了许多其他方法来操作数组此处就不一一列举啦,各位小伙伴们可以在wiki查阅更多信息 使用foreach操作数组 foreach并不是Java中的关键字,是for语句的特殊简化版本,在遍历数组、集合时,foreach更简单便捷。 从英文字面意思理解foreach也就是“for 每一个”的意思,那么到底怎么使用foreach语句呢? 语法: 我们分别使用for和 foreach语句来遍历数组 运行结果: 留个思考问题给大家: 如果想在foreach语句中获取数组元素的下标,该如何做呢? ? Java中的二维数组 所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。 那么如何使用二维数组呢,步骤如下: 1、声明数组并分配空间 或者 如: 2、赋值 二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从0开始 也可以在声明数组的同时为其赋值 如: 3、处理数组 二维数组的访问和输出同一维数组一样,只是多了一个下标而已。 在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。 如: 运行结果: 需要了解的: 在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。 如果每行的列数不同,则创建的是不规则的二维数组,如下所示: 运行结果为: 第五章方法 如何定义Java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。 一般情况下,定义一个方法的语法是: 其中: 1、访问修饰符: 方法允许被访问的权限范围,可以是public、protected、private甚至可以省略 ,其中public表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴 2、返回值类型: 方法返回值的类型,如果方法不返回任何值,则返回值类型指定为void;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用return语句返回值 3、方法名: 定义的方法的名字,必须使用合法的标识符 4、参数列表: 传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 根据方法是否带参、是否带返回值,可将方法分为四类: Ø 无参无返回值方法 Ø 无参带返回值方法 Ø 带参无返回值方法 Ø 带参带返回值方法 Java中无参无返回值方法的使用 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。 方法的使用分两步: 第一步,定义方法 例如: 下面代码定义了一个方法名为show,没有参数,且没有返回值的方法,执行的操作为输出“welcometoimooc.” 注意哦: 1、方法体放在一对大括号中,实现特定的操作 2、方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式 第二步,调用方法 当需要调用方法执行某个操作时,可以先创建类的对象,然后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 入门 第一