变量和运算符

一、数据类型

冯诺依曼体系结构:
包含五部分 输入设备(键盘鼠标等) 运算器 控制器 内存 输出设备(显示屏);
外存:U盘 光盘 磁盘 硬盘等
因为变量和内存密切相关,程序中定义的变量都存放在内存某个地址处
定义变量时:注意一定要给变量赋初值,如果不进行初始化,就不能编译过。
1)变量类型如下:

(简单类型)

1、int 整型 4字节 Integer
1个字节8个比特位(bit byte kb mb gb tb pb)
1byte=8bit 
1kb=1021byte
1mb=1024kb...后者皆两两1024的换算比率
int的取值范围:(符号位占一位)
-2^31~2^31-1 
在变量赋值的时候不能超过变量的取值范围
注意:1、System.out.println(Integer.MAX_VALUE); Integer为int的包装类
       2、取值范围是闭包的 int输出最大值+1为最小值,最小值-1位最大值
2、long 长整型 8字节 Long
 取值范围:-2^63~2^63-1
 定义变量赋值时,在后面加大写的L,小写的也可(不提倡,不易区分)
3、double 双精度浮点类型 8个字节
浮点类型的变量之间进行乘除法时,运算出来的结果是一个精度
4、float 单精度 4字节
变量初始化赋值的时候,值后面必须加f (不加f默认为双精度8字节,无法存储在float4字节 溢出 报错)
5、char 字符类型 2字节
1个汉字占两个字节 不存在负数
取值范围0-65535
最小值: '\u0000' '\uffff'
6、byte 字节类型 1个字节 Byte
取值范围:-2^7~2^7-1
可以单独定义每个变量,但是将变量a+变量b赋值给c 不可,在运算的过程中系统默认a和b都转换成整型int类型,但是赋值给c时,c为byte类型,溢出报错。解决方法可将a+b强制类型转换,或者将c改为int类型
7、short 短整型 2个字节
取值范围 -2^15-2^15-1
8、boolean 布尔类型
只有两种取值:true和false
java中布尔类型不能int相互转换,不存在1表示true,0表示false,不能和其他类型参与运算;
标准规定没有大小
9、string 字符串类型

(引用类型、不是内置类型/简单类型)
字符串+拼接
组成:由一些字符构成的字符串

字符串的拼接 +
当有字符串和其他的数据类型进行拼接的时候,整体的结果就是一个字符串的形式进行呈现,(若字符串在后面,则为a+b 30)
   int a = 10;
	int b = 20;
	System.out.println("result = " + a + b ); (结果为1020 拼接)
2)变量的作用域
1.命名
由标识符组成
标识符:字母 数字 下划线 $
不能数字开头,大小写敏感
命名采用小驼峰命名(当一个变量由多个单词组成除第一个单词其余单词首字母大写)
2、变量:程序运行期间可以改变值得
局部变量:java中局部变量一定要初始化,后使用否则编译通过
作用域:方法中 { }
3、常量:在程序运行期间,不可以改变值
1、字面常量
    如: 10 (int字面值常量)
           a (char字面值常量)
2、final关键字修饰的常量
 final:可以修饰变量 修饰函数 修饰类
4、类型转换
强制类型转换:大类型 给 小类型  
隐式类型转换: 小类型 给 大类型
类型提升:
在运算过程中,小类型会提升为表达式当中最大的类型,然后参与运算;
CPU 在存取数据的时候,以4个字节为单位进行数据的存取

二、运算符

1、基本运算符 + - * / %

如下:

/: 除
1.int/int 结果还是int
2.0不能作为除数:
会出现异常
异常:分为编译时异常和运行时异常
异常信息存放在栈中,jvm当中的一个内存(先进后出)
处理异常: try{ 放可能异常的代码 }
catch(异常类型){}
%:取模 求余
可以对小数进行求余(c语音中不可以)
System.out.println(12.0%1.5);//0.0
System.out.println(13.0%1.5);//1.0
2.赋值运算符 += -= *= /= %=

如a+=1; 等价于a=a+1

3.自增 ++
前置++和后置++ 
如果没有进行赋值操作,那么代表的是一个意思。(--相同)
当赋值的时候:
int b =a++ ;//先使用,后++ b=a,a+1
int b =++a;//先++,后使用 a=a+1 ,b=a
4.关系运算符 == != < > <= >=

所有的关系运算符都是判断:true false

5.逻辑运算符 && || !
&&逻辑与 表达式1&&表达式2 两者都为真时,整个为true
||逻辑或 表达式1||表达式2 只要有一个为真则为真
!逻辑非 !表达式 此表达式一定为布尔类型
&& ||具备短路性质:&&第一个位假,则后面不执行 ||第一个位真,则后面不执行
按位与、或 :& |

如果两个表达式均为boolean类型 那么相当于&& || 但不具备短路性质

6.位运算: & | ~ ^
按位与、或、取反、异或
&:对应位为1则1
|:对应位有1则1
~: 0->1  1->0
^:对应位相同位0不同位1
7.移位
右移>>:相当于除法 x右移n位  x/2^n
右移需要补符号位:最高位为1补1,为0补0
左移<<:相当于乘法 x左移n位  x*2^n
无符号右移>>> : 无论符号位为1还是0,都只补0
8.条件运算符
表达式1?表达2:表达式3
当表达式1的值为true时,整个表达式值为表达式2的值,为false时,整个的值为表达式3的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值