Chp2-变量和运算符

目录

什么是程序?

变量的概念

变量的组成

变量的创建

数据类型

基本类型

整数

浮点类型

布尔类型​编辑

字符类型​编辑

大小顺序

引用类型

类型转换

自动类型转换

强制类型转换

运算符

算数运算符

赋值运算符

比较运算符

逻辑运算符

一元运算符

三元运算符

什么是程序?

答: 利用逻辑操作数据

注: 数据操作无非是增删改查存

变量的概念

是计算机内存中的一块存储空间, 只能存储一个数据,是存储数据的最小单元

变量的组成

酒店 计算机内存

房间 变量

房间类型 数据类型

房间号 变量名

住人 存储数据

变量由数据类型+变量名+数据组成

变量的创建

  1. 先声明,后赋值

    数据类型 变量名;//声明
    变量名=值;//赋值
    • 赋值之后才可使用

            int age1;
            age1 = 20;
            System.out.println(age1);//20
    ​
            int age2;
           // System.out.println(age2); 报错
  2. 声明的同时直接赋值

    数据类型 变量名=值;
    //声明的同时直接赋值
    int age3 = 22;
  3. 同时声明创建多个变量

    数据类型 变量名1=值1,变量名2=值2,变量名3;
    变量名3=值3;
    • 多个变量的数据类型必须一致

    int age4 = 23,age5=24,age6;
    age6 = 25;

数据类型

java的强类型的语言,意味着每个数据都有对应的数据类型

基本类型

整数

b(位): 最小的计算单位

B(字节): 最小的计算单元

1B=8b

  • int为整数的默认类型

  • 当long类型取值超出int的范围之后,必须在末尾添加l或者L. 通常情况下无论是否超出int都推荐添加L

浮点类型
  • 小数类型

  • double为小数的默认类型

  • float必须在值的末尾添加f或者F

布尔类型
  • 唯一一个无法采用数字取值的数据类型

字符类型
  1. 单引号赋值

    char 变量名='值';
    • 只能存放1个字符

    • 所有字符都有对应的数字

  2. 数值赋值

    char 变量名=数字;
    • 数字不可超出取值范围

    • 每个数字都有对一个字符

  3. Unicode编码赋值(了解)

    char 变量名='16进制的字符编码';
  • 单引号赋值和数字赋值可以根据使用场景自由切换

a-z: 97-122

A-Z: 65-90

大小顺序

byte< short|char < int < long < float < double

  • boolean类型不参与比较,无法与其他基本类型同时操作

引用类型

  • 只要不是八大基本类型,就一定是引用类型

  • String: 类库中的引用类型,表示字符串

String 变量名="字符串内容";
  • 值必须写进双引号, 且双引号中的内容一定是String类型

  • 对内部内容无任何要求

类型转换

自动类型转换

  • 发生在小类型给大类型赋值时

大类型 变量名=小类型名;
byte b = 100;
int n = b;

强制类型转换

  • 发生在大类型给小类型赋值时

小类型 变量名=(小类型)大类型名;
  1. 大类型取值在小类型范围内,数据无异常

    int n= 100;
    byte b=(byte)n;
  2. 大类型的取值超出了小类型的范围, 数据会发生紊乱,出现数据异常情况

    int n2 = 130;
    byte b2 = (byte) n2;
  3. 小数类型转整数类型会直接舍弃小数位

    double d = 5.9;
    int n3 = (int) d;
    System.out.println(n3);//5

由于char类型取值无负数, 所以所有可转换的数据类型转向char都需要进行强转

boolean类型不参与类型转换

任意数据拼接双引号或添加双引号都会变为String类型

        int n = 1000;
     String s1 = n + "";//拼接双引号
     String s2 = "true";//添加双引号
​
     String s3 = 10 + 10 + "a";//20a 
     String s4 = 10  + "a"+ 10;//10a10
     String s5 ="a" + 10 + 10 ;//a1010 

运算符

表达式: 通过运算符将值或变量进行连接,可以得到一个结果,该连接起来的式子就是表达式

算数运算符

+、-、*、/、%

自动类型提升

不同数据类型进行数学运算时, 结果会自动提升为类型, 下限为int,上限为double

        System.out.println(10 / 3);//3
        System.out.println(10 / 3.0);//3.333333333..
        System.out.println(10 % 3);//1
​
        byte b = 10;
        short s = 10;
        int s2 = b + s;

赋值运算符

运算符作用
+=先相加,后赋值
-=先相减,后赋值
*=先相乘,后赋值
/=先相除,后赋值
%=先取余,后赋值
  • 先运算,后赋值

  • 可以防止自动类型提升

        int a = 10;
        a += 10;// a = a + 10;
​
        byte b = 1;
       // b = b + 1; 自动类型提升
        b += 1;
        b += 1.5;

比较运算符

运算符作用
==比较是否相等
>大于
<小于
>=大于等于
<=小于等于
!=不等于
  • 结果一定为布尔类型

逻辑运算符

运算符含义
&&逻辑与,表示并且,双方都满足才为true (都为真,才为真)
||逻辑或,表示或者, 一方满足则为true (一个为真,则为真)
!逻辑非, 表示取反(取布尔结果的相反值,写在变量或表达式之前)
  • 逻辑与和逻辑或是将两个或多个布尔表达式结果进行连接

    • 对表达式数量不做要求

&&和||也称为短路运算符

短路机制: 当执行到能奠定最终结果的表达式时,后续表达式将不再执行

&和|没有短路机制

一元运算符

运算符含义
++值+1 , 相当于 变量名=变量名+1;
--值-1, 相当于 变量名=变量名-1;
  • 运算符在前或在后对变量本身没有影响

  • 表达式的结果会受运算符前后位置的影响

    • 运算符在前,表达式的结果是运算之后的值

    • 运算符在后,表达式的结果是运算之前的值

int a = 1;
//        a = a + 1;
//        a += 1;
//        a++;
//        ++a;
//        System.out.println(a);//3
        int b = a++;//int b=表达式的结果;
        System.out.println("a: "+a);//2
        System.out.println("b: "+b);//1
​
        int c = 1;
        int d = ++c;//int d=表达式的结果;
​
        System.out.println("c: "+c);//2
        System.out.println("d: "+d);//2

三元运算符

布尔表达式 ? 结果1 : 结果2
  • 执行: 判断布尔表达式,结果为true执行结果1, 否则执行结果2

  • 使用: 可以进行嵌套使用,对嵌套层数不做要求

  • 32
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值