栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java初级-3-面向过程/程序逻辑

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java初级-3-面向过程/程序逻辑

判断 注意
  • 条件触发执行if内的语句,if外的语句都会执行
单if
if(布尔表达式为true){
    // do something
}
// 继续执行其他
if else
if(布尔表达式为true){
    // do something
} else {
	// do something
}
// 继续执行其他
if else if
if(布尔表达式为true){
    // do something
} else if(布尔表达式为true) {
	// do something
} else {
	// do something
}
// 继续执行其他
分支 注意
  • expression数据类型限制:byte、short、int、char,enum,jdk7+可以用String
  • value数据类型限制:常量或字面量(直接写的量)
  • value数据类型限制:expression使用enum类型时,value必须使用enum类的值
case break default
switch(expression){
    case value1:
       // do something
       break; 
    case value2:
       // do something
       break;
    default: 
       // do something
}
case穿透
  • expression可能满足多个case
  • case没有break将继续执行后面的case
switch(expression){
    case value1:
       // do something
    case value2:
       // do something
       break;
    default: 
       // do something
}
无default
  • 没有兜底处理,expression必须满足任一case
switch(expression){
    case value1:
       // do something
       break;
    case value2:
       // do something
       break;
}
枚举
  • expression使用enum类型时,value必须使用enum类的值
switch(color){
    case READ:
       // do something
       break;
    case YELLOW:
       // do something
       break;
    default:
       // do something
}
循环 for i
for(初始化; 布尔表达式; 更新) {
    // do something
}

for(int i=0,j=0;i<10&&j<20;i++,j++){
    // do something
}
for 数组集合
// for 数组
int[] values={1,2,3};
for(int value:values){
    // do something
}

// for 集合
List list=new ArrayList<>();
for(Integer i:list){
    // do something
}
while
  • 先判断再执行
  • 循环执行,直到满足退出条件
while(布尔表达式为true) {
  // do something
}
do while
  • 先执行再判断
  • 循环执行,直到满足退出条件
do{
	// do something
}while(布尔表达式为true);
卫语句
  • 作用:以逆向思维模式,减少if嵌套,降低单元测试难度
  • 多层条件语句建议使用卫语句、策略模式、状态模式等方式重构(阿里巴巴 Java 规范)
  • 卫语句是一种逆向思维方式,先把不想执行的情况处理掉,留下想执行的情况
结构
// 这个布尔表达式,一般是不想执行的情况
if (布尔表达式为true){
	
	continue;
}
例子
// 求质数3, 5, 7的倍数

// 像1个横着的金字塔,当判断条件过多时,金字塔越来越高
for (int v = 1; v <= 1000; v++) {
	if (i%3 == 0){
		if (i%5 == 0){
			if (i%7 == 0){
				System.out.println(i);
			}
		}
	}
}

// 多个&&给单元测试带来复杂性
for (int v = 1; v <= 1000; v++) {
	if (i%3 == 0 && i%5 == 0 && i%7 == 0){
		System.out.println(v);
	}
}

// 卫语句
for (int v = 1; v <= 100; v++) {
	if (i%3 !=0){
		continue;
	}
	
	if (i%5 !=0){
		continue;
	}
	
	if (i%7 !=0){
		continue;
	}
	
	System.out.println(v);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/658351.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号