CGBTN2110_DAY03复习总结

Posted 程序媛 泡泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGBTN2110_DAY03复习总结相关的知识,希望对你有一定的参考价值。

DAY03 复习

1 运算符

  1. 普通的四则运算 + - * / 是不会改变变量本身的值的
    如果想要改变变量本身的值,需要把表达式的结果重新赋值给变量
	int x = 1;
	System.out.println(x+1);//2
	System.out.println(x);//1,四则运算不会改变变量本身的值
		
	x = x+5;//将表达式的运算结果重新赋值给变量x
	System.out.println(x);//6,变量x的值改变
  1. 取余%(求模 mod) : 取余数,如果整除,余数为0
	int y = 8;
	System.out.println(8%3);//2,取余数,余数为2
	System.out.println(8%4);//0,整除余数为0
  1. 自增自减运算符
    自增++ :表示变量本身的值+1
    自减- - : 表示变量本身的值-1
    前缀式:符号在前,先改变变量本身的值,再使用,比如打印,计算…
    后缀式:符号在后,先使用,再改变变量本身的值
	int a = 1;
	System.out.println(++a);//2,符号在前,先自增,再打印
	System.out.println(a);//2,上面已经自增过了,不再自增
		
	int b = 1;
	System.out.println(--b);//0,符号在前,先自减,再打印
	System.out.println(b);//0,上面已经自减过了,不再自增
		
	int c = 1;
	System.out.println(c++);//1,符号在后,先打印,再自增
	System.out.println(c);//2,打印过后,自增成2
		
	int d = 1;
	System.out.println(d--);//1,符号在后,先打印,再自减
	System.out.println(d);//0,打印过后,自减成0
  1. 比较运算符
    != == > < >= <= 比较的结果都是布尔类型的
  2. 逻辑运算符
    &&:双与/短路与:逻辑与单与相同,全真才真,只不过增加了短路的效果
    ||:双或/短路或:逻辑与单或相同,全假才假,只不过增加了短路的效果
		/**与:全真才真*/
		System.out.println("测试单与:");
		System.out.println(true & true);//t
		System.out.println(true & false);//f
		System.out.println(false & true);//f
		System.out.println(false & false);//f
		System.out.println("测试双与:");
		System.out.println(true && true);//t
		System.out.println(true && false);//f
		System.out.println(false && true);//f
		System.out.println(false && false);//f
		/**或:全假才假*/
		System.out.println("测试单或:");
		System.out.println(true | true);//t
		System.out.println(true | false);//t
		System.out.println(false | true);//t
		System.out.println(false | false);//f
		System.out.println("测试双或:");
		System.out.println(true || true);//t
		System.out.println(true || false);//t
		System.out.println(false || true);//t
		System.out.println(false || false);//f
  1. 三目/三元运算符
    格式:1 ?2 :3;1是表达式,若1真,取2,若1假取3
	int m = 3;
	int n = 2;

	int min = m>n?n:m;//当m大于n时,取的是小值n
	int min2 = m<n?m:n;//当m小于n时,取的是小值m
	
	System.out.println(min);
	System.out.println(min2);
  1. 赋值运算符
    = :是普通的赋值运算符,等号右边的值交给等号左边的变量来保存
    复合赋值运算符:+= -= *= /=,主要是可以简写&类型的自动转换
    sum += 30; 等效于 sum = sum+30;

2 流程控制

2.1 顺序结构

顺序结构从头到尾所有代码依次都会执行到
可以解决输入 输出 计算等问题,但是不可以先做判断,再选择性的执行代码

2.2 分支结构

1 单分支结构

适合只有一个判断条件时使用,符合条件,执行大括号里的代码,不符合条件,大括号里的代码跳过

2 多分支结构

适合有两种情况时使用,符合条件,执行代码1,其他情况执行代码2

3 嵌套分支结构

适合有多个条件时使用,else-if的个数没有限制,else可加可不加

