2022-07-14 第八组 张明敏 学习笔记

目录

一、引用数据类型

1.String类

 2.流程控制

数组

二、循环

1.流程控制语句(if)

2.流程控制语句(switch)

示例

 3.循环语句(for循环)

4.循环语句(while循环)语法格式

5.循环语句(do while循环) 

6.三种循环语句的区别&死循环

7.多重循环和break、continue语句

嵌套循环

跳转控制语句

 计算器

三、学习心得


一、引用数据类型

1.String类

Java中的string是字符串的意思,当声明了一个字符串变量时,便可以在里面存储数据。

必需是双引号

 2.流程控制

数组

  • 定义格式
int[] arr;  
int arr[]; 
int[] arr = new int[3];
String arr[] = {"java", "oracle", "mysql","tomcat", "jvaScript"}
  • 什么是索引
  1. 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。
  2. 这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
  • 代码
public class Test {
    public static void main(String[] args) {
        int[] arr = new int[3];
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println("--------------");
        // 数组名[索引]
        arr[0] = 11;
        arr[1] = 22;
        arr[2] = 33;
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

 注意:          1、 数组在创建完毕后, 即使没有赋值, 也可以取出, 但取出的元素都是默认初始化值.   2、数组的索引是从0开始的
  •  属性length
public class Test {
    public static void main(String[] args) {
        int[] arr =  {11,21,12,23};
        int len=arr.length;
        System.out.println("数组的长度:"+len);
    }
}

 

  •  索引越界异常

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        System.out.println(arr[3]);
    }
}

数组长度为3,索引范围是0~2,但是我们却访问了一个3的索引。

  • 空指针异常
public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        //把null赋值给数组
        arr = null;
        System.out.println(arr[0]);
    }
}

arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了


二、循环

1.流程控制语句(if)

格式:if (关系表达式) {    语句体;  }

执行流程:

①首先计算关系表达式的值

②如果关系表达式的值为true就执行语句体

③如果关系表达式的值为false就不执行语句体

④继续执行后面的语句内容

格式:if (关系表达式) {    语句体1; } else {    语句体2; }

执行流程:

①首先计算关系表达式的值

②如果关系表达式的值为true就执行语句体1

③如果关系表达式的值为false就执行语句体2

④继续执行后面的语句内容

格式:if (关系表达式1) {    语句体1; } else if (关系表达式2) {    语句体2; } else {    语句体n+1;}
执行流程:

①首先计算关系表达式1的值

②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值

③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值

④…

⑤如果没有任何关系表达式为true,就执行语句体n+1。

import java.util.Scanner;
public class IfTest02 {
  public static void main(String[] args){
    // 1. 使用Scanner录入考试成绩
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入您的成绩:");
    int score = sc.nextInt();
    // 2. 判断成绩是否在合法范围内 0~100
    if(score >=0 && score <= 100){
      // 合法成绩
      // 3. 在合法的语句块中判断成绩范围符合哪一个奖励
      if(score >= 95 && score <= 100){
        System.out.println("自行车一辆");
      }else if(score >= 90 && score <= 94){
        System.out.println("游乐场一次");
      }else if(score >= 80 && score <= 89){
        System.out.println("变形金刚一个");
      }else {
        System.out.println("挨顿揍, 这座城市又多了一个伤心的人~");
      }
    }else{
      // 非法的话, 给出错误提示
      System.out.println("您的成绩输入有误!");
    }
}
}

2.流程控制语句(switch)

switch语句是另一种判断语句的写法,这种语句在选择时是对case子句的值进行相等测试,其功能性其实和if判断语句一样

switch (表达式) {
  case 1:
    语句体1;
    break;
  case 2:
    语句体2;
    break;
  ...
  default:
    语句体n+1;
    break;
}

示例

public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入星期数:");
    int week = sc.nextInt();
    switch(week){
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        System.out.println("工作日");
        break;
      case 6:
      case 7:
        System.out.println("休息日");
        break;
      default:
        System.out.println("您的输入有误");
        break;
    }
  } 
}

 3.循环语句(for循环)

  • for循环格式
