1、变量

  概念:程序在运行过程中其值可以发生改变的量

1,声明
    语法:
        数据类型 变量名;
2,赋值
    语法:
        变量名 = 值;
    特殊情况:声明并赋值
        数据类型 变量名 = 值;
    变量的第一次赋值,称为变量的初始化
3,使用
    语法:
        直接使用变量名
练习:
    1,声明一个变量记录人的名称
        String name;
    2,声明一个变量记录人的年龄
        int age;
    3,声明一个变量记录人的性别
        char sex;
    4,将变量一的人名赋值为张三
        name = “张三”;
    5,将变量二的年龄赋值为18
        age = 18;
    6,将变量三的性别赋值为男
        sex = ‘男’
    7,打印人的姓名
        System.out.println(name);

注意:
    同一个作用域下变量名不能重复
    等号两边数据类型要相同
    代码进入main函数后,从上向下依次执行
练习:
    分别声明8个基本数据类型的变量,并赋值
    声明一个String的变量,并赋值

2、作用域

变量声明时所在的大括号,从声明开始,到这个大括号结束,称为变量的作用域

3、运算符

1、赋值运算符

符号:=
作用:将当好右边的值赋值给左边的变量
例子:
    int num01 = 10;
    int num02 = num01;
    
    String str01 = “德玛”;
    String str02 = str01;
了解:
    基本数据类型传递的是值本身
    引用数据类型传递的是值的地址
    
符号:+=
    如:
        int num01 = 10;
        int num02 = 2;
        //num01 = num01 + num02;
        可以简写为
        num01 += num02;
符号:-=
    如:
        int num01 = 10;
        int num02 = 2;
        //num01 = num01 – num02;
        可以简写为
        num01 -= num02;
符号:*=
    如:
        int num01 = 10;
        int num02 = 2;
        //num01 = num01 * num02;
        可以简写为
        num01 *= num02;
        
符号:/=
    如:
        int num01 = 10;
        int num02 = 2;
        //num01 = num01 / num02;
        可以简写为
        num01 /= num02;
        
符号:%=
    如:
        int num01 = 10;
        int num02 = 2;
        //num01 = num01 % num02;
        可以简写为
        num01 %= num02;

2、算术运算符

符号:+
    作用:加法

符号:-
    作用:减法
    
符号:*
    作用:乘法
    
符号:/
    作用:除法
    
符号:%
    作用:取余
    
符号:++
    作用:递增(自增)
    ++在前
        结论:先递增,在参与运算
        原理(了解):
            1,变量+1
            2,赋值给变量
    ++在后
        结论:先参与运算,在递增
        原理(了解):
            1,存值
            2,使用变量+1
            3,使用存值参与运算
            4,步骤2的赋值给变量
    练习:
        考试开发
            int a = 1;
            int b = 10;
            (a++) + (++a) + (b++)
        开发场景
            int num = 0;
            num++;
            
            几个商品,单价是10,计算总价
            int num01 = 3;
            int pire = 10;
            int money = num01 * pire;
            
        
符号:–
    作用:递减
    –在前
        结论:先递减,在参与运算
        原理:
            1,变量-1
            2,赋值给变量
    –在后
        结论:先参与运算,在递减
        原理:
            1,存值
            2,使用变量-1
            3,使用存值参与运算
            4,步骤2的赋值给变量
练习1:
    int num = 0;
    num–;
    此时num的值-1;
练习2:
    int num = 10;
    System.out.println(num–);//此时打印的值为:10
    System.out.println(–num);//此时打印的值为:8    

3、逻辑运算符

符号:<
    作用:判断符号左边是否小于右边
符号:>
    作用:判断符号左边是否大于右边
符号:<=
    作用:判断符号左边是否小于或等于右边
符号:>=
    作用:判断符号左边是否大于或等于右边
符号:==
    作用:判断符号左边是否等于右边
    基本数据类型判断的是值是否相同
    引用数据类型判断的是地址是否相同
符号:!=
    作用:判断符号左边是否不等于右边
符号:&
    作用:与逻辑,符号两边同时为真,才为真.反之为假
    
符号:&&
    作用:短路与,与逻辑.符号两边同时为真,才为真.反之为假
    &&比&效率高
    
符号:|
    作用:或逻辑,符号两边有真,为真
    
符号:||
    作用:短路或,符号两边有真,为真
    ||比|效率高
    
符号:!
    作用:非,非真为假,非假为真
    !true = false
    !false = true

4、三元运算符(三目运算符)

语法:
    数据类型 变量名 = 条件表达式 ? 值1:值2;
    当条件表达式为true,取值1,反之取值2
    
条件表达式
    计算结果为boolean类型的值的代码,就称为条件表达式
    
