JAVA 关键字
abstract booleanbreakbyte case
catch charclassconst continue
default dodoubleelse extends
assert finalfinallyfloat for
goto ifimplementsimprot instanceof
int interfacelong native new
strictfp packageprivateprotected public
return shortstaticsuper switch
synchronized thisthrowthrows transient
try voidvolatile while
java中有三个保留字 true flase null 这三个保留字是字面量值而不是关键字
2.2标示符
java中我们需要表示代码中的很多元素,包括类名,方法,字段,变量,包名等。我们选择的名称就称
为标识符。
标示符不能是关键字或 true ,flase ,null。
标识符可以包含字母,数字0-9,下划线(-)或着美元符号( $)。
标识符的第一个字符必须是一个字母,下划线(-)或着美元符号( $)。
标识符是区别大小写的,并且没有规定最大长度。
例如 Public 虽然不会报错但是 不符合规定 如果是小写的话那就是错的
变量
变量必须声明 然后赋值 声明是会向JVM(JAVA虚拟机)申请内存区域.
变量是可以更改它的值的 什么是常量 在声明变量前面加上 final 它的值就不能改变除非你申请别的变量
强制转换符 我的理解就是 将一个单精度的值换为 整形 也可以说成将大的数转换为你所需要的那个比他的变量
例如 int x=12 doble a=4.5 x=a(不能编译成功,会提示这样会损失精度) 应该写为 x=(int)d
但是如果一个精度更大的类型变量强转为更小的类型变量,较小类型变量长度溢出那么输出结果就是那个精度更大的变量。
变量使用注意
1 长度 不同的数据类型在内存中的长度不同,如果超出范围会报错
2 初始化 变量在进行使用和运算时,必须初始化 否则会报错
3 类型不可变 定义了类型就不能放其他类型的数据,否者会报错
4 INT型的变量不要使用 float, double 来定义变量的类型,虽然没错但效率不高。
数据类型 关键字 大小 取值范围
字节型 byte1个字节(8位) -2的七次方到2的七次方-1 (-128~127)
短整型 short2个字节 16位-2的15次方到2的15次方-1(-327698~32767)
整形 int4个字节 32位-2的31次方到2的31次方-1
长整形 long8个字节 64位-2的63次方到2的63次方-1
单精度型float4个字节 32位正负1.4.23946E-45~正负3..282347E+8
双精度型double8个字节 64位正负4.9406564512466544E-324~正负79769931486231570E正负308
字符型 char 2个字节 16位\u0000~\uFFFF
布尔型 boolean 不确定由jvm决定true flase
注意类型的自动提升规则 整形中默认为int 型 如果后面加一个L 那么就会被看做long型
浮点型默认被看做double型 如果要让浮点型成为float型(单精度 例如2.7) 就必须加一个 F后缀
boolean 只有两个结果 true 和flase 但不能转换为 int 强转也不行
char类型数据所占内存大小为16位,char可以被称为整数值,可以用char类型数据执行算术运算和大小
比较运算
byte<short<int<long<float<double
字符串不是基本类型,因而需要类来表示
引用类型 除了基本类型之外的变量类型都被称为引用类型
运算符和表达式
![](https://img-blog.csdn.net/20161004195150343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
&&,|| 和 &, | 区别 并且 和,和, 之间无太大区别
或者和 或 或者只要一边成立就不看后面的 而 或会把所有的都判断完
增量和减量运算符 i++ i-- ++i -- i
i++ 执行完后面的语句在对自身进行加一
++i 先对自身进行加一在执行后面语句
移位运算符 有三种 左移运算符 << 右移运算符 >> 和 >>>
例如 45它的二进制为
0 0 1 0 1 1 0 1 1 如果向左移一次就变成了
01011010 也就是相当于将它 的值乘2
然而右移运算符一个是有符好的 >> 一个是没有符号的>>>而无符号运算符不管符号位是什么它的最高位总设为0
45 右移 00101101
变成了 00010110 也就是 23
但是如果符号为1,如同下面的二进制表示那么
11111100
![](https://img-blog.csdn.net/20161004195420379?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
比较运算符
![](https://img-blog.csdn.net/20161004195306940?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
三目运算符是 if else 控制语句的一种快捷机制,
布尔表达式 ? x:y
第一个部分是布尔表达式,后面跟一个问号, 如果结果为真就是true 假就为flase
int b=(x==5)?“yes”:“no” 判断x 是否等于5
JAVA注释
// 单行注释 写在这一行的最前面
/* 内容 */ 多行注释 里面的东西系统会无视
abstract booleanbreakbyte case
catch charclassconst continue
default dodoubleelse extends
assert finalfinallyfloat for
goto ifimplementsimprot instanceof
int interfacelong native new
strictfp packageprivateprotected public
return shortstaticsuper switch
synchronized thisthrowthrows transient
try voidvolatile while
java中有三个保留字 true flase null 这三个保留字是字面量值而不是关键字
2.2标示符
java中我们需要表示代码中的很多元素,包括类名,方法,字段,变量,包名等。我们选择的名称就称
为标识符。
标示符不能是关键字或 true ,flase ,null。
标识符可以包含字母,数字0-9,下划线(-)或着美元符号( $)。
标识符的第一个字符必须是一个字母,下划线(-)或着美元符号( $)。
标识符是区别大小写的,并且没有规定最大长度。
例如 Public 虽然不会报错但是 不符合规定 如果是小写的话那就是错的
JAVA数据类型分为 基本类型和引用类型
基本类型分为 1 整型 byte short int long
2浮点型 float double
3字符型 char
4 布尔型 boolean
引用类型分为 1 类 class
2接口 interface
3数组
JAVA数据类型
通过组合内置的数据类型和类,我们就可以创建新的数据类型。变量
变量必须声明 然后赋值 声明是会向JVM(JAVA虚拟机)申请内存区域.
变量是可以更改它的值的 什么是常量 在声明变量前面加上 final 它的值就不能改变除非你申请别的变量
强制转换符 我的理解就是 将一个单精度的值换为 整形 也可以说成将大的数转换为你所需要的那个比他的变量
例如 int x=12 doble a=4.5 x=a(不能编译成功,会提示这样会损失精度) 应该写为 x=(int)d
但是如果一个精度更大的类型变量强转为更小的类型变量,较小类型变量长度溢出那么输出结果就是那个精度更大的变量。
变量使用注意
1 长度 不同的数据类型在内存中的长度不同,如果超出范围会报错
2 初始化 变量在进行使用和运算时,必须初始化 否则会报错
3 类型不可变 定义了类型就不能放其他类型的数据,否者会报错
4 INT型的变量不要使用 float, double 来定义变量的类型,虽然没错但效率不高。
数据类型 关键字 大小 取值范围
字节型 byte1个字节(8位) -2的七次方到2的七次方-1 (-128~127)
短整型 short2个字节 16位-2的15次方到2的15次方-1(-327698~32767)
整形 int4个字节 32位-2的31次方到2的31次方-1
长整形 long8个字节 64位-2的63次方到2的63次方-1
单精度型float4个字节 32位正负1.4.23946E-45~正负3..282347E+8
双精度型double8个字节 64位正负4.9406564512466544E-324~正负79769931486231570E正负308
字符型 char 2个字节 16位\u0000~\uFFFF
布尔型 boolean 不确定由jvm决定true flase
注意类型的自动提升规则 整形中默认为int 型 如果后面加一个L 那么就会被看做long型
浮点型默认被看做double型 如果要让浮点型成为float型(单精度 例如2.7) 就必须加一个 F后缀
boolean 只有两个结果 true 和flase 但不能转换为 int 强转也不行
在java中执行数学表达式计算时有如下自动类型提升规则
所有的byte型,short型,和char型都将被提升到int型,
如果其中有一个操作数是long型,那么计算结果就为long型,
如果有一个操作数是float型,那么计算结果就是float型,
如果有一个操作数是double型,那么计算结果就是double 型
char类型数据所占内存大小为16位,char可以被称为整数值,可以用char类型数据执行算术运算和大小
比较运算
byte<short<int<long<float<double
字符串不是基本类型,因而需要类来表示
引用类型 除了基本类型之外的变量类型都被称为引用类型
运算符和表达式
&&,|| 和 &, | 区别 并且 和,和, 之间无太大区别
或者和 或 或者只要一边成立就不看后面的 而 或会把所有的都判断完
增量和减量运算符 i++ i-- ++i -- i
i++ 执行完后面的语句在对自身进行加一
++i 先对自身进行加一在执行后面语句
移位运算符 有三种 左移运算符 << 右移运算符 >> 和 >>>
例如 45它的二进制为
0 0 1 0 1 1 0 1 1 如果向左移一次就变成了
01011010 也就是相当于将它 的值乘2
然而右移运算符一个是有符好的 >> 一个是没有符号的>>>而无符号运算符不管符号位是什么它的最高位总设为0
45 右移 00101101
变成了 00010110 也就是 23
但是如果符号为1,如同下面的二进制表示那么
11111100
比较运算符
三目运算符是 if else 控制语句的一种快捷机制,
布尔表达式 ? x:y
第一个部分是布尔表达式,后面跟一个问号, 如果结果为真就是true 假就为flase
int b=(x==5)?“yes”:“no” 判断x 是否等于5
JAVA注释
// 单行注释 写在这一行的最前面
/* 内容 */ 多行注释 里面的东西系统会无视