day03笔记
1.运算符:
1)算术运算符:+、-、*、/、%、++、--
2)关系运算符:>、>=、<、<=、==、!=、boolean
3) 逻辑运算符:&&、||、!boolean
3.1 &&:逻辑(短路)与(并且),两边都为真则为真,见false则false
当第一个数为false则发生短路(后面的不执行了)
||:逻辑(短路)或(或者)有一边为真则为真,见true则true
当第一个数为true时,则发生短路(后面的就不执行了)
!:逻辑非(取反)非真则假,非假则真
3.2 逻辑运算建立在关系运算基础之上
逻辑运算的结果是boolean型
4) 赋值:
4.1 简单赋值运算符:=
4.2 扩展赋值运算符:+=、-=、*=、/=、%= 面试题 shotr a=3; a+=10;//a=(short)(a+10);
5)字符串连接:+
5.1.字符char:放在单引号中,只能有一个
5.2.字符串String:放在双引号里,0到多个
6)三目(条件)运算符:
1.语法结构:(boolean表达式)?(表达式1):(表达式2);
2.执行流程
先判断boolean表达式的值:
若为true,则整个运算式的值为表达式1的值;
若为false,则整个运算式的值为表达式2的值。
3.代码案例
用三目运算符找出变量a和b中较大的数 ,
int a=10,b=1;
int max=a>b?a:b;//如果a>b为true,说明a大,则把a的值赋给max,
// 若a>b为false,说明b大,把b赋给max
任何复杂的程序逻辑都可以通过三总结构来实现
1)顺序结构:从上往下逐句执行,每句比走
2)分支结构:有条件的执行某语句,添加满足就不执行接下来的语句
2.1满足条件就干事,不满足条件就不干事----if
2.2满足条件就干事,不满足条件就干另一件事----if.....else
2.分支结构:
1)if 结构:1 条路 if();{} 如果有“,”的话,后面的语句都执行
1.语法结构
if(boolean表达式){
代码块;
}
2.执行流程
先判断boolean表达式的值:
若为true,则执行代码块;
若为false,则不执行代码块。
3.代码案例
判断变量a是不是正数,如果大于0,则输出“是正数”:
int a=-10;
if(a>0){
System.out.println("a是正数 ");//因为a=-10 所以a>0为false,所以并没有输出
}
2)if...else 结构:2 条路
1.语法结构
if(boolean表达式){
代码块1;
}else{
代码块2
}
2.执行流程
先判断boolean表达式的值:
若为true,则执行代码块1;
若为false,则执行代码块2。
3.代码案例
判断变量a是不是正数,如果大于0,则输出“是正数”,否则输出“是非正数”:
int a=-10;
if(a>0){
System.out.println("a是正数");
}else{
System.out.println("a是非正数");//因为a=-10 所以a>0为false,所以输出else处的语句块
}
3)if...else if:
1.语法结构
if(boolean表达式1){
代码块1;
}else if(boolean表达式2){
代码块2
}
.....
else{
代码块n
}
2.执行流程
先判断boolean表达式1的值:
a)若为true,则执行代码块1;
b)若为false,则判断表达式2的值,若为true,则执行代码块2,若为false,则继续判断;
c)如果所有的boolean表达式的值都为false,则执行else中的代码块n.
注意:if …else if中可以由多种情况,但是不论有多少情况,都只会执行其中相对应的一个代码块,一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
3.代码案例
判断变量a是不是正数,如果大于0,则输出“是正数”,否则判断a是否小于0,若是,则输出“是负数”,否则输出 “是零”:
int a=-10;
if(a>0){
System.out.println("a是正数");
}else if(a<0){
System.out.println("a是负数");//因为a=-10 所以a<0为true
}else{
System.out.println("a是零");
}
4)switch:
1.语法结构
switch(变量/表达式){
case 值1:
语句块1;break;
case 值2:
语句块2;break;
...
default:
语句块n;
}
注意:
a)switch括号中的表达式不是boolean表达式,这个表达式有一个固定的值,也可以直接写个变量。
b)这个变量类型或者表达式值的类型可以是能转换成int类型的类型,如: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持枚举类型了,同时 case 标签必须为字符串常量或字面量。
c)switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
d)case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
2.执行流程
a)先确定变量/表达式的值,然后找到case中相对应的值
b)对应的 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
c)如果没有对应的case值,会执行default中的语句块n,default后不需要break。
注意:当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
3.代码案例
int a=5;
switch(a){
case 6:
System.out.println("这是6");break;
case 5:
System.out.println("这是5");
case 4:
System.out.println("这是4");break;
case 3:
System.out.println("这是3");break;
defalut:
System.out.println("这是n");
}
结果如下:
这是5
这是4
day03 笔记---java运算符_分支结构
最新推荐文章于 2024-06-14 11:30:00 发布