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 + ",吃饭了吗?");
*包的命名规则
- 尽量使用全小写字母
- 尽量不要出现_&123
- 一般情况下,使用站点名的逆序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