2022-7-14 第三小组 甘源册 学习笔记
目录
知识点掌握情况
- 引用数据类型(理解)
- 一维数组,二维数组(理解)
- 分支结构(理解)
- 循环结构(理解)
学习心情(心路历程)
今天学的知识很多都是js讲过的,只是略有不同,所以学起来很轻松,学习心情不错
1.数据类型
1.1引用数据类型
1.1.1 String
-
Java中的字符串只能用双引号
-
所有引用数据类型的初始值是null
-
除了基本数据类型都是引用数据类型;
-
例子
-
// String类是jdk提供的 String str=new String(); // 首字母大写就是类(满足了大驼峰式运算) str="你不好"; // String没有范围 String str1="你好"; // 字符串拼接+ System.out.println(str1+str);
-
1.1.2 Scanner
-
//构建一个工具,键盘输入 Scanner scanner = new Scanner(System.in); //开始输入 String next = scanner.next(); System.out.println("你输入了"+next);
1.1.3 一维数组
-
Java当中的数组一旦声明,必须指定长度
-
数组一定有长度,没有就报错
-
声明数组的方式
-
直接赋值(忘掉不用)
-
int a1 []={1,2,3,21,4,5}; int [] a2={11,312,13,211,42,531};
-
-
声明长度
-
int [] a3=new int[10];
-
-
先声明,在赋值
-
int [] a4; a4 = new int[]{1,3,141};
-
-
-
/**需求: * 创建一个数组[3] * 通过键盘输入,给数组中的元素赋值。。。 * 不能用循环 */ int [] a=new int[3]; Scanner scanner = new Scanner(System.in); a[0] = scanner.nextInt(); a[1] = scanner.nextInt(); a[2] = scanner.nextInt(); System.out.println("数组里的内容为:{"+a[0]+","+a[1]+","+a[2]+"}"); /**结果: * 21 * 31 * 41 * 数组里的内容为:{21,31,41} * */
1.1.4 二维数组
-
开发中最多用到二维
-
int [][]a=new int[4][]; // 二维数组a里有4个一维数组
1.2包
- 包的命名规则:
- 尽量使用全小写
- 尽量不要出现 _ $ 甚至数字.
- 一般情况下是使用站点名的逆序
- com.baidu.模块名/架构名/功能名(尽量分类一目了然)
2 流程控制
2.1分支结构
2.1.1 if...else
-
情况复杂,不建议最后用else
-
注意事项
- 多重if
- 每个if之间没有联系,这些if都有可能执行
- if...else if
- else互斥功能,一套循环结构至多走一个
- 多重if
-
写判断一定要把范围大的写上边,范围小的写下边
-
逻辑上的问题一旦出错,后果很严重
-
//需求 //1.如果第一个数是8,并且第二个数是9,就打印两个数的和 // 2.如果其中有一个是8,有一个9,就打印两个数的差 //3.如果两个数中既没有8也没有9,就分别打印两个数 System.out.println("输入第一个整数"); Scanner scanner = new Scanner(System.in); int i = scanner.nextInt(); System.out.println("输入第二个是整数"); Scanner scanner1 = new Scanner(System.in); int i1 = scanner1.nextInt(); if (i == 8 && i1 == 9) { System.out.println("两个数的和为:" + (i + i1)); } else if (i == 8 || i == 9 || i1 == 9 || i1 == 8) { System.out.println("两个数的差为:" + (i > i1 ? i - i1 : i1 - i)); } else if (i != 8 && i != 9 && i1 != 8 && i1 != 9) { System.out.println("第一个整数为:" + i); System.out.println("第二个整数为:" + i1); }
2.1.2 switch...case
-
/**需求 * 成绩管理系统键盘输入成绩 * 如果成绩是60分,及格 * 如果成绩是85分,奖励你一台ipad * 如果成绩是100分,奖励你一台十三香promax * 其他情况,没有奖励。 */ Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩"); int i = scanner.nextInt(); switch (i){ case 60: System.out.println("及格"); break; case 85: System.out.println("奖励你一台iPad"); break; case 100: System.out.println("奖励你一台十三香promax"); break; default: System.out.println("没有奖励"); }
-
Java里的switch只能判断如下数据类型
- 整型:byte,short,int
- 字符型:char
- String (要求:必须在JDK7以后的版本包括7)
- 枚举 (要求:必须JDK5以后的版本包括5)
-
优点:效率高,结构清晰简明扼要
-
不要强行用switch...case
-
default的位置比较灵活,但是别乱放
2.2顺序结构
- 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
2.3循环结构
2.3.1 for循环
-
初始化条件(大部分用int)——循环条件——循环体——判断条件
-
/**需求: * 矩形 * 用循环的嵌套 * 需要用到不换行的打印输出.... * */ for (int i = 0; i <5 ; i++) { for (int j = 0; j <12 ; j++) { System.out.print("*"); } System.out.println(); }
-
break; 终止循环
-
continue 终止这一次循环,开启下一次循环
-
break和continue:他们只能控制离他们最近的循环
-
可以给for加标签让break去终止除了离他最近的其他循环
-
a:for (int i = 0; i <10 ; i++) { for (int j = 0; j <10 ; j++) { System.out.println("a"); break a; } }
-
2.3.2 for...each(增强for循环)
-
int [] arr=new int[]{12,41,251,13,125,21}; // 遍历把数组中的元素都操作一遍 for (int arr1:arr) { // arr1就是数组中的元素 System.out.print(arr1+" "); }
-
可以理解为把数组中的元素通过:镜像给i,我们操作的不是原始数据,我们操作的是镜像数据
-
foreach的操作更加的安全,不影响原始数据
2.3.3 while() 循环
-
int i=19; while ( i <100){ System.out.println(i); i++; }
2.3.4 do...while() 循环
-
int i1=20; do { System.out.println(i1); i1++; }while (i1<100);
-
do...while()与while()的区别:前者不管条件成不成立都至少执行一次,后者条件不成立一次都不执行
3.注意事项
- 当程序抛出异常时,出现异常的位置后面的代码不会执行
3.1debug操作
- 打断点,看程序的运行流程,方便学习与找bug
3.2终止程序执行的方式
// 0 安全退出
// -1 强制退出(一般情况用它)
System.exit(0);
System.exit(-1);
4.计算器
public static void main(String[] args) {
a:
for (; ; ) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数");
int a = scanner.nextInt();
System.out.println("请输入第二个数");
c:
for (; ; ) {
int b = scanner.nextInt();
if (b == 0) {
System.out.println("除数不能为0,请重新输入:");
continue c;
}
System.out.println("请输入符号");
b:
for (; ; ) {
String next = scanner.next();
switch (next) {
case "+":
System.out.println("计算结果为:" + a + "+" + b + "=" + (a + b));
break;
case "-":
System.out.println("计算结果为:" + a + "-" + b + "=" + (a - b));
break;
case "*":
System.out.println("计算结果为:" + a + "X" + b + "=" + (a * b));
break;
case "/":
System.out.println("计算结果为:" + a + "➗" + b + "=" + (a / b));
break;
default:
System.out.println("符号输入不对,请重新输入符号:");
continue b;
}
for (; ; ) {
System.out.println("是否继续计算 1:是 2:否");
int anInt = scanner.nextInt();
switch (anInt) {
case 1:
continue a;
case 2:
System.out.println("谢谢使用!");
break a;
default:
continue;
}
}
}
}
}
}
4.1菱形
for (int i = 0; i <=5 ; i++) {
for (int j = 5; j >i ; j--) {
System.out.print(" ");
}
for (int j = 0; j <= i ; j++) {
System.out.print("*");
}
for (int j = 0; j < i ; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = 1; i <=5 ; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int j = 11; j >=i*2+1 ; j--) {
System.out.print("*");
}
System.out.println();
}
4.2空心菱形
for (int i = 0; i < 5; i++) {
for (int j = 5; j >i ; j--) {
System.out.print(" ");
}
for (int i1 = i; i1 <=i; i1++) {
System.out.print("*");
}
for (int i1 = 0; i1 < i*2; i1++) {
System.out.print(" ");
}
for (int i1 = i; i1 <= i; i1++) {
if (i==0){
}else {
System.out.print("*");
}
}
System.out.println();
}
for (int i = 0; i < 6; i++) {
for (int i1 = i; i1 > 0; i1--) {
System.out.print(" ");
}
for (int i1 = i; i1 <= i; i1++) {
if (i1 == 5) {
} else {
System.out.print("*");
}
}
for (int i1=2*i;i1<10;i1++){
System.out.print(" ");
}for (int i1 = i; i1 <= i; i1++) {
System.out.print("*");
}
System.out.println();
}
本文作者:(≧∇≦)(≧∇≦)(≧∇≦)
本文链接:https://www.cnblogs.com/gycddd/p/16478623.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
2022 Java实训
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步