数据类型
一,整数类型
在Java中有三种:
八进制:必须以0开头
十进制:不能以0开头,0除外
十六进制:必须以0X或者0x开头
使用long时,需要在数字后面加上L或者l
long num = 214748650L;
二,浮点类型
在默认情况下,小数都被看做double类型,若使用float型小数,则需要在小数后面添加F或者f,已使用后缀D或者d来表明这是一个double类型数据,不加d不会出错,但声明float型变量时如果不加f,系统会认为变量是double类型而出错,下面举例,
float f1 = 13.23f;
double d1=4562.12d;
double = 14589.1563D;
三,字符类型
字符类型(char)用来存储单个字符,占用16位(两个字节)的内存空间,在定义字符变量时要用单引号表示,
例如 char = 'a';由于a在Unicode表中排序位置是97,因此也允许写成
char x=97;
四,布尔类型
布尔类型又称为逻辑类型,通过关键字boolear来定义布尔类型变量,只有true和false两个值,分别代表真和假,布尔值不能与整数类型进行转换
五,标识符和关键字
标识符可以简单的理解为一个名字,用来标识类名,变量名,方法名,数组名,文件名的有效字符序列
Java中规定标识符由任意顺序的字母,下划线_ 美元符号$和数组组成,并且第一个字符不能为数字,表示符不能是Java的关键字
关键字 | 含义 |
abstract | 表明类或者成员方法具有抽象属性 |
assert | 用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循 IEEE 754 算术规范 [1] |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
六变量常量
变量的命名规范:
变量名必须是一个有效的标识符
变量名不可以使用Java中的关键字
变量名不能重复\
见民知道意思
int age;//声明int 型变量
char char1= 'r';//声明char型变量并赋值(初始化)
常量(constant)也被称为final变量,,常量在整个程序中只能被赋值一次,但为所有的对象共享,常量非常有用,常量除了指定数据类型外,还需要通过final关键字来限定,声明语法如下
语法: final 数据类型 常量名称[=值]
ps final double PI=3.1415926D;
七 变量的有效范围
变量分为成员变量和局部变量
七.运算符
赋值运算符 =
算数运算符 +(加) -(减) *(乘) /(除) %(求余)
自增自减运算符
八,逻辑运算符
逻辑 与 &(&&)
逻辑或 ||
逻辑非 !
表达式 1 | 表达式 2 | 表达式 1 && 表达式 2 | 表达式 1 || 表达式 2 | ! 表达式 1 |
true | True | True | True | False |
True | False | False | True | False |
False | False | False | False | True |
False | True | False | True | True |
使用"&"会判断两个表达式;而使用"&&"则是针对boolean类型的进行判断,当第一个表达式为FALSE时不会去判断第二个表达式,,直接输出结果节省计算机判读次数
九.位运算符
1 "按位与"运算,运算符"&",为双目运算符,法则: 如果两个整型数据a,b对应位都是1,则结果位才是1,否则为0;
2 " 按位或"运算,运算符"|",为双目运算符, 法则:如果两个操作数对应位都是0,则结果位才是0,否则为1;
按位与 00000000 00000000 00000000 00000101
111111111 111111111 111111111 111111100
输出
00000000 00000000 00000000 00000100
按位或 00000000 00000000 00000000 00000011
00000000 00000000 00000000 00000110
输出
00000000 00000000 00000000 00000111
3 "按位取反"运算,运算符"~",为单目运算, 法则:将二进制中的1修改为0
4 "按位异或"运算,运算符"^",为双目运算, 法则:当两个数的二进制表示相同时,结果为0,否则为1,若两个操作数的精度不同,则结果数的精度与精度高的操作数相同
5 移位操作 <<左移 >>右移 >>>无符号右移
十 :三元运算符
语法: 条件式?值1:值2
当条件式满足时,执行值1,否则执行值2
十一:运算符优先级
通常优先级由高到低的顺序依次是:
增量和减量运算 > 算术运算 > 比较运算 > 逻辑运算> 赋值运算
十二 ;数据类型转换
隐式转换
从低级类型向高级类型转换,系统将自动执行,这种类型转换称为隐式转换;这种转换按精度从低到高顺序为:byte <short<int<long< float<double,转换之后的结果数据类型将显示高级类型;
显式转换
当把精度高的变量的值赋值给低精度的变量时,必须使用显式转换又称强制转换
语法:(类型名)要转换的值
ps int a = (int)45.23 //输出结果45
long y = (long)456.6F; //输出结果456
int b = (int) 'b';//输出结果为100