Java教程

2022-07-14 第三组 高严 java02

本文主要是介绍2022-07-14 第三组 高严 java02,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、今日重点

  • 引用数据类型 String
  • 工具:键盘输入
  • if...else
  • switch...case
  • 引用数据类型 数组
  • for循环 while循环
  • break和continue

二、进程概况

【√代表掌握了,-代表产生困惑但已解决,×代表没解决】
  • 拼接字符串【√】
  • 键盘输入【√】
  • 练习:
    if...else【√】
    switch...case(成绩管理系统)【√】
  • 数组的声明方式【√】
  • 数据类型的初始值【√】
  • for循环【√】
  • 练习:打印55的矩形(嵌套)【√】
  • break/continue数7游戏【-】
  • 练习:做一个计算器【√】
  • foreach【√】
  • while循环【√】
  • 二维数组的遍历【-】

三、今日知识

  • 引用数据类型

除了基本数据类型,都是引用数据类型

  • 拼接字符串
String v1 = "张三";
System.out.println("早上好:" + v1 + ",吃饭了吗?");

*包的命名规则

  1. 尽量使用全小写字母
  2. 尽量不要出现_&123
  3. 一般情况下,使用站点名的逆序www.baidu.com
    包名com.baidu.模块名
    包名com.baidu.架构名
    根据实际情况com.baidu.模块.架构.功能.xxxx
  • 构建一个工具,键盘输入

Scanner in = new Scanner(System.in);

  • 开始输入
String s = in.next();
System.out.println("你输入了:" + s);
  • 多重if

每个if之间没有联系,这些if有可能都执行
if...else if........else...
else 互斥的功能,一套结构中就至多走一个

  • 我们在写if...else if的时候,要注意条件的顺序

范围的先写
int a = 10;
if(a > 0){
xxxxx
}else if(a > -1){
xxxx
}

  • 如果情况比较多,条件判断比较复杂,最后一种情况不建议直接写else

最后面必须有百分之200的把握,可以写else
否则,还是写else if

  • Java里的switch只能判断如下数据类型

整型:byte,short,int
字符型:char
String:JDK7以后的版本包括7
枚举:JDK5以后的版本包括5

  • 数组

数组一旦声明,必须指定长度,数组的长度是属性,不是方法

  • 访问数组元素通过下标(索引)下标、索引从0开始
  • 数据类型的初始值

byte、short、int、long:0
float、double:0.0
char:\u0000=>' '
boolean:false
String:null
int[]:null

  • 当程序抛出异常时,出现异常的位置后面的代码不会执行
  • 一维数组
int [] a1 = {1,2,3,4,5};
int[] a2 = new int[5];
int [] a3 = new int[]{1,2,3,4,5};
  • 二维数组

int[] [] a2 = new int[5][];

  • 取值,赋值
System.out.println(a3[0]);
 a3[100] = 100;
System.out.println(a3.length);
  • for循环
for(int i = 0;i < 10;i++){
    System.out.println("i=" + i);
}
for(int i = 10;i > 0;i--){
    System.out.println("i=" + i);
}
  • break和continue只能控制理他们最近的循环

  • 循环的标签 goto功能

a:for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
      System.out.println("j=" + j);
      if(j == 3){
            break a;
          }
        }
        System.out.println("i=" + i);
     }
  • 遍历,把数组中的元素都操作一遍(访问一遍)
for (int i = 0; i < arr.length; i++) {
  System.out.println(arr[i]);
}
for (int i : arr) {
    System.out.println(i+1);
}

可以理解为把数组中的元素通过:镜像给i
我们操作的不是原始数据,我们操作的是镜像数据
foreach的操作更加的安全,不影响原始数据
foreach是JDK5以后才有的

  • while
int i = 10;
   while(i < 100){
      System.out.println(i);
      i++;
  }
  • do while
int i = 10;
    do{
       System.out.println(i);
       i++;
    }while(i < 20);
  • 取出第一个一维数组里面的第二个元素
int [][] arr = new int[2][];
arr[0] = new int[]{1,2,3,4};
arr[1] = new int[]{-1,-2,-3,-4,-5};
System.out.println(arr[0][1]);
  • 获取二维数组的元素
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
       System.out.print(arr[i][j] + ",");
       }
     System.out.println();
    }
  • 终止程序执行的方式

0:安全退出
-1:强制退出
System.exit(0);

四、课堂练习汇总

  • 练习(1):

请输入第一个整数:
xxxxxxx
请输入第二个整数:
xxxxxxx
需求:
1.如果第一个数是8,并且第二个数是9,就打印两个数的和
2.如果其中有一个是8,有一个9,就打印两个数的差
3.如果两个数中既没有8也没有9,就分别打印两个数

代码如下

Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个数:");
int num2 = sc.nextInt();
if (num1 == 8 && num2 == 9) {
            System.out.println(num1 + "+" + num2 + "=" + (num1 + num2));
        }else if(num1 == 8 || num1 == 9 || num2 == 8 || num2 == 9){
            System.out.println(num1 + "-" + num2 + "=" + (num1 - num2));
        } else if(num1!=8&&num2!=9&&num1!=9&&num2!=8) {
             System.out.println("两个数分别为:" + num1 + "," + num2);
         }
     }
  • 练习(2)成绩管理系统

