Day04-变量、常量、运算符、包机制
变量、常量
变量
public class variable{
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
//布尔值:false
//除了基本类型,其余的默认值都是null;
String name;
int age;
//类变量 static
static double salary = 2500;
//main方法
public static void main(String[] args){
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
}
}
常量
-
常量:初始化后不能再改变值!不会变动的值
-
常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变
-
final 常量名 = 值; final double PI = 3.14; -
常量名一般使用大写字符
public class constant{
//修饰符,不存在先后顺序
static final double PI = 3.14;
final static double PI2 = 3.14;
public static void main(String[] args){
System.out.println(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 方法名:首字母小写和驼峰原则
- 常量:全部大写字符和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:GoodMan
变量作用域
public class Variable{
static int allClicks = 0; // 类变量
String str = "hello world"; // 实例变量
public static void main(String[] args){
int i = 0; // 局部变量
}
}
运算符
Java支持的运算符
- 算术运算符:+, -, *, /, %, ++, --
- 赋值运算符:=, +=, -=, *=, /=
- 关系运算符:>, <, >=, <=, ==, !=, instanceof
- 逻辑运算符:&&, ||, !
- 位运算符:&, |, ^, ~, >>, <<, >>>
- 条件运算符:?, :
运算类型规则
byte,short,char混合运算,各自先转换成int再运算
多种数据类型混合运算,先转换成最大容量的再运算
自增自减运算符
public class Demo{
public static void main(String[] args){
// ++ -- 自增自减,一元运算符
int a = 3;
int b = a++;//运算符在后,先赋值再自增
int c = ++a;//运算符在前,先自增再赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
}
}
逻辑运算符,位运算符
逻辑运算符
public class Demo{
public static void main(String[] args){
// 与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:" + (a && b);//false 逻辑与运算:两个变量都为真,结果才为真
System.out.println("a || b:" + (a || b));//true 逻辑或运算:两个变量有一个为真,结果为真
System.out.println("!(a && b):" + !(a && b));//如果是真,则变真为假;如果是假,则变假为真
// 短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//c依然是5,因为c<4 为false,直接判断出最终结果为false,后面的c++不执行
}
}
位运算符
public class Demo{
public static void main(String[] args){
/*
A = 0011 1100
B = 0000 1101
_____________________________________________
A&B =0000 1100 A和B两个为1才为1,一个为1就为0
A|B =0011 1101 A和B其中一个为1就为1
A^B =0011 0001 A和B两个相同为0,否则为1
~B =1111 0010 非,位数相反
*/
//—————————————————————————————————————————————
/*
EX:
<<左移 >>右移
效率极高!!!!
System.out.println(2<<3);输出为16
0000 0000 0
0000 0001 1
------------------------------
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
将二进制左移3位即为16
}
}
三元运算符
x ? y : z
如果x==true,则结果为y,否则结果为z
包机制
包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名
- 导入某一个包,使用“import”
import package1[package2...].(classname 或者 *);
浙公网安备 33010602011771号