0
点赞
收藏
分享

微信扫一扫

JAVA基础概述(一)

毅会 2022-01-06 阅读 45
java

1、变量:在程序的执行过程中,其值可以发生改变的量叫变量。
    A:定义变量的格式:
        1、数据类型 变量名 = 初始化值;
        2、数据类型 变量名;
              变量名 = 初始化值;
    B:作用域:
        1、变量在同一个大括号内有效,出了大括号外无效
        2、相同的作用域不能定义两个同名变量
    
2、数据类型:
    A:基本数据类型
      整数型:
        byte    1个字节   -2^7~2^7-1
        short   2        -2^15~2^15-1
        int     4        -2^31~2^31-1
        long    8        -2^63~2^63-1
      浮点型:
        float   4
        double  8 
      字符型:
        char    2
      布尔型:
        boolean 1
    B:引用数据类型
           注意事项:
             1、整数默认是int类型
             2、如果要定义一个long类型的数据,末尾要加上L
             3、小数默认是double类型
             4、如果要定义一个float类型的数据,末尾要加上F

    C: 1、自动类型转换:
           byte,short,char在参与运算的时候会自动提升到int类型
          由大的数据类型接收小的数据类型,会自动转换,不会报错。
         2、强制类型转换
        由小的数据类型接收大的数据类型,会报错,接收不了,这时候需要强制类型转换
        格式:目标数据类型 目标变量名 = (目标数据类型)要转换的数值/变量

          3、例题:
                byte b1=3,b2=4,b;
                b=b1+b2;
                b=3+4;
                 哪句是编译失败的呢?为什么呢?
                 变量相加和常量相加不一样:
               1、变量相加首先会提升数据类型,然后再相加赋值,如果接收的数据类型范围小于计算结果后的数据类型范围,报错,不能赋值
                2、常量相加,会先进行计算,计算完后看看在不在接收的数据类型范围内,如果在,直接赋值,如果不在,报错。

3、运算符(true为1,0为false):
        运算:对常量和变量进行操作的过程称为运算
        运算符:对常量和变量进行操作的符号成为运算符
        操作数:参与运算的数据成为操作数
        表达式:用运算符把常量或者变量连接起来并且符合Java语法的式子称为表达式

      A:ASCII码应记住的三个字符对应的值:
      '0':48     'A':65      'a':97
      B:算术运算符:+,-,*,/,%,++,--
        1、+号的用法:
           a:当+号两边都是数字或者是数字和字符的时候,这时候的+号是做加法运算的
           b:当+号两边其中是字符串的时候,做的是字符串拼接,拼接后是一个新的字符串
           c:字符串与任何数值做加法,做的是字符串拼接,拼接后是一个新的字符串
        2、++:自加1
                当++在前的时候,先自加1,再做赋值操作,当++在后的时候,先做赋值操作,再做自加1
             --:自减1
                当--在前的时候,先自减1,再做赋值操作,当--在后的时候,先做赋值操作,再做自减1  
    C:赋值运算符:=,+=,-=,*=,/=,%=
        1、= 赋值号
        2、+=加赋值
            把左边和右边的结果赋值给左边
            注意:左边不能是常量
        3、例题:
            short s=1, s = s+1;
            short s=1, s += 1;
            上面两个代码有没有问题,如果有,那里有问题
            第一个有问题,因为变量参与运算,首先会提升数据类型,然后做运算。所以 s = s+1;s会提升到int类型然后再做加法运算,最终的
                结果是int类型,所以拿short类型接收会报错,所以要想成功赋值,就得强制类型转换。
            第二个代码没有问题,是因为内部自动包含了强制类型转换,s+=1 ===>  s = (s的数据类型)(s+1)
    D:比较(关系)运算符:==,>,<,>=,<=,!=
        注意事项:
            1、关系运算符的表达式的结果是一个boolean类型,即为true或者false
        
    E:逻辑运算符:&,|,^,!,&&,||
        1、&:参与运算的时候,两边有false(0),则为false(0),两边都做运算  
        2、|:参与运算的时候,两边有true(1),则为true(1),两边都参与运算
        3、^(异或):参与运算的时候,相同为false,不同为true,两边都参与运算
        4、!:将true变为false,false变为true
        5、&&(短路与):结果与单个&结果一样,有0为0,但是执行的东西不一样
                    当&&左边结果为false,则最终结果为false,右边不执行
        6、||(短路或):结果与单个|结果一样,有1为1,但是执行的东西不一样
                     当||左边结果是true的时候,右边不执行,最终结果为true            

    F:位运算符:&,|,^,~,<<,>>,>>>
        1、<<:左移,多出来的丢弃,右边用0补齐
        2、>>:右移,多出来的丢弃,最左边最高位是1用1补齐,反之用0补齐
        3、>>>:无符号右移,无论左边最高位是1还是0,都用0补齐,多出来的丢弃
        4、~:二进制按位取反(反码)    例:~6=-7
        
           
    G: 三目运算符:(关系表达式)?表达式1:表达式2;
        如果关系表达式的结果为true,运算后的结果是表达式1;
        如果关系表达式的结果为false,运算后的结果是表达式2;
          1、注意事项:
           a:三目运算符表达式的结果数据类型由三目运算符表达式1和表达式2中最大的数据类型决定的。
           b:关系表达式一定只能是boolean类型。
 

 

举报

相关推荐

0 条评论