java编程有多少种语句 JAVA笔记,四
1.选择结构if:
a.why: 在实际生活中,有些场合需要满足一定条件才能继续往下进行?
b.语法:
if(条件){ //条件是 boolean 或者 boolean结果的表达式 执行代码;}
c.eg:
@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 if if...else 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.语法:
switch(表达式){ 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){ case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; case 3: 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调试:
最基本的操作是:
- 首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run 当程序走到断点处就会转到debug视图下。
- F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执行本行代码,跳到下一行,
- F7是跳出函数
- F8是执行到最后。
Step Into (also F5) 跳入
Step Over (also F6) 跳过
Step Return (also F7) 执行完当前method,然后return跳出此method
step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)
resume 重新开始执行debug,一直运行直到遇到breakpoint
hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)
inspect 检查 运算。执行一个表达式显示执行值
watch 实时地监视变量的变化
我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method breakpoint,exception breakpoint.
field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂
添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)
添加Exception breakpoint 捕抓到Execption时暂挂(待续...)
variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change value.一次来进行快速调试。
debug 过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点
断点属性:
- hit count 执行多少次数后暂挂 用于循环
- enable condition 遇到符合你输入条件(为ture\改变时)就暂挂
- suspend thread 多线程时暂挂此线程
- suspend VM 暂挂虚拟机
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或多次;
a.why: 解决实际问题中重复操作
b.语法:
for(表达式1;表达式2;表达式3){ 执行代码4;}
表达式1为循环参数的初始值;表达式2为循环判定(结束)条件;表达式3为循环迭代条件执行代码为需要重复的操作执行的顺序:1-2-4-3-1-2-4-3...
10、for循环变形:
a.for(){};
初始值等含有多个同时操作
b. 正常执行:
int i=0;for(;i<10;i ){ 执行代码}
初始变量放在外部,不再做一个for循环的局部变量;
c. 死循环
for(int i=0;;i ){ 执行代码;}
语法没有问题,但是缺少结束条件,死循环
语法没有问题,但是缺少迭代条件,死循环;
for(int i=0;;){}for(;;)
public static void main(String[] args){ int run = 1; for(;run<=5;run ){ System.out.println("跑第: " run "次"); } System.out.println("run: " run);}
重点: for、if结构中如果只有一行指令的时候可以省略{},但是建议大家不要省略;
11.break:
在循环体中表示结束整个循环,一般同判定结合使用;
12.continue:
在循环体中表示结束当前层循环,进入下一层循环;
13.return:
结束方法体;
14.break、continue、return比较:
使用场合
break常用于switch结构和循环结构中
continue一般用于循环结构中
作用(循环结构中)
break语句终止某个循环,程序跳转到循环块外的下一条语句continue跳出本次循环,进入下一次循环return:结束当前方法的执行并退出,返回到调用该方法的语句处
15、循环总结:(while,do...while,for)
相同点:
需要多次重复执行一个或多个任务的问题考虑使用循环来解决; 无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、迭代部分
区别:
语法;
执行顺序:
while 循环:先判断,再执行
do-while循环:先执行,再判断
for循环:先判断,再执行
适用场合:
循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while或do-while循环
知识点补充:
1、Math.random()获取随机数字范围是0.0 <= Math.random() < 1.0
int randow = (int)(Math.randow()*10);
重点:Math的API使用
2、转义字符:
\ 转义符号 \n 表示在字符串中回车\t Tab效果\r\n IO流需要在文本中换行,需要使用特殊处理\\ 转义字符本身
练习题
1、有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?
3、有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?分析:兔子的规律为数列,1,1,2,3,5,8,13,21
4、任意输入一个整数(小于10位),输出它一共有多少位。
5、计算1000以内所有不能被7整除的整数之和
6、本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是
7、计算 1 2-3 4-5 6-7… 100的结果//注意审题
8、一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)
9、从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 54321
10、你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数
文章转载自:即刻就业助手