java中常量的分类:
整体常量。有整数
小数常量。所有小数
布尔类型常量。较为特有,只有两个数值。true和false
字符常量。将一个数值字母或符号用单引号('')标识
字符串常量。将一个或多个字符用双引号标识
null常量。只有一个数值就是:null
对于整数:java有三中表现形式
十进制:0-9,满10进1
八进制:0-7,满8进1,用0开始表示
十六进制:0-0,A-F,满16进1,用0x开头表示
进制的基本转换
• 十进制
二进制 互转
• 十进制转成二进制
除以2取余数
• 二进制转成十进制 乘以2的幂数
• 十进制 八进制 互转
• 十进制 十六进制 互转
• 负数的二进制表现形式
• 对应的正数二进制取反加1
变量的概念
• 内存中的一个存储区域
• 该区域有自己的名称(变量名)和类型(数据类型)
• 该区域的数据可以在同一类型范围内不断变化
为什么要定义变量
用来不断的存放同一类型的常量,并可以重复使用
使用变量注意:
变量的作用范围(一对{}之间有效)
初始化值
定义变量的格式:
数据类型 变量名 = 初始化值;
注:格式是固定的,记住格式,以不变应万变
理解:变量就如同数学中的未知数
java语言是强类型语言,对于每一种数据定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
整数默认:int 小数默认:double
自动类型转换(也叫隐式类型转换)
强制类型转换(也叫显式类型转换)
表达式的数据类型自动提升
所有的byte型、short型和插入的值将被提升到int型
如果一个操作数是long型,计算结果就是long型;
float型和double同理
分析
System.out.println('a')与System.out.println('a'+1)的区别
自动类型提升
byte b = 3;
int a = 4;
x = x +b;//b会自动提升为int类型进行运算
强制类型转换
byte b1 = 3;
b f= b+4;
b = (byte)b+4;//强制类型转换,强制将b+3的结果转换为byte类型,再赋值为b
算术运算符
赋值运算符
比较运算符
逻辑运算符
三元运算
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模 数是负数就另当别论。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
符号:=,+=,-=,*=,/=、%=
如:int a,b,c ;a=b=c;
int a =3; a+=5;//等同于运算a=a+5;
注1:比较运算符的结果都是Boolean型,也就是要么是true,要么是false
注2:比较运算符“==”不是误写成“=”
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那 么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算
异或( ^ )与或( | )的不同之处是:当左右都为true时, 结果为false。
格式
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
示例
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。