「Java基础_Day4」学习心得

1:switch语句的格式?针对格式的解释?以及注意事项?

switch语句的格式为:

switch(表达式){
	case1...执行语句1...;
		break;
	case2...执行语句2...;
		break;
	...
	default:
	...执行语句n...;
		break;
}

switch语句的格式需要注意的有

(A)if 实现的功能加以区分

  • if适合在一个区间内进行循环,if的条件更多关注的是中间过程,switch语句将表达式与单个值 进行比较

(B)switch语句结构

  • 表达式可以是byte,short,int,char类型的值
  • case表示需要和表达式进行比较的值
  • break表示程序到这里就中断,跳出switch语句
  • default表示表达式没有在switch语句中匹配到值时需要执行的语句,default语句不一定要放在最后边

(C)注意事项

  • case穿透:在case之后如果没有break语句,那么将会执行下方语句,直到遇见了break;
  • case之后的值只能为常量;
  • default可以省略;
  • default里的break也可以省略

2:看程序,分析下面程序的结果:

int x = 2,y=3;
switch(x)
{
	default:
		y++;
	case 3:
		y++;
		break;
	case 4:
		y++;
}
System.out.println("y="+y);

结果为:y = 5,因为在default语句内没有break,所以向下穿透,3 + 1 + 1 = 5 

3:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
输入:1
输出:星期1

import java.util.Scanner;
public class If_Week {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a;
        a = sc.nextInt();

        switch (a){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("数据有误");
                break;
        }

    }
}

4:for循环的格式?要能看懂执行流程。
用for循环完成如下案例

求和(1-100)

public class If_Week {
    public static void main(String[] args) {
        int sum = 0;

        for(int a=0;a<=100;a++){
            sum = sum + a;
        }
        System.out.println(sum);
    }
}

求偶数和

public class If_Week {
    public static void main(String[] args) {
        int sum = 0;
        for (int a = 0; a <= 100; a++) {
            if (a % 2 == 0){
                sum = sum + a;
            }
        }
        System.out.println(sum);
    }
}

求奇数和

public class If_Week {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
            if (i % 2 != 0) {
                sum = sum + i;
            }
        }
        System.out.println("奇数和为:" + sum);
    }
}

打印水仙花数(1-1000)

public class If_Week {
    public static void main(String[] args) {
        for (int i = 100; i <= 1000; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                System.out.println("水仙花数为:" + i);
            }
        }
    }
}

统计水仙花数

public class If_Week {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 100; i <= 1000; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                count++;
            }
        }
        System.out.println("水仙花数的个数为:" + count);
    }
}

5: 九九乘法表:while循环的格式?要能看懂执行流程

public class If_Week {
    public static void main(String[] args) {
        int a = 0;
        while (a<9){
            a++;
            int b = 0; // 需要每次对控制列的变量进行清零
            while (b<a){
                b++;
                System.out.print(a+"*"+b+"="+a*b+"\t");
            }
            System.out.println();
        }
    }
}

6:用while循环完成如下案例

(1)求和(1-100)

public class If_Week {
    public static void main(String[] args) {
        int count = 0;
        int sum = 0;
        while (count < 100) {
            count++;
            sum = sum + count;
        }
        System.out.println("100以内的累加和为:" + sum);
    }
}

(2)纸张折叠成珠穆朗玛峰高度的次数

public class If_Week {
    public static void main(String[] args) {
        System.out.println("对折一次厚度翻倍的情况下");
        int MOUNTAIN_METER = 884800;//m
        int count = 0;
        int high = 1;//mm

        while (high < MOUNTAIN_METER) {
            count++;
            high = high + high;
            System.out.println("折叠第" + count + "次,高度为:" + high);
        }
        System.out.println("一共折叠次数:"+count);
    }
}

6:break,continue和return分别有什么用?

(A)break

  • 作用可以结束循环,只在循环结构与switch中出现;
  • break结束的循环可以是循环嵌套中的内循环,也可以是循环嵌套的外循环(不过需要配合循环标签使用)

(B)contiune

  • 作用是跳过本次的单层循环,继续下一次循环

(C)return

  • 作用是用来结束一个方法;
  • 一旦在方法中遇到了return后,程序将不再执行;

学习心得:这是黑马程序员刘意老师的java课14版,之前上过毕向东老师的java30天10版的,有些地方感觉不是很懂,这回特来补习,准备招聘,我还看到有19版的那个课程,不过只有40个小时,这个详细一些,一共120+,推荐给大家这个课程一起学习,b站就有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值