一、变量
1、JAVA是一种强类型语句,每个变量都必须声明其类型
2、JAVA变量是程序 中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value] [,varName{[=value]}]
//数据类型 变量名 值 多个变量可以用逗号隔开,但不建议这么做
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是合法的标识符
变量声明是一条完整的语句,因此第一个声明都必须用分号结束
二、变量作用域
1、类变量:在类里面定义的变量,在变量前加个static,如 static int a=0
2、实例变量:与类变量似,只是不用加static
3、局部变量:方法里面定义的变量
public class Demo01 {
//类变量 static
static double salary = 2500;
// 属性:变量
//实例变量:从属于对象,如果不初始化,就输出这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是false
String name;
int age;
//main 方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo01();
Demo01 demo01 = new Demo01();
System.out.println(demo01.age);
System.out.println(demo01.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
三、常量
1、常量(constant):初始化后不能再改变值 ,不会变动的值,值被设定后,在程序运行中不能被改变
2、常量名一般使用大写
final double PI = 3.14
类似final的修饰符,不存在先后顺序
四、变量的命名规范
1、所有变量、方法、类名要见名知义
2、类成员变量:首字母小写和驼峰原则:monthSalary ,即单词首个字母小写,后面的单词首个字母大写
3、局部变量:首字母小写和驼峰原则
4、常量:大写字母和下划线:MAX_VALUE
5:类名:首字母大写和驼峰原则:Mon,MonYear
6:方法名:首字母小写和驼峰原则:runMan()
快捷操作:ctrl+d 快速复制一行代码到下一行
五、运算符(operator)
1、运算时,运算结果的数据类型和数据类型最高的一类保持一致
public static void main(String[] args) {
long a=10L;
int b=20;
short c=30;
byte d=40;
System.out.println(a+b+d); //结果为long类型
System.out.println(b+c+d); //结果为int类型
System.out.println(c+d); //结果为short类型
System.out.println(c+(double)d); //结果为DOUBLE类型
2、a++与++a的区别
long a = 10L;
long f = a++; //先把值赋给f,再执行 a=a+1
System.out.println(a);
System.out.println(f);
long e = ++a; //先执行 a=a+1,再把运算后的值赋给e
System.out.println(a);
System.out.println(e);
3、逻辑运算符
&&:逻辑与运算,两个变量都为真,结果才为真
||:逻辑或运算,两个变量只要有一个真,结果就为真
!:逻辑非运算,变量为真,则结果为假
短路运算,如下:
public class Demo03 {
public static void main(String[] args) {
boolean a=false;
boolean b=true;
int c=1;
//短路运算
// boolean d= a && (c++<1); 直接用false替代的话,后面还是会参与运算
boolean d= (c<1) && (c++<1); //当前面C<1为false时,&&后面的部分将不再进行判断和运算
System.out.println(c);
System.out.println(d);
}
}
4、位运算(&,|,^,<<,>>)
public class Demo03 {
public static void main(String[] args) {
/*
* 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
* >> 右移,相当于/2
* */
}
}
5、扩展赋值运算符(+=,-=,+)
public class Demo04 {
public static void main(String[] args) {
int a=10;
int b=20;
a+=b; //等同于 a=a+b
a-=b; //等同于 a=a-b
//字符串连接
System.out.println(a+b); //两个变量值相加
System.out.println(""+a+b); //在前面加个空字符串,+号会变成连接符号,结果为1020
System.out.println(a+b+""); //在后面加个空字符厦,前面数值的部分仍旧计算,后面部分转换为字符拼接
}
}
6、三元运算符(?:)
public class Demo04 {
public static void main(String[] args) {
int a=80;
String salary= a<60?"不及格":"及格"; //类似if的功能,如果a<60,则输出不及格,否则输出及格
System.out.println(salary);
}
}