第一阶段一模块:逻辑结构

一、分支结构
f分支结构:
if(条件表达式){
         语句块
}
if else分支结构:
if(条件表达式){
        语句块
else{
        语句块
}
else if分支结构:
if(条件表达式){
        语句块
}else if(语句块){
}else{
}
 
switch case 分支结构:
switch(变量/表达式){
        case 字面值1:语句块;break;
        case 字面值2:语句块;break;
        ......
        default:语句块n;
}
 
注:case穿透
当上一条语句不写break是,会直接执行下一条case语句并打印结果
注意:
 
 
二、循环结构:(重复一段代码,复杂的结构都能够用顺序条件循环实现)
for循环:
for(初始化表达式;条件表达式;修改初始值表达式){
        循环体;
}
 
注:Thread.sleep(5000);//表示模拟睡眠5秒的效果,在声明main方法时还需要加上throws Exception
 
题目:打印水仙花数(所谓水仙花数既是一个整数满足其值等于各个数位的立方和)
 
contiue关键字
提前结束本次循环,继续下一次循环,跳至i++
break关键字
退出当前语句块,直接跳出循环,常结合无限循环使用for(;;)
 
注:随机数生成方法
还需要导入java.util.Random
 
双重for循环
注:多重循环不宜嵌套太多层,一般到三重即可,否则效率太低
标号跳出循环:
 
打印素数(质数):该数只能被1和它本身整除。
 
while循环
while(条件表达式){
表达式
}
while循环和for循环的比较:
1、推荐使用for循环
2、while循环适合明确循环条件但是不明确循环次数
3、for循环更适合明确循环次数的场合
4、while(true)类比于for(;;)
 
do while循环(先执行循环体再判断条件表达式) 使用在至少执行一次循环体的场合
do{
循环体
}while(条件表达式)
while循环和dowhile循环条件表达式为true时执行循环体
 
循环的笔试考点:while(i <=10000);{ } 等于while(i<=10000){;}
 
课堂练习:
一、个税计算
/*
    个税计算
*/
import java.util.Scanner;

public class TaxTest{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int earn = sc.nextInt();
		double temp = 0;
		if(earn <= 5000){
			System.out.println("您的收入不计税。");
			
		}else if(earn <= 8000){
			temp = (earn-5000) * 0.05;
			System.out.println("扣取的税费为:" + temp);
		}else if(earn <= 17000){
			temp = 3000*0.05 + (earn - 8000) * 0.1;
			System.out.println("扣取的税费为:" + temp);
		}else if(earn <= 30000){
			temp = 3000*0.05 + 9000 * 0.1 +(earn - 17000) * 0.2;
			System.out.println("扣取的税费为:" + temp);
		}else if(earn <= 40000){
			temp = 3000*0.05 + 9000 * 0.1 + 13000 * 0.2 + (earn - 30000) * 0.25;
			System.out.println("扣取的税费为:" + temp);
		}else if(earn <= 60000){
			temp = 3000*0.05 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + (earn - 40000) * 0.3;
			System.out.println("扣取的税费为:" + temp);
		}else if(eaen <= 85000){
			temp = 3000*0.05 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.3 + (earn - 60000) * 0.35;
			System.out.println("扣取的税费为:" + temp);
		}else{
			temp = 3000*0.05 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.3 + 20000 * 0.35 + (earn -80000) * 0.45;
		}
		
	}
}

二、出租车车费计算

import java.util.Scanner;

public class TaxiCharging{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入历程数:");
		int k = sc.nextInt();
		System.out.println("请输入等候时间:");
		int d = sc.nextInt();
		int charge = 0;
		int time = d / 150;
		if(k <= 3){
			//int time = d / 150;
			charge = 13 + time;
			System.out.println("费用为:"+charge);
		}else if(k <= 15){
			//int time = d / 150;
			charge = 13 + (k-3)*2 + time;
			System.out.println("费用为:"+charge);
		}else{
			charge = 13 + (15 - 3) * 2 + (k - 15)*3 +time;
			System.out.println("费用为:"+charge);
		}
	}
}

三、对话程序

import java.util.Scanner;

public class BreakAndContiue{
	public static void main(String[] args){
		boolean flag = true; 
		for(;;){
			System.out.println("请"+(flag?"张三":"李四") + "发言");
			Scanner sc = new Scanner(System.in);
			String str = sc.next();
				if("bye".equals(str)){
					System.out.println("谢谢退出游戏");
					break;
				}
				System.out.println((flag==true?"张三":"李四")+"说"+str);
				flag = !flag;
				
		}
	}
}

四、for循环使用案例

public class print100{
	public static void mian(Stirng[] args){
		/*打印奇数的三种方法*/
		for(int i= 1;i <= 100;i++){
			if(i % 2 != 0){
				System.out.print(i+" ");
			}
		}
		for(int i = 1;i <= 100;i += 2){
			System.out.println(i);
		}
		for(int i = 1;i <= 50;i++){
			System.out.println(i * 2 - 1);
		}
		/*打印累加和*/
		int sum = 0;
		for(int i = 1;i <= 10000;i++){
			sum += i;
		}
		System.out.println(sum);
		/*打印水仙花数*/
		for(int i = 100;i < 1000;i++){
			int a = i/100;
			int b = i%100/10;
			int c = i%100%10;
			if(i == (a*a*a +b*b*b +c*c*c)){
				System.out.println(i);
			}
		}
		
		
	}
}

五、双重for循环使用案例

/*
	双重for循环举例
*/
import java.util.Scanner;

public class DoubleForTest{
	public static void main(String[] args){
		/*打印各种星星图案*/
		for(int i = 0;i < 5;i++){
			for(int j = 0;j < 5;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int i = 0;i < 5;i++){
			for(int j = 0;j < i + 1;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int i = 0;i < 5;i++){
			for(int j = i;j < 5;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int i = 1; i <= 5;i++){
			for(int k = 1;k <= 5 - i;k++){
				System.out.print(" ");
			}
			for(int j = 1;j <= 2*i-1;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		/*打印99乘法表*/
		outer:for(int i = 1;i <= 9;i++){
			for(int j = 1;j <= i;j++){
				int multiply = i * j;
				System.out.print(j + "*" + i + "=" + multiply + " ");
				if(6 == j){
					break outer;
				}
			}
			System.out.println();
		}
		/*打印2~100之间的所有素数*/
		
		//优化:只要计算到平方根即可
		for(int i = 2;i <=100;i++){
			boolean flag = true;
			for(int j = 2;j < Math.sqrt(i);j++){
				if(i % j == 0){
					flag = false;
					break;
				}
				/*
				if(i == j){
					System.out.println(i);
				}
				*/
			}
			if(flag){
				System.out.println(i);
			}
		}
		
		/*使用while循环实现调和数列的累加和*/
		Scanner sc = new Scanner(System.in);
		int key = sc.nextInt();
		double sum = 0.0;
		int i = 1;
		while(i <= key){
			sum += 1.0/i;
			i++;
		}
		System.out.println(sum);
		
		
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值