例子:
    判断年龄是否大于等于18,如果大于显示已成年,反之显示未成年
    思路:
        1,定义一个变量记录年龄
        int age = 16;
        2,判断年龄是否大于等于18
        String info = age >= 18 ? “已成年”:”未成年”;
        3,打印结果
        System.out.println(info);
练习:
    获取a,b的最大值并打印,
    已知a=10,b=1;
    思路:
        1,定义变量a,b并赋值
        int a = 10;
        int b = 1;
        2,判断a是否大于b
        int max = a > b ? a:b;
        3,打印输出max
        System.out.println(max);

5、字符串拼接符

符号:+
如:
    String str01 = “Hello”;
    String str02 = “World”;
    String str03 = str01 + str02;
    System.out.println(str03);//”HelloWorld”
    System.out.println(str02+str01);”WorldHello”
    //注意区分+是算数运算符还是字符串连接符
    //如果+两边没有字符串,那么此时+为算数运算符
    //如果+两边有字符串,那么此时+为字符串拼接符
    System.out.println(1 + 2 + “3”);//33
    System.out.println(“1” + 2 + 3);//123

所有数据类型与字符串使用字符串连接符,结果都是字符串

6、位运算(了解)

最终使用数字对应的2进制进行计算

^
    作用:异或.相同位置上,不同为1,相同为0
    计算:9异或2
    代码:
        int a = 9;//1001
        int b = 2;//0010
        //异或不同为1,相同为0
        int c = a ^ b;//1011
        System.out.println(c);//11
&
    作用:与.相同位置上,同1为1,有0为0
    计算:9与2
    代码:
        int a = 9;//1001
        int b = 2;//0010
        int c = a & b;//0000
        System.out.println(c);//0
|
    作用:或.相同位置上,有1为1,全0为0
    计算:9或2
    代码:
        int a = 9;//1001
        int b = 2;//0010
        int c = a | b;//1011
        System.out.println(c);//11
<<
    作用:向左移动
    计算1向左移动2位
    代码:
        int a = 1;//0001.0000
        a = a << 2;//000100.00
        System.out.println(a);
>>
    作用:向右移动
    计算1向右移动2位
    代码:
        int a = 1;//0001.0000
        a = a >> 2;//00.010000
        System.out.println(a);

7、进制(了解)

二进制
    00 01 10 11    100 101 110…
八进制
    0 1 2 3 4 5 6 7 10 11 12…
十进制
    00 01 02 03 04 05 06 07 08 09 10 11…
十六进制
    0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,10,11,12
    
练习:
    将10进制中的215分别转换为2进制,8进制,16进制
    将2进制中的1110011转换为10进制
        1*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0
        64+32+16+0+0+2+1
        115
    将8进制中的21转换为10进制
        2*8^1 + 1* 8^0 = 17
    将16进制的FF转换为10进制
        15*16^1 + 15*16^0
        15*16 + 15
        255

注意:
    十进制转换为二进制计算方法:要十进制的数对2取余,直到商0结束,最后将余数倒着读
    十进制转换为八进制计算方法:要十进制的数对8取余,直到商0结束,最后将余数倒着读
    十进制转换为十六进制计算方法:要十进制的数对16取余,直到商0结束,最后将余数倒着读
    二进制转换为十进制进制:用二进制所在位的数字乘以2的该数字输在为的位数减一次方,将每个位置的该数字相加,就是对应的数进制的数

4、数据类型转换

例子:
    double d = 10 + 0.1;
    等号右边的运算:小类型+大类型=大类型
    float比int大
    char可以转换为int
    boolean不参与运算
    
小类型转换为大类型:自动转换
大类型转换为小类型:强制转换
    小数据类型 变量名 = (小数据类型) 值;
注意:
    如果等号的左边比等号的右边类型小,那么就是大类型转为小类型,必须要强制类型转换,否则无法通过编译
    如果等号的左边比等号的右边类型大,那么就是小类型转为大类型,自动转换
    
a~z对应的数字:97~122
A~Z对应的数字:65~90

5、键盘录入(Scanner)

作用:
    让用户可以通过键盘给程序中输入数据
使用步骤:
    1,导包
        书写位置:类上
        书写内容:import java.util.Scanner;
    2,创建Scanner对象
        书写位置:程序内,使用前
        书写内容:Scanner 变量名 = new Scanner(System.in);
    3,使用scanner对象等待用户输入数据
        书写位置:程序内
        书写内容:
            让用户输入字符串:
                String 变量名 = 步骤2的变量名.next();
                注意:变量名对应的值就是用户输入的内容
            让用户输入数字:
                int 变量名 = 步骤2的变量名.nextInt();
                注意:
                    1,变量名对应的值就是用户输入的内容
                    2,如果用户输入的不是整数,那么程序会崩溃(Bug)
        注意:步骤3可以重复多次


版权声明:本文为Qzgg2019原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Qzgg2019/article/details/126391645