Java学习之路Day4

编程过程中三种基本流程结构

  • 顺序结构
  • 分支结构
  • 循环结构

顺序结构

按照从上到下的顺序依次执行每一条指令。

分支结构

  • if-else
  • switch-case

if-else

三种格式:

 - if(条件表达式){
		执行代码块;
	}
 - 二选一
if(条件表达式){
		执行代码块1;
	} else {
		执行代码块2;
	}
 - 多选一
if(条件表达式1){
		执行代码块1;
	} else if(条件表达式2){
		执行代码块2;
	} else if(条件表达式3){
		执行代码块3;
	}
	...
	else {
		执行代码块n;
	}

总结:

  • 条件表达式必须是boolean表达式(关系表达式或者逻辑表达式)、布尔变量
  • 当执行代码块只有一条语句时,可以省略{},但是建议保留{}
  • if-else语句可以嵌套使用,但不建议嵌套层数过多,容易逻辑紊乱。
  • 当有多个条件是“包含”关系时,范围小的条件应该先于范围大的条件执行判断。

注意:

-if-else的就近原则

if(x > 3) 
	if(y > 2)
		System.out.println("a");
else
	System.out.println("b");

分析:(else 与最近的 if 相匹配)
实际的结构是
if(x > 3) 
	if(y > 2)
		System.out.println("a");
	else
		System.out.println("b");

switch-case

switch(表达式) {
	case 常量1 : 
			执行语句1;
			Break;
	case 常量2 : 
			执行语句2;
			Break;
	...
	default : 
			执行语句n;
			Break;
}

总结:

  • 工作流程:根据switch表达式中的值,依次匹配每个case的常量,一旦匹配成功,则进入相应的case结构中,调用其执行语句,当调用完执行语句之后,则仍然继续向下执行其他case结构中的执行语句(也会执行default中的语句),直到遇到break关键字或者switch-case结构末尾结束为止。
  • break,在switch-case结构中表示一旦执行到此关键字,就跳出switch-case结构。是一个可选关键字。
  • default:相当于if-else中的else,default结构是可选的。位置是灵活的。不是必须放在末尾。记住:不管default放在什么位置,只有所有case都不满足时才会执行,即使放在switch-case的开头也不会被先执行。

注意:

  • switch结构中的表达式,只能是以下6种类型:byte、short、char、int、枚举类型、String类型。
  • case之后只能声明常量不能声明范围不能是变量名或不确定的表达式值

技巧1:如果switch多个case执行语句相同可以考虑合并。
技巧2:巧用break;计算输入的日期是某年的第几天。case可以考虑从12月份到1月份来写,避免冗余的编码。

if-else 与 switch-case的区别:

  1. 凡是可以使用switch-case的结构,都可以使用if-else,反之,不成立。
  2. 在写分支结构时,当发现既可以使用switch-case,又可以使用if-else时,优先选择使用switch-case。原因:switch-case执行效率稍高。

实现从控制台输入数据

1. 导入Scannerimport java.util.Scanner;

2. 创建Scanner实例
Scanner scan = new Scanner(System.in);

3. 调用Scanner的方法获取输入的值
int value = scan.nextInt();//获取不同类型的数据调用不同的方法

Tipsnext(); //返回String类型
nextByte();//返回byte类型
nextShort();//返回short类型
nextInt();//返回int类型
nextFloat(); //返回float类型
nextDouble();//返回double类型
nextBoolean(); //返回boolean类型

如何获取一个随机数

如果想获取[a, b]区间的整数,那么
公式:(int)(Math.random() * (b - a + 1) + a);

举例:
[10, 99]
(int)(Math.random() * (99 - 10 + 1) + 10);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值