一、重点知识
1.1多个符号组成的一个运算符,中间不能有空格
1.2int a = 10; -a = -10;
1.3表达式:由操作数和运算符组成的一个式子
1.4if --- else 这两个一定能执行一个,应为如果条件不符合,语句会报错,所以能写出来,一定要走
int socre; if(socre == 0){//会报错
1.5 java中定义成员变量时采用合法的前向引用
1.6 else 如果后面执行代码块只有一条语句 括号可以不加,不加影响程序的可读性
1.7 if 后不加括号默认只有一条语句
二、重点问题
关于String类型可否用比较运算符问题
在比较数值上String类型比较要用.equals(); 格式为“ ”.equals();
原始类型(int, long, float, double, short, char等)可又直接使用==比较:如:int a = 1, b = 1;a == b结果为true 引用类型(也就是对象)其实也可又用==比较,如
Account acct1 = new Account(1000);
Account acct2 = new Account(1000);
boolean b1 = (acct1 == acct2);//比较两个Account是否是同一个账户。
boolean b2 = (acct1 != acct2);//
而是比较对象在内存中的地址,也就相当于C/C++中的指针。java的基类Object中有equals方法,用于比较两个对象的内容是否相同,只要子类实现了该方法,就可以使用此方法进行比较,String这么强大的类当然实现了该方法,所以比较两个字符串是否相同应该使用下面的方法:s.equals(s1)或者s1.equals(s),现在推荐使用jdk1.7新增的Objects类中的equals方法,Objects.equals(obj1,obj2)。他不会造成空指针异常的问题。
switch注意事项
switch 后面可以是变量也可以是表达式
匹配到对应的case后不会跳出,后面的全部执行,这叫做switch的穿透现象,所以一般会加上break;
加default会显得更全面
case后的值不能相同,重复了程序无法判断该执行哪一个
case的值是无序的,主要看你的需求
switch 的作用类型 short byet char int string
如果多个语句重复,去掉break可以利用switch的穿透性实现多个case共用一个结果
case 后执行的语句可以是多种类型,也可以执行多条语句,就跟if大括号里面一样的, 只要别忘了break关键字就可以了
default位置问题 default 放在最前面,,,如果不加break后面的case依然会执行。
三、课堂知识
3.1、程序的流程结构
程序的流程结构:
A:顺序结构:默认的,从上向下,逐行的执行。
B:选择结构:条件满足,某些代码才会执行。
C:循环结构:条件满足,某些代码会反复多次的执行。直到条件不满足。
3.2、if语句
最基本的if语句
if(条件:boolean){
//条件成立,执行此处的代码
}
2、if...else语句
if(条件:boolean){
//条件成立,执行此处的代码
}else{
//条件不成立,执行此处的代码
}
3、多个条件:
if(条件1){
条件1满足,执行此处的代码
}else if(条件2){
条件1不满足,条件2满足,执行此处的代码
}else if(条件3){
条件1、2都不满足,条件3满足,执行此处的代码。
}。。。
else{
}
4、if语句的嵌套
if(外层条件){
if(内层条件){
}else{
}
}else{
}
说明:如果说if语句里只有一行代码,那么{}可以省略不写。但是不建议。
3.3、switch语句
switch也是实现分支语句
switch(变量/表达式){
case 数值1:分支1;break;
case 数值2:分支2;break;
case 数值3:分支3;break;
default:最后一个分支;
}
注意点:
1、case后的数值,不能重复。
2、case是无序的,先写后写都可以,关键是是否能够匹配上switch作用的变量。
3、switch作用的变量类型:short,byte,char,int,String(JDK7.0新增)、枚举类型(JDK5.0新增)。
4、default语句是可选的。
5、某个case匹配上后,如果该分支中没有break,那么后续的case都不再匹配,直接执行。一直到遇到break位置。
网友评论