java程序作业循环结构

for循环的逻辑关系  九九乘法表

for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}

错误理解:不清楚具体的语句块执行步骤,只知大概,不知具体;

 

 

 for循环时(1初始化;2判断;4迭代){

 3循环体}


for循环嵌套时(1初始化;2判断;7迭代){

for(3初始化;4判断;6迭代){

5循环体}

}

 :1、for的单循环初始化只执行一次;嵌套循环要执行两次;

        2、嵌套循环中内层循环可看作外层循环的循环体;


switch细节:1、switch(表达式)与case(常量)数据类型要保持一致或者类型不同但可以实现case中数据类型自动转换为switch表达式中的数据类型;

2、穿透;switch表达式与某一case相匹配,执行完后发现break语句,则执行到底;

3、switch表达式中数据类型只能为:byte、short、int、enum、char、string;

4、case语句中表达式只能是常量而非变量;

实现switch表达式与case表达式数据类型不同但能相互转换
Scanner trya=new Scanner(System.in);
System.out.println("请输入你的分数");
int a=trya.nextInt();
switch(a){
    case 97:
    System.out.println(a);
    break;
    case 'c':
        System.out.println("字符c已经自动转换成和a通样的数据类型了");
     System.out.println(a);
     break;

 

编写一个Java程序,使用switch结构实现:判断一个整数成绩得分处在什么档次,条件为:成绩大于或等于90分为优,成绩80~90为良,70~80为中,60~70为及格,小于60为不及格。要求成绩分数通过小窗口提示框进行输入
String score = javax.swing.JOptionPane.showInputDialog("输入你的分数:");
int a = Integer.parseInt(score);
if(a>100|a<0){System.out.println("你的分数不在查询范围内");}
int b=a/10;
switch(b){
    case 10:
    case 9:
 System.out.println("你的成绩为优");
break;
    case 8:
        System.out.println("你的成绩为良");
break;
    case 7:
        System.out.println("你的成绩为中");
        break;
    case 6:
        System.out.println("你的成绩为及格");
        break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case 0:
        System.out.println("你的成绩为不及格");
        break;
default;

误区:数字太多,数据类型也要一致,无法实现用case写出这么多数字,想到用多维数组代替一个数字范围,然后把数组赋值给一个变量,结果语法错误,无法通过编译;

解决思路1:把大范围的数字缩小一个范围,然后使用case常量来表达该范围,除法是解决数字大范围缩小化的一个解决方式。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值