文章目录
前言
同样的,常量变量以及运算符这些也是我们学习Java必不可少的一部分基础知识!最后的一点是包机制,为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
一、变量以及常量
1.变量
数据类型 变量名 = 值 ;可以使用逗号隔开声明多个类型变量
//int a,b,c; //int a=1,b=2,c=3;//程序可读性 String name="xiaoyi"; char x='X'; double pi=3.14;
2.变量作用域
(1)局部变量;必须声明和初始化值(是在方法里的,出了方法不能用)
(2)实例变量 从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 u0000
布尔值:默认是false
除了基本类型,其余的默认值都为null
(3)类变量 static
3.常量
常量的值设定后,在程序运行过程中不允许被改变。
final 常量名=值;
常量名一般用大写字符
//修饰符,不存在先后顺序 final static double PI=3.14;
4.变量命名规范
所有变量,方法,类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()
二、运算符
1.基本运算符
(1)加减乘除
int a=10; int b=20; int c=30; int d=40; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println((double) a/b);
(2)如果有不同类型的混合运算,则自动升为混合运算类型中最高类型
long a=123123123123123L; int b=123; short c=10; byte d=8; System.out.println(a+b+c+d);//有long就是long(如果有double就是double) System.out.println(b+c+d);//都是整形(符合优先级类型) System.out.println(c+d);//int
(3)关系运算符返回的结果:正确,错误 布尔值
int a=10; int b=20; int c=21; System.out.println(a>b);//false System.out.println(a<b);//true System.out.println(a==b);//flase System.out.println(a!=b);//true System.out.println(c%a);// c/a 21/10 =2....1 (模运算)
2.自增自减 幂运算 扩展运算符
(1)自增自减
//++ -- 自增,自减 一元运算符 int a=3; int b=a++; //执行完这行代码后,先把a的值赋给b,再自增 //a++ a=a+1(相当于先b=a,再a=a+1) System.out.println(a); //++a a=a+1(相当于先a=a+1,再c=a) int c=++a; //执行完这行代码前,先自增,再给c赋值
(2)幂运算 2^3(没有这个符号) 2*2*2=8 很多运算,使用工具类来操作
double pow = Math.pow(2, 3); System.out.println(pow);
(3)扩展运算符 += -= *= /=
int a=10; int b=20; a+=b;//a=a+b a-=b;//a=a-b//字符串连接符 + String类型 System.out.println(a+b); System.out.println(""+a+b);//1020 拼接在一起 System.out.println(a+b+"");//30
3.逻辑运算符 位运算符 三元运算符
(1)逻辑运算符有 与(&&)或(||)非(!)
逻辑与运算:两个变量都为真,结果才为true
逻辑或运算:两个变量有一个为真,结果则为tr
如果是真,则变为假,如果是假,则变为真
逻辑与运算会出现短路运算:即如果前面为错就不会继续执行后面的。
int c=5; boolean d=(c<4)&&(c++<4);//(c<4)恒为错,就不会继续执行后面的, System.out.println(d); System.out.println(c); //运行结果为 d=false c=5(如果执行了后面的那么c应该为6)
(2)位运算
与运算:只有两个都是1才是1,否则为0
或:如果都是0则为0,否则为1
异或运算:两者相同则为0,否则为1
取反
A=0011 1100 B=0000 1101 ----------------------------------------------------- A&B =0000 1100 (与运算,只有两个都是1才是1,否则为0) A|B =0011 1101 (或,如果都是0则为0,否则为1) A^B =0011 0001 (异或运算,两者相同则为0,否则为1) ~B =1111 0010 (取反)2*8=16 2*2*2*2 效率高 <<(左移) 相当于把数字*2 >>(右移) 相当于把数字/2
(3)三元运算符
x?y:z 如果x==true,则结果为y,否则为z
三、包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
一般利用公司域名倒置作为包名 例如 com.xiaoyi.www
右击src 新建一个package包即可
假设想要导入一个包里的所有类,但这个包中类有很多
可以 import com.xiaoyi.struct.*; (导入这个包中的所有类)