Java学习笔记2024/1/26

1. 错题整理

1.1

当时我的答案是 3abc3

正确答案是 3abc12

分析: 从左往右运算, 但是注意是加减才行哈

因为我去试了试乘法,  我嘞个豆, 运算表达式居然遵循乘除模优先嘞

注意从左往右运算的 +符号 的不同意义(1.数值相加 2.表示连接符号) 

运算表达式总结: 先乘除模 -> 再从左往右运算

乘法优先的代码:

 Java学习笔记2024/1/26_第1张图片

运行结果:

Java学习笔记2024/1/26_第2张图片

除法优先的代码:

Java学习笔记2024/1/26_第3张图片

运行结果:

Java学习笔记2024/1/26_第4张图片

模优先的代码:

Java学习笔记2024/1/26_第5张图片

运行结果:

Java学习笔记2024/1/26_第6张图片

1.2

我嘞个豆, 又错一个

我的答案: 97abc

正确答案: aabc

分析: 注意字符串的前后+都是表示连接

2. 知识点(基本在注释里)

2.1

Java学习笔记2024/1/26_第7张图片

int a = 10;  这个整体表示创建一个变量

a++;  a是这个变量的表现形式(翻译: 只是用a来表示这个变量)

2.2

a++; 就表示他已经转化为 a = a+1; 这个了, 后续使用的就是已经转化后的a

2.3 ++/-- 单独使用

2.3.1

Java学习笔记2024/1/26_第8张图片

Java学习笔记2024/1/26_第9张图片

无论变量a放前放后都要进行 ++/-- 结果都一样

2.3.2

单独使用也容易出错

注意:只要出现 变量++(例如x++,a++,count++等等); 就要知道接下来使用的变量已经改变了,
   变为了新的变量[变量代表的是整体(数据类型 变量名 = 数据值),只要有一个变了,那就说明变量变了]
   通常用变量名来表示这个变量
   通常爱出错是因为系统自动省略了下面这一行代码:
   数据类型 变量 = 上一次的变量+1;
package com.itheima.arithmeticoperator;

public class ArithmeticoperatorDemo6 {
    public static void main(String[] args) {
        int x = 10;
        int y = x++;
        int z = ++x;
        System.out.println("x为:" + x);//12
        /* 注意:只要出现 变量++(例如x++,a++,count++等等); 就要知道接下来使用的变量已经改变了,
           变为了新的变量[变量代表的是整体(数据类型 变量名 = 数据值),只要有一个变了,那就说明变量变了]
           通常用变量名来表示这个变量
           通常爱出错是因为系统自动省略了下面这一行代码:
           数据类型 变量 = 上一次的变量+1; */
        System.out.println("y为:" + y);//10
        System.out.println("z为:" + z);//12

    }
}

Java学习笔记2024/1/26_第10张图片


2.4 ++/-- 参与计算

a++;

Java学习笔记2024/1/26_第11张图片

Java学习笔记2024/1/26_第12张图片

++a;

Java学习笔记2024/1/26_第13张图片

Java学习笔记2024/1/26_第14张图片

2.5

知识点都在注释里面

package com.itheima.assignmentoperator;

public class AssignmentoperatorDemo1 {

    public static void main(String[] args) {
        // 知识点: 运算符 -> 赋值运算符
        // +=
        // 规则: 将左边变量和右边变量相加,赋值给新的变量,新的变量还是以左边的变量名命名
        // 因为数据值已经变了, 所以就变成了新的变量, 但还是以左边的变量名命名
        // 其他赋值运算符 -= *= /= %= 同理
        int a = 10;
        int b = 20;
        a += b; // 等同于下列代码
                // a = a + b;
                // 看了下文细节之后, 变成等同于下列代码
                // a = (int)(a + b);
        System.out.println("a为" + a);//30 此时打印的是新的变量a
        System.out.println("b为" + b);//20

        // 细节:
        // += -= *= /= %= 它们的底层都隐藏了一个强制类型转换
        // 怎么转? -> 看含变量运算的运算表达式中 左边变量的数据类型是什么就转成什么
        short s = 1;
        s += 1; // 这是一个含变量运算的运算表达式 左边变量s的数据类型是short型就转成short型
                // 所以这个表达式等同于下列代码
                // s = (short)(s + 1);
        System.out.println("s为" + s);
        // 前面的 "s为" 表示直接使用的字面量;
        // 后面的 s 表示间接使用的变量
    }

}

Java学习笔记2024/1/26_第15张图片

3. 从这里开始,更改笔记风格,在注释中做笔记

4. 运算符

4.1 逻辑运算符

4.1.1 笔记地点: 项目 -> 模块 -> 包 -> 类

Java学习笔记2024/1/26_第16张图片

代码+注释+笔记:

package com.itheima.Operator.logicalOperator;

public class logicalOperatorNote {
    public static void main(String[] args) {
        // 知识框架: 运算符 -> 逻辑运算符

        // 什么是逻辑运算符

        // 举个例子
        // 数学: 5 < x < 15
        // Java: x > 5 & x < 15  &表示和,作用为逻辑与(且)

        // 分类:
        // 符号: & | ^ ! 四种
        // 作用: & 逻辑与(且) 且
        //      | 逻辑或 或
        //      ^ 逻辑异或 异或
        //      ! 逻辑非 非
        // 说明: & 并且,两边都为真,结果才是真
        //      | 或者,两边都为假,结果才是假
        //      ^ 相同为false,不同为true
        //      ! 取反

        // ^ 逻辑异或 异或 的记忆方法
        // 拒绝同性恋

        // ! 逻辑非 非  取反
        // 提示: 取反的感叹号不用写多次,要么不写,要么只写一次

        // 使用场景:
        // &  账户正确 并且 密码正确
        // |  有房子 或者 有车子
     
        System.out.println("^^");

    }
}

