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) ;
目录