常量
用关键字final声明常量
final double M=3.14;
final表示这个变量只能赋值一次,复制后不可更改,通常用大写
tip:
1.可能某个常量希望:一个类多个方法总使用,叫类常量,用static final
2.类常量definition在main外部,所以同一个类其他方法可以使用
3.常量被声明为public,其他类的方法也可以使用
如下面的Constantexample.M
public class Constantexample{public static final double M=2.54;public static void main(String[] args){double width=8.5;double height=11;System.out.println("paper size in centimeter"+width*M+height*M);}}
变量
由类型和变量名构成
同时指明变量的作用范围
变量名规定:
1.必须由Unicode字符集(16位编码)中字符构成(ASCII是7位)
2.不能用keyword
3.同一作用范围内不能有相同名字的俩变量
4.不同作用范围名可以一样(变量声明时决定)
Java标识符
java标识符就是在java程序中给变量,类,方法等命名的符号
由字母下划线 _美元 $构成
首位不能是数字
数据类型
分基本类型(primitive type)和引用类型(数组、类、接口)
数组性变量本身不存储实际的值,本身代表指向内存中的存放实际数据的位置
null类型没名字,不能声明null类型变量,通常表述为空类型
primitive type基本类型
4整数+2浮点+1字符+1布尔
注意:
Java的boolean只有true/false,不同于C可以用1/0
Boolean可以直接或者间接赋值
public class boolexample{public static void main(String[] args){boolean b;b=false;//直接赋值boolean Myboolean;Myboolean=2>1;b=Myboolean;//间接}}
println输出boolean时,结果显示“true/false”
用if时:if(b==true)
另外注意运算符的优先级
转义字符escape characters
数据转换
不同类型数据转换为同类型之后进行运算
自然转换原则:低级向高级转换
byte—short—int—long—float—double char—>int
int a;byte b;b=(byte)a;//把int的a强制换byte
尝试分析下面的式子运算过程
x+=x+++(x+++m);
示例
逻辑运算
二元运算符:逻辑与(&&)、逻辑或(||)
一元运算符:逻辑非(!)
条件运算符
三元运算符:expression1?expression2:expression3
位运算
一元:按位取反(~)
二元:按位与(&)、按位或(|)、按位异或(^)、按位右移(>>)、按位左移(<<)、填零右移或叫无符号右移(>>>)
注意
1.没有<<<
2.左移多出部分社旗
3.左移不溢出时,左移n位,相当于a*2^n
4.1移进高位变负值
5.右移时,正数左端补0,负数左端补1,符号保持不变
6.-1右移的结果永远为-1
7.无符号右移,操作对象为无符号位,低舍去高补零
int a =-1;a=a>>>24;
11111111 11111111 11111111 11111111 (>>>24) 00000000 0000000 00000000 11111111