3·If、While、For、Switch学习笔记

一、If

1、if-else

if (boolean) {

代码块 ----------->若为true;则停止,否则继续

} else if (boolean) {

代码块 ----------->若为true;则停止,否则继续

} else if (boolean) {

代码块 ----------->若为true;则停止,否则继续

} else { // 默认情况

代码块 ----------->若前面都为false,则直接运行此行代码

}


Demo 是 "Demonstration" 的缩写,意思是 演示 或 示范。


通过Scanner可以实现从控制台输入信息

Scanner 是一个英文单词,通常翻译为“扫描仪”或“扫描器”,用于描述能够扫描和读取信息的设备。

在 Java 中,Scanner 是一个类,专门用来扫描输入流中的数据,比如从键盘读取用户输入的信息。

Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");

Eg:

评估成绩:/*

>=90

>=80

>=70

>=60

*/

if的其中一个小分支用if { return;} 可看《阿里巴巴代码规范》。

//卫语句1
    if (score < 0 || score > 100) {
        System.out.println("这是非法输入");
        //方法后面的代码不再执行
        return;
    }

 //卫语句2...
 
    //合法输入
    if (score >= 90 && score <= 100) {
        System.out.println("优秀");
    } else if (score >= 80 && score < 90) {
        System.out.println("良好");
    } else if (score >= 70 && score < 80) {
        System.out.println("一般");
    } else if (score >= 60 && score < 70) {
        System.out.println("及格");
    } else {
        System.out.println("不及格");
    }
}

Shift+Enter: 在光标所在行下一行插入代码


2、三目运算符

公式: boolean语句 ? 数1 : 数2

eg: int max2 = num1 >=num2 ? num1 :num2

意为:max2=数1和数2中较大的那个(num1>=num2若为true?则将num1赋值给max2,否则将num2赋值给max2)

3、+号运算符

1、两边都是数字,则做的就是加法运算

2、若一边为字符串,则做的是字符串的拼接


@Test
public void test7() {
    int age = 28;
    //豆豆加加
    System.out.println("我的年龄是23岁");
    System.out.println("我的年龄是" + age + "岁");
    System.out.println(10 + 20 + "" + 30);//"3030"
    System.out.println("" + 10 + 20 + 30);//"102030"
}

二、While、For

1、while、for

任何复杂的程序逻辑都可以通过“顺序”、“分支”、“循环”这三种基本结构来实现

循环的三要素:

  1. 循环条件的初始化
  2. 循环条件的控制
  3. 循环条件的改变

while、for循环主要是两类题目:

1、累加思想(1+2+3+... + 100)


//sum += i;     sum = sum + i
//sum -= i;     sum = sum - i
//sum *= i;     sum = sum * i
//sum /= i;     sum = sum / i
@Test
public void test3() {
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
        System.out.println(i);
        sum += i;
        System.out.println("sum: " + sum);
    }
    System.out.println("sum: " + sum);
}

2、统计思想,数一下符合条件的有多少个(计算1-100以内7的倍数的个数)

@Test
public void test4() {
    int count = 0;
    for (int i = 1; i <= 100; i++) {
        if (i % 7 == 0) {
            System.out.println(i);
            count++;
        }
    }
    System.out.println("count: " + count);
}

2、continue、break

continue:跳出本次循环,继续下一次循环

break:跳出离他最近的那层循环

@Test
public void test44() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) {
            continue;
        }
        System.out.println(i);
    }
}
//输出:1 2 4 5
--------------------------------------------------------------------------
 
@Test
public void test45() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) {
            break;
        }
        System.out.println(i);
    }
}
//输出1 2 
 ----------------------------------------
   
@Test
public void test46() {
    //i,j,k
    for (int i = 1; i <= 5; i++) {
        System.out.println("i: " + i);
        for (int j = 1; j <= 5; j++) {
            if (j == 3) {
                break;
            }
            System.out.println("j: " + j);
        }
    }
}
//输出i:1 j:1 2 4 5   i:2 j:1 2 4 5     i:3  j:1 2 4 5     i:4 j:1 2 4 5     i:4 j:1 2 4 5    i:5 j:1 2 4 5 

例题:随机(Random类)生成一个整数1-1000

用户输入一个整数,程序给出与存储的数字是“大”或者“小”,知道用户猜到这个数字位置。

如果中途用户希望程序退出,输入0可以退出。

int num = 200;

猜吧!

300

太大了

猜吧!

180

太小了

猜吧!

200

恭喜你,猜对了

 方法.var(tab) -------->生成该方法的返回值

例如:

此时按tab:

则生成方法类

--------------------------------------------------------------------------------------------------------

移到光标下一行写代码快捷键: shift + 回车键

ctrl + 鼠标滚轮 ---->放大缩小页面

代码实现:

//随机生成一个整数1-1000
@Test
public void test7() {
    //params  parameter:参数   negative
    Random random = new Random();
    //the upper bound (exclusive). Must be positive.
    //exclude:排除、不包含
    //include:
    //value between zero (inclusive) and bound (exclusive)
    // [0,100) + 1
    // 1-100
    int num = random.nextInt(100) + 1;
}

positive 积极的(正数)

bound 边界

3、双重for循环

双重for循环:

  1. 外层循环控制行数,数一下有几行就能确定外层循环。
  1. 内层循环控制列数,这一行打印多少个,到底要打印多少个要找出和当前行之间的一个关系。

快速注释:ctrl + /

一起选中某几行:shift + alt + 鼠标点击

空格符号(制表符): \t

@Test
public void test3(){
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <=i; j++) {
            System.out.print(j + "*" +i +"\t");
        }
        System.out.println();
    }
}

三、Switch

switch: 可以接受的值( byte short int整数类型,char,String) 不支持long

switch(2) {

case 1:

.....

break;

case 2:

....

break;

.....

default:

.....

break;

}

练习1:

输入月份判断天数:

1、3、5、7、8、10、12 -------- 31天

4、6 、9、11--------------------30天

2----------------------------------28/29天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值