if(判断条件1) {
	如果符合判断条件1,执行此处代码1,如果不符合,继续向下判断条件2
}else if(判断条件2) {
	如果符合判断条件2,执行此处代码2,如果不符合,继续向下判断条件3
}else if(判断条件3) {
	如果符合判断条件3,执行此处代码3,如果不符合,继续向下判断
}else {
	如果以上条件都不满足,执行此处代码
}
package cn.tedu.review;

import java.util.Scanner;

/**本类用于复习嵌套分支*/
//需求:接收用户输入的身高与体重,判断BMI指数
//BMI=体重(Kg)/身高*身高(m)
//过轻:低于18.5
//正常:18.5~22.9
//偏胖:23~24.9
//肥胖:25~29.9
//重度肥胖:高于30
public class TestIf2 {
	public static void main(String[] args) {
		//1.提示并接收用户输入的身高与体重数据
		System.out.println("请您输入身高数据(单位:m):");
		double h = new Scanner(System.in).nextDouble();
		System.out.println("请您输入体重数据(单位:kg):");
		double w = new Scanner(System.in).nextDouble();
		
		//2.计算BMI指数:BMI=体重(kg)/身高*身高(m)
		double bmi = w/(h*h);
		//3.定义一个变量用来保存最终的结果
		String r = "";
		//4.根据计算出来的BMI指数,给变量r重新赋值
		if(bmi < 18.5) {
			r = "过轻";
		}else if(bmi <= 22.9) {
			r = "正常";
		}else if(bmi <= 24.9) {
			r = "偏胖";
		}else if(bmi <= 29.9) {
			r = "肥胖";
		}else if(bmi <= 40) {
			r = "重度肥胖";
		}else {
			System.out.println("数据输入有误,请核对后再输入");
			return;//遇到return,main()直接结束,后面的语句不执行
		}
		//5.打印最终结果
		System.out.println("您的BMI指数:"+bmi);
		System.out.println("您的体重属于:"+r);
	}
}

4 选择结构

switch(a){
       case 1 : 操作1break;【可选】
       case 2 : 操作2break;【可选】
       case 3 : 操作3break;【可选】
       case 4 : 操作4break;【可选】
       default : 保底选项;【可选】
}

执行顺序:先拿着变量a的值,依次与每个case后的值做比较,如果相等,就执行当前case后的操作,若case后没有break,就绪继续执行下一个case后的操作,如果一直没有遇到break,就会发生穿透的现象,包括default

注意事项:

  1. 变量a支持的类型byte short char int String
  2. 变量a的数据类型与case后value的数据类型必须一致
  3. 如果没有添加break,并且又有case被匹配到,会发生穿透的现象,包括deafult
  4. case的个数 是否加break 是否加default 完全根据自己的业务来决定
  5. 如果添加了default保底选项,又没有任何一个case被匹配到,就会执行default后的语句
  6. 一般我们习惯在每个case后加break【这个只是建议,具体还是根据业务来写】

5 循环结构

当你想多次重复干某件事的时候,可以使用循环结构
注意事项:开始条件只会在第一轮执行一次,剩下两个条件才会执行多次
如果想了解for循环执行的具体步骤,可以参考Debug的笔记

Eclipse中的Debug笔记

普通for循环

for(开始条件 ; 循环条件 ; 更改条件){
     循环体
}

注意1:写法小窍门:从哪开始 到哪结束 循环变量如何变化
注意2:for循环能够执行多少次,取决于循环变量可以取到几个值

以上是关于CGBTN2110_DAY03复习总结的主要内容,如果未能解决你的问题,请参考以下文章

CGBTN2110-DAY09总结复习

CGBTN2110-DAY18总结复习

CGBTN2110-DAY18总结复习

CGBTN2110-DAY15总结复习

CGBTN2110-DAY15总结复习

CGBTN2110-DAY05总结复习