键盘输入成绩
如果成绩是60分,及格
如果成绩是85分,奖励你一台ipad
如果成绩是100分,奖励你一台十三香promax
其他情况,没有奖励。

代码如下

Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
 switch (score) {
            case 60:
                System.out.println("及格");
                break;
            case 85:
                System.out.println("奖励一台ipad");
                break;
            case 100:
                System.out.println("奖励一台十三香promax");
                break;
            default:
                System.out.println("没有任何奖励...");
        }
  • 练习(3)创建一个数组[3]

通过键盘输入,给数组中的元素赋值
不能用循环

代码如下

int [] arr = new int [3];
Scanner sc = new Scanner(System.in);
int i = 0;
System.out.println("请输入第一个数:");
arr[i] = sc.nextInt();
i++;
System.out.println("请输入第二个数:");
arr[i] = sc.nextInt();
i++;
System.out.println("请输入第三个数:");
arr[i] = sc.nextInt();
System.out.println("数组的数据为:" + arr[0] + arr[1] + arr[2]);
  • 练习(4)计算器

从键盘输入两个数字和一个符号
加减乘除
打印输出计算结果
其中注意:
1.除数不能为0
2.符号输入不对怎么办?
3.计算器能不能一直算下去。
请输入第一个数:
1
请输入第二个数:
2
请输入运算符号:
*
计算结果为:1*2=2
是否继续计算:1、是 2、否

代码如下

Scanner sc = new Scanner(System.in);
        index:for(;;){
            System.out.println("请输入第一个数:");
            double num1 = sc.nextDouble();
            n2:for(;;){
                System.out.println("请输入第二个数:");
                double num2 = sc.nextDouble();
                fh:for(;;){
                    System.out.println("请输入运算符号:+-*/");
                    String sep = sc.next();
                    switch(sep){
                        case "+":
                            System.out.println(num1 + sep + num2 + "=" + (num1 + num2));
                            break;
                        case "-":
                            System.out.println(num1 + sep + num2 + "=" + (num1 - num2));
                            break;
                        case "*":
                            System.out.println(num1 + sep + num2 + "=" + (num1 * num2));
                            break;
                        case "/":
                            if(num2 == 0){
                                System.out.println("除数不能为0,计算错误...");
                                continue n2;
                            }else {
                                System.out.println(num1 + sep + num2 + "=" + (num1 / num2));
                                break;
                            }
                        default:
                            System.out.println("符号输入错误,请重新输入...");
                            continue fh;
                    }
                    c:for(;;){
                        System.out.println("是否继续计算:1、继续  2、退出");
                        String flag = sc.next();
                        // 我让你输入1或者2,你非得输入3,结果就是你去重新选择
                        switch (flag){
                            case "1":
                                // 继续计算
                                continue index;
                            case "2":
                                // 退出计算
                                System.out.println("计算器即将关闭,谢谢使用...");
                                break index;
                            default:
                                // 再重新让你选择一次
                                System.out.println("您输入的有误,请重新选择!!!");
                                continue c;
                        }
                    }
                }
            }
        }

练习(5)打印55的*矩形(循环的嵌套)

for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
   System.out.print("*");
   }
   System.out.println();
}
  • 练习(6)数7游戏

从0到100 尾数是7或者是7的倍数

代码如下

for (int i = 1; i < 10; i++) {
  if(i % 7 == 0 || i % 10 == 7){
      System.out.println("你数到了:" + i + ",喝酒吧!");
      break;
  } else {
     System.out.println(i);
    }
  }
}  
  • 练习(6)猜数字小游戏

键盘输入一个数字用一个变量存起来
猜一猜输入的是什么?
请输入一个数字:
20
数字保存成功,请猜猜数字是几
比较大小,如果大了,就提示大了
如果小了,就提示小了
直到猜到这个数!

代码如下

Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int target = sc.nextInt();
        System.out.println("猜数字游戏即将开始...");
        System.out.println("请你猜猜这个数字是几?");
        while(true) {
            int number = sc.nextInt();
            if(number > target){
                System.out.println("你输入的数字大了");
            }else if(number < target) {
                System.out.println("你输入的数字小了");
            } else {
                System.out.println("恭喜你,猜对了...");
                break;
            }
        }

五、区别对比

六、学习总结

1.今天是学习JAVA的第二天,学习的引用数据类型,知道了如何使用键盘输入在控制台显示,做了if…else和switch…case的练习,因为在大学的课堂里学习过相关知识,所以并不觉得很难。在学习数组的过程中可能有一点滞涩,但很快也反应了过来。
2.然后了解了循环,练习了for循环和它的嵌套,和JavaScript中的for循环很相似,break和continue的使用是一个难点,依靠反复做不同的练习才得以解决。
3.在自己动手做计算器的过程中,前半段的思路是对的,只是不知道循环怎么嵌套才能完成所有需求。在老师的讲解后再次思考才得以解决。

这篇关于2022-07-14 第三组 高严 java02的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!