一,分支结构:
–1,作用:
用来解决 先判断再执行 的问题
–2,if语法
单分支
if(判断条件){ 满足了条件的代码 }
多分支
if(判断条件){
满足了条件的代码
}else{
不满足了条件的代码
}
嵌套分支
if(判断条件1){
满足了条件的代码1
}else if(判断条件2){
满足了条件的代码2
}else if(判断条件3){
满足了条件的代码3
}else{
以上条件都不满足,才要执行的代码4
}
–3,练习1
package cn.tedu.basic;
import java.util.Scanner;
//测试 分支结构
//接收用户输入的原价。满1000打9折。满2000打8折。满5000打5折。
public class Test1 {
public static void main(String[] args) {
//1,接收用户输入的原价。
double price = new Scanner(System.in).nextDouble();
// dazhe(price);//调用方法,计算折后价 V1.0
double x = dazhe(price);//调用方法,计算折后价 V2.0
System.out.println(“原价是”+price+",折后价是"+x);
}
//计算折后价
// public static void dazhe(double a) {//V1.0
public static double dazhe(double a) {//V2.0
//1,定义变量,记录折后价
double b = 0 ;
if(a >= 5000){//a满5000打5折。
b = a0.5;//a打5折
}else if(a >= 2000){//满2000打8折。
b = a0.8;//a打8折
}else if(a >= 1000){//满1000打9折。
b = a*0.9;//a打9折
}else{//不打折
b = a ;
}
return b;//通过return关键字把结果返回给调用位置
System.out.println(“原价是1000,折后价是900”);
// //动态数据在中间位置 “+?+”
// System.out.println(“原价是”+a+",折后价是"+b);
}
}
--4,练习2
package cn.tedu.basic;
import java.util.Scanner;
//测试 分支结构
public class Test2 {
public static void main(String[] args) {
//1,接受用户输入的分数
double score = new Scanner(System.in).nextDouble();
//2,调用方法,记录返回来的结果
String desc = method(score);
System.out.println("您的得分是:"+score+",属于:"+desc);
}
public static String method(double a){
if(a >= 0 && a <= 100) {//优化:增强程序的健壮性
String x = "优秀" ; //定义变量,记录描述信息
if(a >= 90) {//90分以上 优秀
x = "优秀" ; //修改变量的值
}else if(a >= 80 && a <= 89) {//80~89 良好
x = "良好" ; //修改变量的值
}else if(a >= 70 && a <= 79) {//70~79 中等
x = "中等" ; //修改变量的值
}else if(a >= 60 && a <= 69) {//60~69 及格
x = "及格" ;
}else{//60分以下 不及格
x = "不及格" ;
}
return x ;//把结果返回给调用位置
}else {
return " 非法数据!!";
}
}
}
二,switch
–1,概述
也可以像if一样,完成先判断再执行的需求
–2,语法
switch(判断条件){
case 1 :满足了情况1要执行的代码
case 2 :满足了情况2要执行的代码
case 3 :满足了情况3要执行的代码
case 4 :满足了情况4要执行的代码
}
–3,练习
package cn.tedu.basic;
//测试 分支结构
public class Test3 {
public static void main(String[] args) {
//1,判断条件,只支持int byte short char String类型的数据
int a = 200;
switch(a) {
case 0: System.out.println(0);break;
case 1: System.out.println(1);break;
//2,当成功匹配到了case之后,要向后穿透所有的case
case 2: System.out.println(2);break;//4,立刻结束
case 3: System.out.println(3);break;
case 4: System.out.println(4);break;
//3,default是无论什么时候都会执行(如果没遇到break的话)
default : System.out.println(100);
}
}
}
三,循环结构
–1,概述
用来解决 程序中需要重复执行某些代码 的需求
有三种循环结构:for / while / do…while
–2,for的语法
for(开始位置 ; 循环条件 ; 更改条件 ){
重复执行的代码 / 循环体
}
–3,练习
package cn.tedu.basic;
//测试 循环结构
public class Test4 {
public static void main(String[] args) {
// method();//练习1:打印100次自己的名字
// method2();//练习2:打印0~10
// method3();//练习3:打印10~0
// method4();//练习4:打印8,88,888,8888
// method5();//练习5:求[1,100]里偶数的和
//TODO 求[1,100]里奇数的和
// method6();
//TODO 求[1,100]里所有数的总和
// method7();
//TODO 求[1,100]里偶数的个数
method8();
}
//TODO 求[1,100]里偶数的个数
public static void method8() {
//定义变量,记录的是偶数的个数
int count = 0;
for (int i = 1; i <= 100; i++) {
if(i % 2 == 0) {//过滤偶数
//遇到偶数就+1
// count=count+1;
count++;
// ++count;
}
}
System.out.println(count);
}
//TODO 求[1,100]里所有数的总和
public static void method7() {
//定义变量,记录总和
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum = sum + i ;
}
System.out.println(sum);
}
//求[1,100]里奇数的和
public static void method6() {
//定义变量,记录奇数的和
int sum = 0 ;
for(int i = 1; i < 101 ; i++) {
if(i % 2 == 1) {//过滤出来奇数
sum = sum + i;
}
}
System.out.println(sum);
}
//练习5:求[1,100]里偶数的和
public static void method5() {
int sum = 0 ;//1,定义变量,记录总和
//2,获取1~100里的每个数字
for(int i = 1 ; i <= 100 ; i++) {
if(i % 2 == 0) {//3,过滤偶数
sum = sum + i ;//4,求和–原来的值+新的值
}
}
System.out.println("偶数的总和是: "+sum);
}
//练习4:打印8,88,888,8888,
public static void method4() {
// for(开始位置 ; 循环条件 ; 更改条件 ){重复执行的代码 / 循环体}
for(int i = 8 ; i <= 8888 ; i=i10+8 ){
System.out.print(i+",");//同一行打印
// System.out.println(i);//打印后换行
}
}
//练习3:打印10~0
public static void method3() {
// for(开始位置 ; 循环条件 ; 更改条件 ){重复执行的代码 / 循环体}
for(int i = 10 ; i >= 0 ; i-- ){
System.out.println(i);
}
}
//练习2:打印0~10
public static void method2() {
// for(开始位置 ; 循环条件 ; 更改条件 ){重复执行的代码 / 循环体}
/
* int i = 0 是指从0开始打印,i表示要打印的数据
* i <= 10 是指打印的数据最多到10就结束
* i++ 是数据变化的规律。自增
*/
for(int i = 0 ; i <= 10 ; i++ ){
System.out.println(i);
}
}
//练习1:打印100次自己的名字
public static void method() {
// for(开始位置 ;循环条件;更改条件) {
/*int i = 1 是开始位置,指从第1次开始打印,i表示次数
* i <= 100 是循环条件,指到100次结束
* i++ 是更改条件,也就是数据的变化规律,次数自增
*/
for(int i = 1 ; i <= 100 ; ++i) {
System.out.println(“我叫皮皮霞”);
}
}
}