java的变量和运算符

变量

一、理解
变量是内存中的一块数据存储空间的表示
二、变量的三要素
数据类型
变量名
变量值
三、变量的使用步骤 ★
1、声明
数据类型 变量名;
2、赋值
变量名 = 值;
3、使用
System.out.println(变量名);
注意:
①前两步可以合二为一:
数据类型 变量名 = 值;
②同一个类型的多个变量定义还可以写成如下形式
数据类型 变量名,变量名,变量名;
示例:
int a;
int b;
int c;
等价于:
int a,b,c;
四、变量的使用特点
1、变量遵循内存的特点:容易丢失
2、变量必须先声明,赋值,最后再使用
3、在同一个作用范围内,变量不可以重名
4、变量的值可以更改

五、变量的三要素解析一:变量值
String的常量值,必须用双引号
int的常量值,不用任何引号
double的常量值,不用任何引号
char的常量值,必须用单引号
六、变量的三要素解析二:变量名
标识符:java中凡是可以自己起名的地方,都可以称为标识符,包含类或方法或变量等
标识符的命名规则:
只能包含数字、字母、下划线和$符号,不能以数字开头,不能是关键字或保留字!
示例:
a$b 、_c、A2、c_x、2w、w234、public×、int×、void×

标识符的命名规范:
最好见名知义
类名遵循Pascal命名法:MyArrayListDemo、Test1
变量名遵循驼峰命名法:myJavaScore1
 
数据类型
一、分类
基本数据类型
 整型:
  byte
  short
  int
  long
 浮点型:
  float
  double
 字符型:
  char
 布尔型:
  boolean
引用数据类型:
 使用class关键字定义的类,比如String
 使用interface关键字定义的接口
 数组类型

二、基本数据类型详解 ★
1、整型
  所占字节空间  范围
byte 1个字节  -2^7~2^7-1          0000 0000 ~1111 1111
short 2个字节  -2^15~2^15-1 
int 4个字节  -2^31~2^31-1 
long 8个字节  -2^63~2^63-1 

特点:编译器默认的整型为int类型,如果需要标记某个整型值为long类型,可以添加l或L
2、浮点型
补充:每个浮点型可以分为:符号位+指数位+尾数位
   所占空间
float  4个字节
doule  8个字节
特点:
①如果想表示精度更高的浮点型,后期可以使用BigDecimal
②编译器默认的浮点型为double类型,如果需要标记某个浮点型值为float类型,可以添加f或F

3、字符型
  所占空间  使用的字符集
char 2个字节  unicode
常见的字符集:
ASCII:只包含了128个字符
unicode:包含了世界上所有的字符,但固定长度编码,有些浪费空间
utf-8:包含了世界上所有的字符,并且为可变长度编码。一个字母或一个数字占1个字节,一个汉字占3个字节

4、布尔型
   所占空间  表示的值
boolean  1个字节  true|false
 

三、数据类型转换 ★
一)基本类型之间的类型转换

1、自动类型转换
规则:小——>大
2、强制类型转换
规则:大——>小
语法:数据类型  变量名 = (目标数据类型)值;
特点:
①表达式有个自动提升原则。表达式的结果的最终类型为 操作数中的最大类型
②强转符号只针对于最近的有效
int a = (int)12.5+7.5;
③byte、short的底层存储实际是以int形式。每次byte、short运算都当做int类型
④char类型只能存储int的常量值,但不能直接存储int的变量值

二)String类型和基本类型之间的转换
1、基本类型——>String
语法:直接拼接 ""空字符串即可。
示例:String s = i+"";
2、String——>基本类型
语法:通过调用基本类型对应的包装类里面的parseXX方法即可,要求待转换的String的值必须为有效的目标类型格式
示例:
String s = "123455.5";
double d = Double.parseDouble(s);

备注:以上转换只针对于 非char类型,如果String类型需要转换成char类型,可以调用String的charAt()方法
示例:
String s = "a";
char c = s.charAt(0);
运算符
一、算术运算符
1.基本算术运算符
+ - * / %
2.自增、自减运算符
++  --
①作为独立的语句使用(较简单)
i++;和++i;完全等价,等价于i=i+1;
②作为表达式使用(较复杂)
int j=i++;  先赋值,后自增
int j=++i;  先自增,后赋值
特点:算术表达式的结果为数值型
二、关系运算符(比较)
> < == != >=  <=
特点:关系表达式的结果为boolean类型,一般当做条件放在if结构或循环结构中
三、逻辑运算符
&& || ! & |
特点:逻辑运算符用于连接多个条件,最终结果类型为boolean类型,一般当做条件放在if结构或循环结构中
  特点      
&&/& 两个条件都成立,结果为true
||/! 只要有一个条件成立,结果为true
!  如果本身条件成立,结果为false
区别:
&& 如果条件1为false,则条件2不会判断,直接结果为false。效率较高
&  不管条件1是否为false,条件2都要进行判断

|| 如果条件1为true,则条件2不会判断,直接结果为true。效率较高
|  不管条件1是否为true,条件2都要进行判断

四、赋值运算符
1、基本赋值运算符
=
2、复合赋值运算符
+= 、-= 、*= 、/= 等
特点:
①运算顺序从右往左
②赋值运算符左边只能是变量,右边可以是变量、常量、表达式
③要求赋值运算符左右两边的类型一致或兼容
④复合赋值运算符
i+=10;等价于i=i+10;而且进行了内部优化,里面自动进行类型转换
要求已经将i进行初始化了。
 
 
五、三元运算符
条件表达式?表达式1 :表达式2
特点:
如果条件表达式成立,结果为表达式1的结果;否则为表达式2的结果
 
总结:运算符优先级
()
! 自增、自减
基本算术运算符
关系运算符
逻辑运算符
三元运算符
赋值运算符
 
 进制与位运算
一、进制
1、常见的进制
二进制:0-1,以0b或0B开头
八进制:0-7,以0开头
十六进制:0-9,A-F,以0x或0X开头
十进制:0-9
2、常见进制转换【了解】
其他进制——>十进制:从最低位开始,依次将每一位乘以进制数的幂次方,(幂从0开始,依次递增),最后累加即可!
十进制——>其他进制:不断除以进制数,直到商为0为止,最后将余数倒过来即可
八进制、十六进制——>二进制:将每一位上的数拆分成三位或四位的二进制数,如果不够,则最高位用0补齐即可
二进制——>八进制、十六进制:从最低位开始,将每三位或四位转换成十进制数,最后拼接在一起即可

二、位运算符
特点:
1、位运算都是以二进制的补码形式进行的
2、最高位参与运算
常识:
正数:三码合一
负数:
  原码:将十进制数转换成二进制,最高位是符号位,0正数,1负数
  反码:最高位不变,其他位按位取反
  补码:反码+1

位运算符:
 2如何最快的变成8?
 2<<2 等价于 2*2^2

 <<:左移    
 >>:右移
 >>>:无符号右移
 &:按位与
 |:按位或
 ~:按位取反
 ^:按位异或
 
 

猜你喜欢

转载自www.cnblogs.com/oldby/p/12558971.html