4.1.2 笔记地点: 包 -> 类

Java学习笔记2024/1/26_第17张图片

代码+注释+笔记:

package com.itheima.Operator.logicalOperator;

public class logicalOperatorDemo1 {
    public static void main(String[] args) {
        // 演示 4类

        // 符号: &
        // 作用: & 逻辑与(且) 且
        // 说明: & 并且,两边都为真,结果才是真
        // 运算符(6种)可以直接使用字面量演示
        System.out.println(true & true);//真
        System.out.println(true & false);//假
        System.out.println(false & true);//假
        System.out.println(false & false);//假

        System.out.println("-----");

        // 符号: |
        // 作用: | 逻辑或 或
        // 说明: | 或者,两边都为假,结果才是假
        // 运算符(6种)可以直接使用字面量演示
        System.out.println(true | true);//真
        System.out.println(true | false);//真
        System.out.println(false | true);//真
        System.out.println(false | false);//假

        System.out.println("-----");

        // 符号: ^
        // 作用: ^ 逻辑异或 异或
        // 说明: ^ 相同为false,不同为true
        // 运算符(6种)可以直接使用字面量演示
        System.out.println(true ^ true);//假
        System.out.println(true ^ false);//真
        System.out.println(false ^ true);//真
        System.out.println(false ^ false);//假

        System.out.println("-----");

        // 符号: !
        // 作用: ! 逻辑非 非
        // 说明: ! 取反
        // 运算符(6种)可以直接使用字面量演示
        System.out.println(! true);//假
        System.out.println(! false);//真

        // 符号: & | ^ ! 四种
        // 作用: & 逻辑与(且) 且
        //      | 逻辑或 或
        //      ^ 逻辑异或 异或
        //      ! 逻辑非 非
        // 说明: & 并且,两边都为真,结果才是真
        //      | 或者,两边都为假,结果才是假
        //      ^ 相同为false,不同为true
        //      ! 取反

        System.out.println("^^");

    }
}

4.2 关系运算符

4.2.1 笔记地点: 项目 -> 模块 -> 包 -> 类

Java学习笔记2024/1/26_第18张图片

代码+注释+笔记:

package com.itheima.Operator.relationalOperator;

public class relationalOperatorDemo1 {
    public static void main(String[] args) {
        // 知识框架: 运算符 -> 关系运算符
        // 有哪些? 有这些: == != > >= < <=
        // 关系运算符和布尔有关系: 关系运算符的输出结果要么是true, 要么是false
        // 注意: 不要把 "==" 误写成 "="
        // 关系关系,就是看它们有没有关系
        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a == b); /* 这里是直接使用字面量boolean类型
                                       输出true或false
                                       不用再单独定义变量写 数据类型boolean */
        System.out.println(a == c);

        System.out.println("== != > >= < <=  ");

    }
}

4.2.2 笔记地点: 包 -> 类

Java学习笔记2024/1/26_第19张图片

代码+注释+笔记:

package com.itheima.Operator.relationalOperator;

import java.util.Scanner;//看分析1.1  这行代码还是要自己写一下才记得住  import java.util.Scanner;  要写在类名的上面

public class relationalOperatorTest1 {
    public static void main(String[] args) {
        // 写题
        /* 需求:
        您和您的约会对象正试图在餐厅获得一张桌子。
        键盘录入两个整数,表示你和你约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录其他)(这个限制此时还不会,因为这个知识点还没学到)
        如果你的时髦程度大于你对象的时髦程度,相亲就成功,输出true。
        否则输出false。*/

        /* 分析:
        1.第一步肯定想到键盘录入嘛,(题目都叫你键盘录入了你不入)

          1.1 import java.util.Scanner; //找到它
          1.2 Scanner sc = new Scanner(System.in); //打个招呼
          1.3 int myFashion = sc.nextInt(); //真正开始用它,最重要的就是这一步,所有操作都在这,这一步是它的实质,还要注意在这一步的上面写个录入提示

          键盘录入又跟变量有关,
          那就说明要用到变量,
          用到变量那肯定用到那老三样: 数据类型 变量名 = 数据值;
          因为变量就是这老三样组成的

        2.第二步看到大于说明要用到关系比较符 >

        3.第三步看到true,false就要想到boolean类型
          是直接使用字面量boolean类型,还是间接使用变量中的数据类型boolean类型
          因为第一步跟变量有关,说明要间接使用变量中的数据类型boolean类型
           */

        //开始第一步
        Scanner sc = new Scanner(System.in);//看分析1.2  这行代码还是要自己写一下才记得住  Scanner sc = new Scanner(System.in);

        System.out.println("请输入自己的衣服的时髦度");
        int myFashion = sc.nextInt();//看分析1.3  这行代码还是要自己写一下才记得住  int sc = sc.nextInt();  上面一行记得写提示

        System.out.println("请输入约会对象的衣服的时髦度");
        int girlFashion = sc.nextInt();

        //开始第二步与第三步,因为它俩要一起用
        //说明关系比较符和变量有关,它用在变量中的数据值与数据值之间,通常情况下数据值只有一个,但由于关系比较符的出现,数据值就不止一个
        //它的出现也意味着变量中的数据类型boolean类型的出现,它俩要一起用
        boolean result = myFashion > girlFashion;

        //结束,打印结果,使用变量这个转换器
        System.out.println(result);

        System.out.println("^^");

    }
}

你可能感兴趣的:(java,学习,笔记)