for (初始化语句;条件判断语句;条件控制语句) {
  循环体语句;
}
  • 格式解释:
初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去循环体语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
 public static void main(String[] args) {
    int sum = 0;
    for(int i=1; i<=100; i++) {
      if(i%2 == 0) {
        sum += i;
      }
    }
    System.out.println("1-100之间的偶数和是:" + sum);
    }
}

4.循环语句(while循环)语法格式

  • 语法格式
while (条件判断语句) {
  循环体语句;
    条件控制语句;
}
  • 示例
public class WhileDemo {
    public static void main(String[] args) {
    for(int i=1; i<=5; i++) {
      System.out.println("HelloWorld");
    }
    System.out.println("--------");
    int j = 1;
    while(j<=5) {
      System.out.println("HelloWorld");
      j++;
    }
    }
}
  • 结果

5.循环语句(do while循环) 

do-while语句是先进行执行一遍语句后再执行的判断,这样至少保证循环体代码块执行了一遍,而while 语句是先判断再执行的

do {
  循环体语句;
  条件控制语句;
}while(条件判断语句)

public class DoWhileDemo {
    public static void main(String[] args) {
    for(int i=1; i<=5; i++) {
      System.out.println("HelloWorld");
    }
    System.out.println("--------");
    int j = 1;
    do {
      System.out.println("HelloWorld");
      j++;
    }while(j<=5);
    }
}

6.三种循环语句的区别&死循环

  • 三种循环的区别

    • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

    • do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

  • for循环和while的区别

    • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了

    • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

  • 死循环(无限循环)的三种格式

    1. for(;;){}

    2. while(true){}

    3. do {} while(true);

7.多重循环和break、continue语句

  • 嵌套循环

for (初始化语句;条件判断语句;条件控制语句) {
   for (初始化语句;条件判断语句;条件控制语句) {
        循环体语句;
    }
}

示例:二重循环

for(int i=0;i<3;i++){
      for(int j=0;j<2;j++){
         System.out.println("i="+i+",j="+j);
      }
}
  • 跳转控制语句

跳转控制语句(break)   跳出循环,结束循环跳转控制语句(continue)   跳过本次循环,继续下次循环注意:continue只能在循环中进行使用!

break : 终止循环体内容的执行注意:使用是基于条件控制的break语句只能在循环和switch中进行使用.
continue : 跳过某次循环体内容的执行注意:使用是基于条件控制, 在循环内部使用.
  •  计算器

public class Computer {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean flag = true;
        while(flag){
            System.out.println("请输入要进行的运算:1、加法 2、减法 3、除法 4、乘法 5、退出计算器");
            int a =scanner.nextInt();
            switch (a){
                case 1:
                    System.out.println("请输入第一个数:");
                    double b =scanner.nextDouble();
                    System.out.println("请输入第二个数:");
                    double c =scanner.nextDouble();
                    System.out.println(b+c);
                    break;
                case 2:
                    System.out.println("请输入第一个数:");
                    double d =scanner.nextDouble();
                    System.out.println("请输入第二个数:");
                    double f =scanner.nextDouble();
                    System.out.println(d-f);
                    break;
                case 3:
                    System.out.println("请输入第一个数:");
                    double g =scanner.nextDouble();
                    System.out.println("请输入第二个数:");
                    double h =scanner.nextDouble();
                    if(h!=0){
                        System.out.println(g/h);
                    }else{
                        System.out.println("除数不能为0");
                    }
                    break;
                case 4:
                    System.out.println("请输入第一个数:");
                    double i =scanner.nextDouble();
                    System.out.println("请输入第二个数:");
                    double k =scanner.nextDouble();
                    System.out.println(i*k);
                    break;
                case 5:
                    flag = false;
                    break;
            }

        }
    }
}

三、学习心得

又是充实的一天,今天的死循环没用明白,乱乱的,其他的都还好,身体很疲累!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值