Day_3

1.变量

1.1变量基本概念

变量:在程序的执行过程中,其值发生改变的值
变量的三要素:
            (1)声明限定(数据类型)
            (2)给变量命名时,要按照标识符的规则----遵循"小驼峰命名法"               ("见名知意")
            (3)进行初始化(进行赋值)
        格式:  数据类型  变量名 = 初始化值
分类:基本数据类型和引用类数据类型

1.2基本数据类型

基本数据类型:四类八种
       整数类型:(默认类型int)
            字节类型 byte           占1个字节       -128~127
            短整类型 short          2个字节
            整数默认类型:int          4个字节
            长整类型:long           8个字节
        浮点类型:默认类型时double   
                单精度类型 float     占4个字节
                双精度类型 double    占8个字节
        字符类型:
                char            占2个字节
        布尔类型
                boolean         占1个字节
​

1.21定义变量的注意事项

(1)定义long类型必须在值得后面加上标记--L或者l(这样就表示定义的是长整型的              变量)
(2)浮点类型默认double,定义单精度float类型的时候,后面的值需要加上标记F或f
(3)同一个变量,不能被定义多次(重复定义),这种情况是因为Java是一个强类型语言
        强类型语言:语法和格式是非常严谨的! (Java语言)
        若类型语言:JavaScript(前端Js)
                js定义变量 var a = 10  ;(分号可以不写,var也可以不写)
(4)实际开发中,不建议同一行上定义多个变量(不适合阅读)
(5)方法定义中的变量:局部变量,它在使用之前必须进行初始化否则报错!
                    1)要么定义的变量的时候就初始化了
                        数据类型 变量名 = 初始化值;
                    2)要么就先去定义,然后在使用之前必须初始化
                        数据类型 变量名;  //声明变量
                        变量名 = 初始化; //然后初始化了
(6)4)语句结束,都是以"分号结束" ;  (英文字符)

1.3 Java中的默认类型提升(隐式类型转换)

例:      定义两个变量 
        int a = 4 ;
        byte b = 3 ;
两个变量要进行求和----数据在进行计算的时候,应该要保证数据类型一致!
​
java中的默认类型提升:
     byte,short,char三者之间不转换,但是分别自己参与运算的时候优先提升为int(考点)---long---float---double
        
     boolean类型:不参与任何的运算!它只是描述逻辑判断的结果(true/false)

1.4 Java中的强转换类型

例:
            定义两个变量 
            int a = 4 ;
            byte b = 3 ;
 现在的接收的结果类型的变量是byte类型,而且a和b要进行变量相加
 -------------------------------------------------------------当前我们变量相加计算的时候,如果接收的类型 范围小于计算结果的数据类型
需要使用Java的强转类型转换-----让我们的数据进行类型匹配,防止出现(jvm   提示不兼容的类型:)
​
显示转换(强转类型转化):不仅使用基本类型,还有引用数据类型(后期研究)
格式:目标数据类型 变量名 = (目标数据类型)(结果) ;
        注意:实际开发中,尽量避免强转类型转换,可能会造成数据精度损失;

2.运算符

1.算术运算符:+,-,*,/,%(模)
2.赋值运算符:=       
        例:int a = 10 ; 将10赋值给int类型的变量a
3.关系(比较)运算符<,>,<=,>=,!=,==
4.逻辑运算符:逻辑单与&,逻辑单或|,逻辑异或^,逻辑非!
5.位运算符:基本位与&,位或|,位异或^
         <<,>>,>>>  移位符号
6.三元(三目)运算符

2.1算数运算符

基本的运算符:
1.+,-,*,/
2./:默认取整
3.%:求余数
​
扩展的算数运算符++和--
场景1:单独使用 
                后期的循环语句for
                for(int x = 0 ; x < 10 ; x ++)
                
场景2:参与运算使用(笔试题中出现)
​
        参与运算:
            ++或者--如果在数据的前面,先自增或者自减,然后在参与运算!
            ++或者--如果在数据的后面,先运算,然后在自增或者自减

