java中的两大内存区 栈 变量 堆 变量后面的值

java中的两大内存区  栈 变量   堆 变量后面的值

格式:

        数据类型  变量名 = 常量\其他已赋值的变量;

        数据类型  变量名;   这种叫变量的声明

        变量名 = 初始化值;  声明后再赋值

    一行定义多变量:

        数据类型  变量名a,变量名b,变量名c;

        x = 13;

        y = 14;

        z = 15;

数据类型:

    基本数据类型:

        4类8种:8大基本类型:

        整数类型:

            byte:  1个字节     1KB = 1024B  1B = 1字节   1字节 = 8bit  1bit = 1个二进制位

            short: 2个字节

            int: 4个字节

            long: 8个字节

        小数类型:

            float: 4个字节

            double: 8个字节

        布尔类型:

            boolean: true  false

        字符类型:

            char: 2个字节  所有的被''包裹起来的都是char类型

            ''中  有且只能有一个字符 'a' 'ab'  '13'  '胡'

    引用数据类型:

        类   接口   数组

    java中  整数类型默认是int类型

    小数类型默认是double类型

    boolean类型默认是false

    定义变量时  需要注意  定义float  需要在数据后面加f

    定义long类型需要在数据后面加L

    long l = 12456688L;

    float f = 13.3f;

    数据类型的强制转换:

    大专小

    数据类型 变量名 = (数据类型)值;

    前后数据类型保持一致

    变量的强制转换  必须在同一个大类型中进行转换,不能跨类型转换

    比如  小数类型可以转为整数类型

    但是小数类型不能转为字符  布尔类型

变量的作用域问题:

    局部变量:

        一般是在方法中定义

        然后局部变量必须要有初始化值  如果没有初始化值就去使用该变量  就会报错

        作用范围  只有在当前方法内  出了该方法  就不能再使用

    成员变量:

        定义在类中方法外的变量叫做成员变量 他的作用域是整个类

        成员变量可以不赋值  系统会默认给每个类型一个默认值

        整型 0 小数类型 0.0

        布尔类型 false char '' 字符串类型 ""

    GBK: 一个汉字等于两个字节

    utf-8: 一个汉字等于三个字节

常量:

    在运算中  其值不会发生改变的数据  叫做常量

    整数类型:  所有的整数

    小数类型:  所有的小数

    字符类型:  所有被''包裹起来的

    布尔类型: true  false

    字符串类型: 所有被""包裹起来的

    空常量: null

    常量可以被输出语句直接打印输出

转义字符:

    \

    \r\n:代表一个换行符

    \t: 制表符  代表一个tab键

    \f:

java中整数类型的运算都会默认提升到int类型 然后开始运算

所以  运算后不能赋值给小类型  如果想要给小类型  需要对运算后的整体结果进行强制转换

运算符:

    算数运算符: + - * / % ++ --

    + : 在做算数运算时  + 就是求和的

        还可以表示正数

        作为字符串的连接符去使用   字符串于任何类型做拼接运算  得到的最终结果都是字符串本身

        程序的运行顺序  :从左到右  从上到下

    ++: 在自己原本的基础上+1

    --: 在自己原本的基础上-1

    左右两边都可以放数据  但是必须放变量  不能是常量

    当++或者--不参与任何运算符运算的时候  ++ -- 在前或者在后没有区别

    但是如果 ++或者--参与了运算 + - * / % = ()

    那么 ++a  就会先自增  然后在运算

    如果是 a++  会先运算  后再自增

    赋值运算符: = += -= *= /= %=

    +=:将符号左右两边的值求和之后赋值给左边   符号左边必须为变量  不能是常量

        帮我们规避掉了类型的强制转换问题

    关系运算符: > >= < <= != ==   最终结果只有两个值  要么是true  要么是false

    我们一般把关系运算符连接起来的式子  叫做关系表达式

    ==:比较两个数据是否相同  相同返回true  不同返回false

    !=:跟上面相反

    关系运算符不允许出现区间比较 类似于  a > b > c

    逻辑运算符: &(与) |(或) !(非) ^(异或)    &&(双与\短路与)    ||(双或\短路或)

    一般情况下  逻辑运算 & | ^ 左右两边是两个boolean类型的值或者是两个boolean类型的表达式

    &:符号左右两边的boolean结果都为true的时候  最终结果是true  有一个为false  结果就是false

    |:符号左右两边的boolean结果都为false的时候  最终结果是false  有一个为true  结果就是true

    ^:符号左右结果相同为false  结果不同为true

  !:取相反数

    && 和 || 他的操作跟 & | 是一样的  但是多了一个短路效果

    只要 && 左边结果为false  那么右面就不再参与运算

    只要 || 左边为true  那么右边就不再参与运算

    当与或异或参与运算的时候:

    5 & 8  =

    5 | 8

    5 ^ 8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值