2-1
Java 语言中有一些具有特殊用途的词被称为关键字。关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重哦!!
Java 中常用关键字:
2-2
使用标识符时,需要遵守几条规则:
1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴
2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
4. 标识符的命名最好能反映出其作用,做到见名知意。
2-4
2-5、如何命名Java变量
1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存"学生姓名"信息
PS : Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!
任务:先定义String类型的变量a并给它赋值为我爱慕课网,再定义一个String类型的变量b赋值为www.imooc.com,最后输出a和b
2-6、Java中的数据类型
在Java中有8种基本数据类型来储存数值,字符和布尔值。
基本数据类型:数值型,字符型,布尔型。
数值型分为:整数类型(byte,short,int,long)和浮点类型(float,double)。
字符型:char,转义字符"\"。
布尔型:false,true。
2-7、Java中变量的使用规则
1.变量的使用是程序设计中一个重要的环节,声明变量就是告诉编译器这个变量的数据类型。
2.在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。
3.在声明变量时可以是没有赋值,也可以是直接赋初值。
例如,声明一个整数型变量和声明一个字符型变量,代码如下:
int age; //声明一个int型变量
char char1 = 'r'; //声明char型变量并赋值
注意:变量名必须是一个有效的标识符;变量名不可以使用Java中的关键字;变量名不能重复;应选择有意义的单词作为变量名。
2-9、自动类型转换
数据类型转换
数据类型转换包括隐式类型转换,显示类型转换。数据类型的精度从低到高的排名为:byte<short<int<long<float<double。
隐式类型转换:从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。注意:隐式类型转换一定不会丢失数据。
2-10、强制类型转换
显式类型转换:显示类型转换又称(强制类型转换),当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算。注意:显示类型转换有可能会丢失数据。
2-11、常量的应用
声明常量
在程序运行过程中一直不会改变的量。
通常称为“final变量”。
常量在整个程序中只能被赋值一次。
例如,声明常量 a,(程序中用PI表示)代码如下
final double PI = 3.14;//声明 double型常量PI并赋值
注意当变量被final关键字修饰时,该变量就变成了常量,必须在定义时就设定它的初值,否则就会发生编译错误
2-12、如何在Java中使用注释
(1)单行注释:通常用于对程序中的某一行代码进行解释,用符号“//”表示,“//”后面为被注释的内容,具体如右:int c = 10;//定义一个整数类型的变量并赋值。
(2)多行注释:顾名思义就是在注释中的内容可以为多行,它的符号以“/*”开头,以“*/”结尾,
多行注释具体示例如右:/*int c = 10;
int x = 5;*/
(3)文档注释:以“/**”开头,并在注释内容末尾以“*/”结束。
2-13、练习题
以下为 Java 中的多行注释声明的是(D)
A //这是注释
B */这是注释*/
C /这是注释
D /*这是注释*/
第三章、常用的运算符
3-1、什么是运算符
运算符是一种功能符号,用以通知Java进行相关的运算。例如,我们需要将变量age的值设置为20,这时候就要一个“=”告诉程序程序需要进行赋值操作。
Java语言中常用的运算符可分为如下几种:
算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符
3-2、Java中的算数运算符
算数运算符
Java中的算数运算符主要有加(+),减(-),乘(*),除(/),求余(%),它们都是二元运算符。
Java中算数的功能及使用方式(如下表)。注意,“+”和“-”运算符还可以作为数值的正负符号,例如+6,-6。
在进行除法运算时,0不能做除数。例如,对于语句“int a = 5 / 0;”,系统会抛出ArithemticException异常。
使用算数运算符进行模拟计算器(如下图)。
操作符 描述 例子
+ 加法 - 相加运算符两侧的值 A + B 等于 30
- 减法 - 左操作数减去右操作数 A – B 等于 -10
* 乘法 - 相乘操作符两侧的值 A * B等于200
/ 除法 - 左操作数除以右操作数 B / A等于2
% 取余 - 左操作数除以右操作数的余数 B%A等于0
3-3、Java中的赋值运算符
赋值运算符是以符号“=”表示,它是一个二元运算符,其功能是将右方操作数所含的值赋给左方的操作数。例如:int a = 100;该表达式是将100赋值给变量a。
左方的操作数必须是一个变量,而右边的操作数则可以是任何表示,包括变量(如a,number),常量(如123,‘book’)有效的表达式。
3-4、Java中的比较运算符
比较运算符属于二元运算符,用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间比较。
比较运算符的运算结果是Boolean型,当运算符相对应的关系成立时,运算结果为true,否则为false。
所有比较运算符通常作为判断的依据用在条件语句中,比较运算符共有六个(如下表)。
3-5、Java中的逻辑运算符
逻辑运算符包括逻辑与(&&),逻辑或(||),逻辑非(!)。
逻辑运算符的操作元必须是Boolean型数据,在逻辑运算符中,除了“!”是一元运算符,其他都是二元运算符。
逻辑运算符表格,其中1表示真,0表示假,详细如下表。
操作符 描述 例子
&& 两者都为真,结果才是真 (1&&1)为真,(1&&0)为假。
| | 只要有一者为真,结果就是真 (1| |0)为真。
! 非真即假,非假即真 !1 为假。
3-6、练习题
以下运算结果为 true 的是(C)
A (5>2)&&( false )
B ( false ) II (5<2)
C ( true )&&(2<5)
D !(2<5)
3-7、Java中的条件运算符
三元运算符的使用格式为:条件式 ? 值1 :值2 。
三元运算符的运算法则为:若条件式为真(true),则执行值1,条件式为假(false),则执行值2。
3-8、Java中运算符的优先级
Java中的表达式就是使用运算符连接起来的符号Java规则的式子。
运算符的优先级决定了表达式中运算执行的先后顺序。
运算符的优先级顺序,通常顺序如:增量和减量运算>算数运算>比较运算>逻辑运算>赋值运算。
注意:在编写程序时尽量使用括号来指定运算次序,以免产生错误的运算顺序。
3-9、练习题
下列运算符(C)的优先级最高?
A !运算符
B =运算符
C ()运算符
D &&运算符
3-10、练习题
表达式(11+3*8)/4%3的结果是(D)
A 答案:3
B 答案:0
C 答案:1
D 答案:2
第四章、流程控制语句
4-1、Java条件语句之if
可根据不同的条件执行不同的语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”。如果该表达式返回结果为true,则执行其后语句;如果为false,则不执行if条件之后的语句。
语法:if(条件){
条件成立时执行的代码
}
4-2、Java条件语句之if...else
if...else语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。
if后面“()”内的表达式的值必须是Boolean型的。如果表达式的值为true,则执行紧跟if语句的复合语句;如果表达式的值为false,则执行else后面的复合语句。
同if条件语句一样,如果if...else语句的语句序列只有一条语句,则可以省略该语句序列外面的“{}”。有时为了编程需要,else或if后面的“{}”中可以没有语句。
语法:if(条件的布尔表达式){
代码块1
}else{
代码块2
}
4-3、Java条件语句之多重if
多重if语句,在条件1不满足的情况下,才会进行条件2的判断;当前面的条件均不成立时,才会执行else块内的代码。例如,如果考试成绩大于90分,则奖励一个IPHONE 5S,如果成绩介于70至90分之间,则奖励一个红米,否则罚做500个俯卧撑。
语法:if(条件1){
代码块1
}else if(条件2){
代码块2
}else{
代码块3
}
4-4、Java条件语句之嵌套if
嵌套if语句,只有当外层if的条件成立时,才会判断内层if的条件。
语法:if(条件1){
if(条件2){
代码块1
}else{
代码块2
}
}else{
代码块3
}
4-5、练习题
Java 中关于 if 语句描述错误的是(C)
A if 语句是根据条件判断之后再做处理的一种语法结构
B 关键字 if 后小括号里面条件表达式的值必须为布尔类型
C if 后小括号里的表达式的值为 false 时,程序需要执行后面大括号里的语句
D if 语句可以和 else 一起使用
4-6、Java条件语句之switch
当需要对选项进行判断时,使用switch语句更加简洁明了。
switch语句中表达式的值必须是整型,字符型,字符串类型或枚举类型,常量值1~n的数据类型必须与表达式的值的类型相同。
switch语句首先计算表达式的值,如果表达式的计算结果和某个case后面的常量值相同,则执行该case语句后的若干个语句直到遇到break语句为止。此时,如果该case语句中没有break语句,将继续执行后面的case中的若干个语句,直到遇到break语句为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch语句则不做任何处理。
注意:同一个switch语句,case语句的常量值必须不相同。
语法:
switch(表达式){
case 值1:
执行代码块1
break;
case 值2:
执行代码块2
break;
case 值n:
执行代码块n
break;
default:
默认执行的代码
}
4-7、Java循环语句之while
语法:while(判断条件){
循环操作
}
执行过程:
<1>、判断while后面的条件是否成立(true/false)
<2>、当条件成立时,执行循环内的操作代码,然后重复执行<1>、<2>,直到循环条件不成立为止
特点:先判断,后执行
4-8、Java循环语句之do...while
语法:
do{
循环操作
}while(判断条件);
执行过程:
<1>、先执行一遍循环操作,然后判断循环条件是否成立
<2>、如果条件成立,继续执行<1>、<2>,直到循环条件不成立为止
特点:先执行,后判断
由此可见,do...while语句保证循环至少被执行一次
4-9、Java循环语句之for
语法:for(循环变量初始化;循环条件;循环变量变化){
循环操作
}
执行过程:
<1>、执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次
<2>、进行循环条件的判断,如果条件为true,则执行循环体内代码;如果为false,则直接退出循环
<3>、执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断
<4>、依次重新执行<2>、<3>、<4>,直到退出循环
特点:相比whlie和do...whlie语句结构更加简洁易读
4-10、练习题
下列关于循环说法错误的是(B)
A while 循环先判断后执行, do ..… while 先执行后判断
B do ..… while 循环结束的条件是 while 后的条件成立
C do .… while 循环的循环体至少无条件执行一次
D for 语句构成的循环可以用其他循环语句替换
4-11、Java循环跳转语句之break
在Java中,我们可以使用break语句退出指定的循环,直接执行循环后面的代码。
4-12、Java循环跳转语句之continue
continue的作用是跳过循环体中剩余的语句执行下一次循环。
4-13、练习题
以下关于循环跳转说法正确的是(B)
A continue 语句的作用是结束整个循环的执行
B 可以在循环体内和 switch 语句体内使用 break 语句
C 循环体内使用 break 语句和 continue 语句的作用相同
D switch 语句体内必须有 break
4-14、Java循环语句之多重循环
循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。
第五章、阶段练习
5-1、编程练习
第六章、数组
6-1、什么是数组
6-2、练习题
定义一个数组 int[ ] scores = { 1, 2, 3, 4, 5, 6, 7 } ,数组中的 score[3] 指的是( D)
A答案:1
B答案:2
C答案:3
D答案:4
6-3、如何使用 Java 中的数组
Java 中操作数组只需要四个步骤:
1、 声明数组
语法: 数据类型[ ] 数组名;
或者 数据类型 数组名[ ];
其中,数组名可以是任意合法的变量名,
2、 分配空间
简单地说,就是指定数组中最多可存储多少个元素
语法: 数组名 = new 数据类型 [ 数组长度 ];
其中,数组长度就是数组中能存放元素的个数
话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间
3、 赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩
4、 处理数组中数据
我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值
在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成
任务:
6-4、练习题
下列数组的初始化正确的是(B)
Aint[ ] score = new int[ ];
Bint score[ ] = new int[ ] { 34, 90, 87, 54, 24 };
Cint[ ] score = new int[ 4 ] { 90, 12, 34, 77 };
Dint score = { 78, 23, 44, 78 };
6-5、使用循环操作 Java 中的数组
数组名.length 用于获取数组的长度
需要注意的“小毛病”:
1、 数组下标从 0 开始。因此 scores[3] ,表示数组中的第 4 个元素,而并非第 3 个元素
2、 数组下标的范围是 0 至 数组长度-1 ,如果越界访问,就会报错。