Java复习日记:第三章:选择控制,循环控制,方法

选择控制注意事项

主要分为三种选择控制:
Boolean类型选择,分为true or false ;
在执行Boolean变量的时候,可以直接使用

if(event)
 语句;  //代替if(event=true)
 //                        语句;

简化例子`

if(event){
tuition=5000;
System.out.println("the tuition is" + tuition);
}
else{
tuition=15000;
System.out.println("the tuition is" + tuition);
}
//简化Boolean和重复语句
if (event) {
tuition =5000;
}
else {
tuition=15000;
}
System.out.println("the tuition is" + tuition);

Tips

  • 在java中else的匹配永远是和最近的一个if匹配的。
  • 比较两个浮点数的时候,由于小数点的位数比较大,因此可以通过|x-y|<a,a是一个阈值。
  • !非
  • &&与
  • ||或
  • ^异或
  • 德摩根率:!(a&&b)!a||!b; !(a||b)!a&&!b;
    例子:判定闰年(%4%100来做),计算利率,彩票(用math.random()来做)等。过于简单不佳赘述。

Switch语句

为了防止过多的if ,else if多层嵌套if语句,可以使用switch一步到位。

switch(表达式){
case n1 : do 1;//case n1的n1的值必须是常量表达式,代表switch传来的参数的可能匹配的值
             break;//注意break实在运行时终止循环,而且case连接后面的执行   语句是用 : 来连接的。
case n2 : do 2;
             break;
...
default : do default ;
}

上面若匹配到了case值而没有相应的break跳出循环,则会从上到下依次匹配,直到匹配到break位置

条件表达式

条件表达式很简单一个例子就能明白(Java唯一的三元运算组)
下面是两个等价代码

if (x>0)
y=1;
else 
y=-1;

简化为,这样可以

y=(x>0)?1:-1

循环控制

主要分while do-while for
for 循环在直到循环次数的时候最好用,
while在控制变量一直会根据循环体语句变换的时候最好用。
do-while没什么大用,就是后侧循环,在特定的地点才需要使用。
注意点:
从某种意义上说,如果想要写一个非常复杂的循环语句,可以使用pad图或者N-S图来描述。

  • java输入和输出的重定向
    把保存的数据用空格隔开,存储在input.txt里面然后用以下命令java Sentine1Value < input.txt;
    这篇博客以及介绍的很详细了,不多加赘述。java的重定向

break 和 continue

这两个语句都要谨慎使用,防止出现代码难以读懂或者代码
break 表示跳出循环,结束循环。
continue 表示结束当前的迭代,跳出一次循环。在while和 do-while语句中continue会直接结束当前循环并计算判定条件,而在for循环里面,continue只会会结束当前执行语句,并执行下面的语句。

利用选择和循环设计判断回文串

package xdd;
import java.util.*;
public class distinguishPalindrome{
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("enter a string :");
		String s=input.nextLine();
		int low=0;
	    int high=s.length()-1;
		boolean isPalindrome =true;
		while(low<high) {
			if(s.charAt(low)!=s.charAt(high)) {
				isPalindrome=false;
				break;
			}
			low++;
			high--;
		}
		if(isPalindrome)
			System.out.print("it is a palindrome");
		else 
			System.out.print("it is not a palindrome");
		
	}
}

结果如图
在这里插入图片描述
在这里插入图片描述

例子二:判断素数以及计算100以内的素数个数

方法Function

定义方法的语句:
修饰符modifier 返回值类型return value 方法名(参数列表parameter list){
方法语句//;
}

two types of methods:
1,value-returning method
2,void method
define a parameter in method head,its name is formal parameter .when u delivered a value to it,it became actual parameter or argument

How to invoke(call) a method?
How to use void method?
调用method的时候,需要提供实参,而且必须与方法签名中所对应的形参次序相同,称为参数顺序匹配

变量的作用域

method里面的变量称为局部变量。从声明的地方开始一直到这一部分的代码块结束为止,都是它的作用域。

*记住要自顶向下逐步求精!(divide and conquer,stepwise refinement)
avoid ambiguous invocation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值