运算符,分支结构和循环结构

运算符,分支结构和循环结构

1. 运算符
1.1 自增自减运算符
【注意】
	自增自减运算符有且只能操作变量。

++:操作的变量自增 1
	变量前: 先执行自增语句,再来参与当前代码行运行
	变量后: 先执行当前代码行运行,再执行自增语句

--:操作的变量自减 1
	变量前: 先执行自减语句,再来参与当前代码行运行
	变量后: 先执行当前代码行运行,再执行自减语句

【开发建议】
	1. 非要使用自增长运算符,建议单独成行。
	2. 使用 += 1 和 -= 1 替换自增自减运算符  Swift iOS
自增自减运算符面试题
1. 
	int num = 5;
	int ret = num++ * num;
	
	num = ?; 6
	ret = ?; 30

2.
	int num = 10;
	++(num++);
	num = ?; 	编译报错
	(num++)首先执行,但是小括号里面的内容对外是一个整体,也就是一个常量!!!
	自增自减运算符【不能操作常量】
1.2 逻辑运算符
&&
	保险柜的门,顾客一把钥匙,管理员一把钥匙,缺一不可
	同真为真,有假【即】假
||
	自己家门,任何一个人带有钥匙,都可以开门
	有真【即】真,同假为假
!
	强牛 犟
	取反
逻辑运算符的断路原则问题
class Demo4 {
	public static void main(String[] args) {
		int num = 10;
		boolean ret = 4 < 3 && num++ > 10;
		/*
		逻辑与断路原则问题
			逻辑与同真为真,有假【即】假。
			逻辑与表达式中如果出现了任何一个false条件,
			从false条件开始,之后的表达式不再运行,因为
			整个逻辑与表达式的结果已经确定为false。为了
			简化计算机的运算逻辑复杂度!!!
		*/
		System.out.println("ret : " + ret);
		System.out.println("num : " + num);
		
		int num1 = 20;
		boolean ret1 = 10 > 5 || ++num1 < 30;
		/*
		逻辑或断路原则问题
			逻辑或有真【即】真,同假为假
			逻辑或表达式中如果出现了一个true条件,之后的
			表达式就不再运行,因为整个逻辑或的结果已经确定
			为true,这样做是为了简化计算机运算逻辑复杂度
		*/
		System.out.println("ret1 : " + ret1);
		System.out.println("num1 : " + num1);
	} 
}
2. 分支结构
2.1 开发中常见的结构
顺序结构
	代码从上之下,从左至右执行!!!
分支结构
	条件判断,条件满足执行对应代码
循环结构
	在程序中重复执行功能代码
2.2 if
2.2.1 if分支
if (/* 条件判断 true or false */) {
    // 条件结果为true执行大括号以内的语句
}
/*
执行流程:
	代码运行到if分支结构,首先判断if之后的条件是否为true,如果为true,执行大括号里面的语句,如果为false直接执行大括号之外的语句,
*/
class Demo5 {
	public static void main(String[] args) {
		int money = 10;
		
		if (money > 2000000) {
			System.out.println("Audi A8L W12");
		}
		
		System.out.println("白日做梦!!!");
	}
}
2.2.2 if - else分支
if (/* 条件判断 true or false */) {
    // true语句体
} else {
    // false语句体
}
/*
执行流程:
	代码运行到if-else结构时,首先判断if之后的条件是否为true,如果为true,执行if之后大括号内容,true语句体,如果为false,执行else大括号内容,false语句体
*/
class Demo6 {
	public static void main(String[] args) {
		int money = 20;
		
		if (money > 50) {
			System.out.println("吃一顿红烧肉");
		} else {
			System.out.println("馒头 + 涪陵榨菜");
		}
	}
}
2.2.3 if - else if结构
if (/* 条件匹配1 */) {
    // 处理方式1
} else if (/* 条件匹配2 */) {
    // 处理方式2
} else if (/* 条件匹配3 */) {
    // 处理方式3
} else {
    // 没有任何条件满足下的处理方式
}
/*
执行流程:
	代码运行到if-else if结构时,匹配if之后的条件,找到匹配项,执行对应的处理方式,如果没有任何一个条件匹配,执行else里面的语句。
	
成绩等级划分:
	90 ~ 100 秀儿
	80 ~ 90 良儿
	70 ~ 80 中儿
	60 ~ 70 过儿
	60 以下
		叫你爹穿着拖鞋来学校一趟
*/
class Demo7 {
	public static void main(String[] args) {
		int score = 59;
		
		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("叫恁爹穿着拖鞋来学校一趟");
		}
	}
}
【补充知识点 从键盘上获取用户输入的数据】
1. 点技能点 【导包】
在class之前复制粘贴
import java.util.Scanner;

2. 创建一个Scanner的变量
Scanner sc = new Scanner(System.in);

3. 使用Scanner的方法从键盘上获取数据
获取int类型数据
	int类型变量 = sc.nextInt();
获取float类型数据
	float类型变量 = sc.nextFloat();
获取char类型数据
	char类型变量 = sc.nextLine().charAt(0);
【补充知识点 用户体验问题】
在代码运行过程中需要给予用户更好的体验!!!是非常友好的体验。
【补充知识点 用户输入数据合法性判断】
在实际代码运行过程中,用户提供的数据很有可能是非法情况。这是需要在满足用户基本需求的情况下,同时满足代码的正常运行!!!
增强代码的健壮性,稳定性
2.3 switch case
switch (变量) {
    case 常量1:
        处理方式1;
        break;
    case 常量2:
        处理方式2;
        break;
    case 常量3:
        处理方式3;
        break;
    default:
        没有匹配任何case之后的处理方式
        break;
}
/*
执行流程:
	代码运行到switch case结构,使用switch之后小括号里面的变量,去匹配case之后的常量,如果有匹配项,执行对应的处理方式,如果没有匹配项执行default里面的处理方式。
	
特征:
	1. 在switch - case 结构中,能够使用的代码有且只能是case 到 break 或者 大括号之间,还有就是default之后的的语句
	2. break可以省略,对应case执行是会继续执行到下一个break或者switch大括号停止
	3. 在switch case结构中,不能出现相同case选项,case之后的选择是唯一的。
	4. 在switch case结构中,可以出现并列选项
		case 3:
		case 4:
		case 5:
	5. default可以省略,需要根据实际的开发需求而定。
*/
3. 循环结构
3.1 为什么是用循环结构
代码中一定会出现多次使用的代码块,而代码中重复使用 如果仅仅是依赖于CV大法,那么会导致以下问题出现
	1. 代码冗余
	2. 代码阅读性极差
	3. 代码维护性极差【给自己留个活路】
3.2 while循环结构
while (/* 循环条件 true or false */) {
    // 循环体
    // (循环条件变更)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值