2.2赋值运算

基本的赋值运算符 :=
    将等号右边的数据赋值给等号左边的变量
    例:int x = 100 ; -----------将100赋值给int类型的变量x;
注意事项:
                =不能写成==
                反之也不能,==不能写成=
扩展的赋值运算符 :+=,-=,*=,/=,%= 
    例:int x = 200 ;x+= 100 ;
    将等号右边的数据和等号左边的变量x相加然后将结果在赋值给等号左边的变量x
    x+= 100 ; --- 因为类型现在一致,类似于 x = x + 100 ;

2.3关系运算符

关系(比较)运算符:<,>,<=,>=,!=,==
比较运算符的表达式无论简单还是复杂----最终的结果都是一个boolean
​
数学表达式中:描述一个值的范围
                3<=x<=5 (数学表达式)
                
          计算机语言中:Java语言
                x>=3 &&(逻辑并列) x<=5

2.4逻辑运算符

应用场景:在实际开发中,对业务层代码中需要对相关的业务需求进行
基本的逻辑运算符:
        逻辑单与& (并列关系)
                特点:有false,则false
        逻辑单或| (或的关系)
                特点: 有true,则true
        逻辑异或^ 
                特点: 相同则为false,不同则为true
                    简单记忆:男女关系问题
                            男男 :false
                            女女 :false
                            男女 : true
                            女男 : true
        逻辑非! 
                特点:非true,则false;非false,则true
                偶数个非是它本身!

3.4.1逻辑双与&&与逻辑单与&

共同点:都是表示并列关系,基本特点:有false,则false
不同点:具有"短路"效果
      逻辑双与&& 连接的表达式:如果左边是一个false,右边就不执行了!

3.4.2逻辑双或||和逻辑单|

共同点:有true,则true,表示或的关系
不同点:逻辑双或||连接的左边表达式如果是true,右边不执行了,具有短路效果!
好处:提高逻辑判断的执行效率,开发中经常使用时逻辑双与&&和逻辑双或||

2.5位运算符

位运算符: 就是对当前这些数据进行计算的(补码进行计算的)
基本运算符:
            位与&:  有0则0
            位或|:    有1,则1
            位异或^: 相同则为0,不同则为1
                    一个数据被另一个数据如果位异或两次,其值是它本身;
                    (面试题:可以实现两个变量数据交换)
            ~反码:  全部按位取反(0变1,1变0)
其他运算符:
            <<:左移:将这个数据(补码)向左移动,将高位丢弃掉,右边补0
    快速应用:将<<这个符号左边的数据乘以2的移动次幂
    
            >>:右移:将这个数据(补码)向右移动,最高位是1,左边补1;最高位是0,左边补0;
    快速应用:将>>符号左边的数据除以2的移动次幂
    
            >>>:无符号右移:无论最高位是1还是0,那么在左边始终补0

2.6三元(目)运算符

格式:
单目运算符:int a = 10 ;
二目运算符:int m =20,n =10;
三目运算符:(表达式)?执行 true的结果:执行false 的结果;
注意:其中表达式可以简单,也可以复杂;
​
流程:首先判断表达式是否成立,如果成立,则执行true的结果
    否则,执行false的结果;
    
例:比较两个数据中的最大值
class OperatorDemo{
    
    public static void main(String[] args){
        //定义两个变量
        int a = 10 ;
        int b = 20 ;
        
        //比较较两个数据中的最大值
        //(表达式)?执行 true的结果:执行false 的结果;
        //定义最终结果变量
        int max = (a>b)?a:b;
        System.out.println(max) ; 

目录

1.变量

1.1变量基本概念

1.2基本数据类型

1.21定义变量的注意事项

1.3 Java中的默认类型提升(隐式类型转换)

1.4 Java中的强转换类型

2.运算符

2.1算数运算符

2.2赋值运算

2.3关系运算符

2.4逻辑运算符

2.5位运算符

2.6三元(目)运算符


​​​​​​​

上一篇:第四天day


下一篇:C++ 常量