变量 运算符 流程控制

1.数据类型 : 基本数据类型和引用数据类型

基本数据类型:数值型、整数型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。
引用数据类型:类、数组、接口

2.类型转换

 1.八种基本数据类型,除了Boolean以外,都可以进行转换
 2.低精度向高精度是自动转换
 3.高精度向低精度是强制转换
 
 自动类型转换
 byte-->short-->int-->long-->float-->double
  			   char-->
  
 其他需要使用强制类型转换
 强制转换可能损失精度,造成数据不准确	

3.转义符 把有意义字符转换为无意义的字符

  转义符的作用 由来
  比如char用 '' 单引号表示并且只能出现一个字符
  若向输入 ' 单引号怎么办   采用转义符
   
   Java中: \ 表示转义符
   					\t:制表符
   					\\:转义转义符
   					\r\n:换行符

4. 常量:整个程序生命周期中,值不能更改

		       又叫字面量,直接量
         
 拥有数据类型: 整数默认 int 
		     小数默认double
 Final 修饰的常量

5.变量声明:数据类型 变量名;

变量定义: 数据类型 变量名 = 赋值
数据类型划分内存空间 给空间命名 赋值(把数据保存到空间中)
域:空间范围,内存的划分
一个 {} 大括号就是一个作用域
变量的作用范围,向上不能跨出碰见的第一个作用域,但是向下可以穿透在其内部的大括号

6.变量分类:

局部变量:方法内部声明的变量是局部变量
静态变量:类体中使用static修饰的变量是静态变量
成员变量:类体中没有使用static修饰的变量是成员变量

7.变量调用:

局部变量:当前方法中,声明之后,直接写变量名即可实现调用
静态变量:类名.静态变量名
当前类中调用当前类的静态变量变量是,类名可以省略。编译之后,JVM会自动补齐类名调用
成员变量:对象引用.成员变量名

8.默认值

局部变量没有默认值,必须先初始化赋值之后,才能使用
静态变量和成员变量 有默认值
整型:0 浮点型:0.0 布尔型: false 字符型 :\u0000 引用类型:null

9.运算操作符 + - / * – ++

运算符优先级 单目(运算优先级最高)>双目>三目
k++ 和 ++k 的区别
k++ :使用的是++之前的值
++k:使用的是++之后的值
++ 的优先值大于双目和三目

10.位运算

& 位与,两边都为true,结果为true;也可以两边都是数字
| 位或,一边为true,结果为true
! 位非,取反 !true就是false
^ 异或,两边不一样就是true
~按位非,转换为二进制,然后取反

11.逻辑比较

&&:短路与,且,如果第一个为假,第二个表达式不执行,结果为假
||:短路或,或,如果第一个为真,第二个就不执行,结果为真

:右移运算符(考虑符号位,符号位不移动,正数就是正数,负数就是负数)
8>>n:右移就等于8/2^n
<<:左移运算符(不考虑符号位),向最左边补0

:右移运算符(不考虑符号位)
如果是正数和>>没有区别,因为最前面都是0
但是负数就不一样了,>>只会在符号位之后补1,而>>>在符号位之前补0
所以-1>>>1就成了2147483647

12.关系运算符

运算结果为boolean型(true/false),布尔型表达式

= < <=
:=是赋值操作,Java中判断相等使用
如果是基本类型,比较值的大小
如果是引用类型,比较内存地址
!=:不等于
常用于流程控制
13.全局变量
全局变量的概念 : 允许在类之外创建变量,和类同级别,那么所有的类都可以直接访问该变量,不需要二次引用
所谓二次引用,就是没有使用 . 操作符 xxx.xxxxx
首先 java不允许在类之外创建变量,但是可以将一个类的变量设置为public static修饰的,那么其他类就可以通过 该类的类名.变量名 来进行访问
全局变量的确定 : 安全性较差,容易命名冲突
所以 Java引入了包概念,引用一个变量的时候必须通过该包和类才能访问

猜你喜欢

转载自blog.csdn.net/MIRACLE_Ying/article/details/112065327
今日推荐