ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

2022-07-14 第三组 高严 java02

2022-07-14 21:00:31  阅读:142  来源: 互联网

标签:第三组 java02 07 num2 int System num1 println out


一、今日重点

  • 引用数据类型 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.在自己动手做计算器的过程中,前半段的思路是对的,只是不知道循环怎么嵌套才能完成所有需求。在老师的讲解后再次思考才得以解决。

标签:第三组,java02,07,num2,int,System,num1,println,out
来源: https://www.cnblogs.com/ayannini/p/16478125.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有