JAVA笔记(四)--三⼤结构语句
1.选择结构if:
a.why: 在实际⽣活中,有些场合需要满⾜⼀定条件才能继续往下进⾏?
b.语法:
if(条件){//条件是 boolean 或者 boolean结果的表达式
执⾏代码;
}
<:
@Test
public void TestA(){
/
/1. 简单的if条件结构
int a =10;
int b =5;
if(a>b){//()括号⾥⾯放⼊的是关系表达式或者逻辑表达式
System.out.println("a的值⽐b的值⼤!");
}
}
2、选择结构if…else…
if(条件){//条件是 boolean 或者boolean结果的表达式,如果条件为true执⾏代码1,如果为false,执⾏代码2;执⾏代码1;
}else{
执⾏代码2;
}
@Test
public void TestB(){
//2. if...else条件结构
int a =10;
int b =15;
if(a>b){
System.out.println("a的值⽐b的值⼤!");
}else{
System.out.println("a的值⽐b的值⼩!");
}
}
3、练习
问题1:分段的条件如何实现?优、良、中、及格 ?
多重选择结构 if…else
a.why:
在实际⽣活中,有些场合满⾜⼀定范围条件进⾏相关操作,满⾜其他范围进⾏其他操作?
b.语法:
if(条件1){
执⾏代码1
}else if(条件2){
执⾏代码2
}
...
else{
最终执⾏代码
}
@Test
public void TestC(){
//3. if..else lse if else
//多重if结构分区间问题
int score =89;//定义某⼀个学⽣分数
if(score>=90){
System.out.println("成绩优秀!");
}else if(score>=80){
System.out.println("成绩良好!");
}else if(score>=70){
System.out.println("成绩良好!");
}else if(score>=60){
System.out.println("成绩合格!");
}else{
System.out.println("成绩不合格!");
}
}
}
条件: 是 boolean 或者boolean结果的表达式,如果满⾜条件1执⾏代码1,满⾜条件N执⾏代码N,else中可以省略。重点: 多重条件选择注意区间段的书写
问题2:在判定⼀定条件的时候,需要提前对数据进⾏判定处理?
4.嵌套选择结构:
a.why: 在实际⽣活中,我们有些判定需要放⼊到其他的判定内部,有着先后顺序?
b.语法:
if(条件1){
if(条件1.1){
}else{
}
}else{
}
条件:是boolean或者boolean结果的表达式,内容同基本选择机构⼀致
5、switch选择结构:
问题: 是否有其他的选择结构?如果条件特别多,并且条件不是范围⽽是固定值?
a.why:
在实际⽣活中,有些场合需要使⽤多重选择结构,并且多重选择结构中的条件是确定值,确定值判定有很多?
b.语法:
case常量1:
执⾏代码1;
break;
case常量2:
执⾏代码2;
break;
...
default:
执⾏代码;
break;
}
表达式可以是byte,short,int,char,Enum(枚举),JDK1.7以前不能使⽤String,1.7及1.7以后可以使⽤String 重点: g,float,double是不能使⽤的表达式类型
break和default模块可以省略不写;
break表⽰结束判定,如果省略了会继续执⾏之后的指令,省略需谨慎;
常量后的":"是不允许省略的;
default模块可以放置在前⽅
注意执⾏顺序和break的结合使⽤的问题
重点: switch和if⽐较:
相同点:
都是多分⽀⽐较结构
不同点:
switch只⽤于等值判定条件;
if没有条件限制,但是⼀般⽤于区间判定
c.举例说明
eg:输⼊⽉份,根据⽉份输出该⽉份的天数
eg:综合例⼦:输⼊年份,⽉份,分别将该年⽉的天数输出
eg:
public static void main(String[] args){
int a =2;
switch(a){
case1:
System.out.println("周⼀");
break;
case2:
System.out.println("周⼆");
break;java switch case string
case3:
System.out.println("周三");
break;
default:
System.out.println("超出范围");
}
}
注意:switch语句也是可以⽀持嵌套的。
6、while循环结构
a.why: 在实际⽣活中,⼀些重复冗余的操作–如何优化?
b.语法:
初始值int i=1;
while(条件i<=100){
执⾏代码;
迭代条件i++;
}
public static void main(String[] args){
int a =1;// 定义⽤来计数的变量
double sum =10000;//定义⼀个存放本⾦的变量
while(a <=5){//计算5 年后的本⾦
sum += sum *0.003;
a++;
}
System.out.println(sum);
}
初始值,循环条件,循环内容,迭代条件
7、debug调试:
最基本的操作是:
1. ⾸先在⼀个java⽂件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run
当程序⾛到断点处就会转到debug视图下。
2. F5键与F6键均为单步调试,F5是step into,也就是进⼊本⾏代码中执⾏,F6是step over,
也就是执⾏本⾏代码,跳到下⼀⾏,
3. F7是跳出函数
4. F8是执⾏到最后。
1. Step Into (also F5) 跳⼊
2. Step Over (also F6) 跳过
3. Step Return (also F7) 执⾏完当前method,然后return跳出此method
4. step Filter 逐步过滤 ⼀直执⾏直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)
5. resume 重新开始执⾏debug,⼀直运⾏直到遇到breakpoint
6. hit count 设置执⾏次数 适合程序中的for循环(设置 breakpoint view-右键hit count)
7. inspect 检查 运算。执⾏⼀个表达式显⽰执⾏值
8. watch 实时地监视变量的变化
9. 我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method
breakpoint,exception breakpoint.
10. field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂
11. 添加method breakpoint 进⼊/离开此⽅法时暂挂(Run-method breakpoint)
12. 添加Exception breakpoint 捕抓到Execption时暂挂(待续…)
13. variables 视图⾥的变量可以改变变量值,在variables 视图选择变量点击右键–change value.⼀次来进⾏快速调试。
14. debug 过程中修改了某些code后–〉save&build–>resume–>重新暂挂于断点
断点属性:
1. hit count 执⾏多少次数后暂挂 ⽤于循环
2. enable condition 遇到符合你输⼊条件(为ture\改变时)就暂挂
3. suspend thread 多线程时暂挂此线程
4. suspend VM 暂挂虚拟机
8、do…while循环
a.why:
实际操作中,需要先执⾏了以后再进⾏判定是否需要继续?
b.语法:
初始值
do{
重复执⾏代码;
迭代内容;
}while(循环判定条件);
public static void main(String[] args){
int i =1;// 初始化语句
do{
System.out.println("我想看,复仇者联盟4");// 循环体
i++;// 步进语句
}while(i <=10);// 条件判断
}
重点: 最后的分号⼀定不要省略
while与do…while循环总结:
相同点:
都是循环结构;
内容都是含有四个部分:初始值,循环条件,循环内容,迭代条件;
区别:
语法不同;
执⾏顺序不同:
while先判定再执⾏,do…while先执⾏再判定;
执⾏次数:while执⾏是0或多次;do…while执⾏是1或多次;
9、循环结构for:
a.why: 解决实际问题中重复操作
b.语法:
for(表达式1;表达式2;表达式3){
执⾏代码4;
}
表达式1为循环参数的初始值;表达式2为循环判定(结束)条件;表达式3为循环迭代条件执⾏代码为需要重复的操作执⾏的顺序:1-2-4-3-1-2-4-3…
10、for循环变形:
a.for(){};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论