2022-07-14 第10组 蒋萍 Java笔记

  • 写在前面:

"学会独立思考就是进步"
哈哈哈哈,哈喽,今天的头脑风暴来啦~
今天做了六个娜娜的表情包,嘿嘿,学习新知识可太快乐了,可能掌握得比较慢,但每天都有进步,nice!

一、引用数据类型

1.1 String

1.1.1字符串的拼接

        String s = "hello";
        System.out.println(s + "java");

基本数据类型有8种,引用数据类型有啥??

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

1.2 数组

  • 数组一旦声明,必带长度 ,可以先不用初始化,可以通过下标获取数组元素;

  • 数组的长度是属性,不是方法

  • 当程序抛出异常时,出现异常位置之后的代码不会执行

1.2.1 声明

1、直接

不建议使用

int[] arr = {1,2,3,5,6};
2、指定长度
 // 这种方式必须指定数组长度,不然报错
int[] arr = new int[2];
// 打印输出后是堆内存地址[I@5594a1b5
3、建议使用
int[] arr = new int[]{1,4,5};

1.2.2 数组中数据类型的默认初始值:

  • byte、short、int、long :0

  • float:0.0

  • char:\u0000(就是空白)

  • boolean:false

  • String:null

  • 所有引用数据类型初始默认为null

  • int[]:null

1.2.3 二维数组

// 二维数组要掌握的:初始化、遍历、取值
int[][] arr = new int[2][];  //两个一维数组
arr[0] = new int[]{1,2,3,4};
arr[1] = new int[]{1,2,3,4,4,5,7,8};

for (int[] ints : arr) {
   for (int anInt : ints) {
       System.out.println(anInt + "、");
   }
   System.out.println();
}
int[][] arr = new int[2][];  //两个一维数组,我理解为两行
arr[0] = new int[]{1,2,3,4};
arr[1] = new int[]{-1,-2,-3,-4,-5};

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();
}

二、包

2.1 包的命名规范

尽量全小写,尽量全用字母,

一般情况下,使用站点名的逆序 www.baidu.com

  • 包名:com.baidu.模块名

com.baidu.架构名

com.baidu.模块.架构.功能.xxx

三、流程控制

3.1、多重if

每个if之间没有联系,这些if有可能都执行

3.2、if……else if……else

这些结构有互斥,一套条件中至多走一个

 /**
         * 请输入一个整数
         * 请输入第二个整数
         * 需求:如果第一个数是8并且第二个数是9,就打印两数之和
         *      如果其中有一个是8有一个是9,就打印两数之差
         *      如果两数无8且无9,分别打印
         * */
        
        // 判断用多重if还是if……else if
        // 把范围小的先写,
        // 如果情况比较多,条件判断比较复杂,最后一种情况不建议直接写else

3.3、switch……case

switch结构清晰,简明扼要,但不要强行用``switch`;

image-20220714105700347

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

  • 基本数据类型,整型里的 byteshortint

​ 字符型char可以

​ 布尔型、浮点型都不行

  • 引用数据类型中,String、枚举可以

String必须在jdk7(包括)以后的版本才好使

​ 枚举必须在jdk5(包括)以后的版本才好使

3.3.2 其他注意点

  • break作用是终止运行;

  • default位置灵活,但别乱放;

四、循环

4.1 for循环

// 快捷键:10.fori
for (int i = 0; i < 10; i++) {
    // 循环体
}
// 初始化条件可以是任意类型,只不过大部分情况下用int
4.1.1 for循环的嵌套运用
				/**
                 * 打印:
                 *      ****
                 *      ****
                 *      ****
                 * */
for (int i = 1; i < 4; i++) { // 3行
    // 外走1 内走4;1行4个*
    for (int j = 1; j < 5; j++) { // 4列
        System.out.print("*");
    }
    System.out.println(" ");
}

4.2 break和continue

break:终止或跳出

continue:终止当前次循环,开启下次循环

注意:它俩只能控制离它们最近的循环

// 需求: 数7
// 从0到100,尾数是7或是7的倍数
for (int i = 1; i < 100; i++) {
    if (i % 7 == 0 || i % 10 == 7) {
        System.out.println(i);
        break; // 跳出循环
    }
}        

image-20220714144818091

那现在就想让它控制远的那个怎么办呢??======> 加标签

image-20220714144947472

4.3 foreach,增强for循环遍历数组

快捷键:arr.for

foreach的操作更加安全,因为不影响原始数据

foreach是JDK5以后才有的;

JDK5以后增加了啥?? 前面学的枚举

for (int i : arr) {
    // 理解为把数组中的元素通过:镜像给i;
    // 我们操作的不是原始数据,操作的是镜像数据

    /* i是数组中的元素;arr是要遍历的数组名 */

}

4.4 do ……whlie和while循环

区别??

  • do ……whlie :无论条件是否满足,循环至少执行一次

  • while:如果条件不满足,一次都不执行

终止程序执行的其他方式:(不常用)

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

五、一些我今天容易出现问题的注意点

注意数据类型!!!!

image-20220714095245636

image-20220714095500399

所以上面应该改用int型数据接收用户输入。

posted @ 2022-07-14 18:40  来日可追  阅读(24)  评论(0编辑  收藏  举报