变量
何为变量?顾名思义,就是可变化的量。
变量包括了变量名,变量类型,作用域。
格式 :变量类型 + 变量名字
如:
long a= 12132156L;
int b=123;
short c=10;
byte d=8;
变量的三种作用域
-
类变量
-
实例变量
-
局部变量
//属性:变量 //类变量 static修饰 static double salary=2500; //布尔值:默认是false //除了基本类型,其余的默认值都是null //实例变量:从属于对象;如果不进行初始化,会出现这个类型的默认值 String name; int age; //main方法 public static void main(String[] args) { //局部变量;必须声明和初始化值 int i=10; System.out.println(i); //变量类型 变量名字 Demo07 demo07 = new Demo07(); System.out.println(demo07.age); System.out.println(salary); }
常量
初始化后不能改变的,不会变动的值叫常量
//修饰符不存在先后顺序 static final double PI =3.14;
命名规范
1、项目名全部小写.
2、包名全部小写.
3、类名首字母大写,其余组成词首字母依次大写.
4、变量名,方法名首字母小写,如果名称由多个单词组成,除首字母外的每个单词的首字母都要大写.
5、常量名全部大写.
6、所有命名规则必须遵循以下规则 :- 名称只能由字母、数字、下划线、$符号组成.
- 不能以数字开头.
- 名称不能使用Java中的关键字.
- 坚决不允许出现中文及拼音命名.
### 运算符
- 算术运算符
- 关系运算符
- 位运算符
- 逻辑运算符
- 其他运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
long a= 12132156L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//;long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
关系运算符
//关系运算符返回的结果 : 正确,错误 布尔值
int a=10;
int b=20;
int c=21;
//取模 模运算
System.out.println(c%a); // c/a 21/10 =2...1
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
逻辑运算符
//与 (and) 或 (or) 非(取反)
boolean a =true;
boolean b =false;
System.out.println("a&&b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真
System.out.println("a||b:"+(a||b));//逻辑与运算:两个变量有一个为真,结果为真
System.out.println("!(a&&b):"+!(a&&b));//如果真,则变假
//短路运算
int c =5;
boolean d =(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
位运算符
/*
A = 0011 1100
B = 0000 1101
A&B=0000 1100
A|B=0011 1101
A^B=0011 0001 //相同为0不同为1
~B= 1111 0010
2*8 = 16 2*2*2*2
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
输出结果为:16
解析:0000 0010 左移3位变成 0001 0000
三目运算符
// x ? y : z
//如果x==true ,则结果为y,否则为z
int score =80;
String type = score<60?"不及格":"及格";
System.out.println(type);
输出结果:及格
优先级
一般而言,单目运算符优先级较高,赋值运算符优先级较低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。
使用优先级为 1 的小括号可以改变其他运算符的优先级,即如果需要将具有较低优先级的运算符先运算,则可以使用小括号将该运算符和操作符括起来。