回顾前面的章节,我们学习了(1.注释,2.标识符和关键字,3.数据类型)今天让我们继续加油。
四.变量,常量,作用域
1.变量是什么:存数的(可以变化的量)
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
-
注意事项:
①每个变量都有类型,类型可以是基本数据类型,也可以是引用数据类型。
②变量名必须是合法的标识符。
③变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
—声明------------------在银行开个户
—初始化---------------给账户存钱
—使用------------------使用账户里的钱
- 对变量的使用就是对他所存的那个数的使用
- 变量在使用前必须声明并初始化
public static void main(String[] args{
//声明变量并赋值(变量的初始化相当于第一次赋值)
int a = 5;
//int b =1,c = 2,d = 3;//程序可读性
String name = "小吴";
char x = ‘x’;
double pi = 3.14;
}
}
2.常量
常量是不能被改变的量,它和变量的性质完全相反。Java使用关键字final来声明常量,并且在声明之后,只能初始化一次。
语法:final 数据类型 常量名[=值]
//常量名一般使用大写字符
final double PI = 3.1415926; //π值
final String ITEM_NAME = "进销存管理系统"; //项目名称
final COMMAND_CLOSE = 908; //命令代码
3.变量的命名规范
- 所有变量,方法,类名:见名知意。
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
五.运算符
Java语言支持如下运算符
- 算术运算符:“+”,“-”,“*”,“/”,“%”,“++”,“–”。
- 赋值运算符:“=”,“+=”,“-=”,“*=”,“/=”
- 关系运算符(关系运算符):“>”,“<”,“==”,“>=”,“<=”,“!=”。
- 逻辑运算符:&&,||,!
- 三元运算符 ?:
- 位运算符:&,|,^,~,>>,<<,>>>(了解即可!!!)
//1)算术运算符
int a=4,b=5;
//+
int c =a+b;//c=9
//-
int c = b-a;//c=1
//*
int c = b*a;//c=20
//"/"
int c = b/a;//c=1,数据类型是int,所以无条件舍去小数
//‘%’取余
int c = b%a;//5/4 = 1.......(1)取后面的余数
//++,-- 在这里,有点绕总结下来就是:
//前:现加后用
//后:先用后加
++a;//5
a++;//先使用他本身的值4,再加1变成5
//2)赋值运算符
//“=”
int a = 4;//将4赋值a
//“+=”,
a+=1;//a=a+1;将a+1的值赋值给a
//“-=”,"*=","/="
...
//3)关系运算符:“>”,“<”,“==”,“>=”,“<=”,“!=”
int a = 5, b = 10, c = 5;
boolean b1 = a > b;
System.out.println(b1);//false
System.out.println(c < b);// true
System.out.println(b >= a);// true
System.out.println(a <= c);// true
System.out.println(a == c);// true
System.out.println(a != c);//false
System.out.println(a + c > b);//false
System.out.println(a % 2 == 0);//false
System.out.println(a++ > 5);//false.........自增为6
System.out.println(a++ > 5);//true
// int a = 5, b= 10,c = 5;
//4)逻辑运算符
&&:逻辑与(并且)两边都为true才为true,见false为false
boolean b1 = b>=a && b<c;
System.out.println(b1);//true&&fales=false
System.out.println(b<=a && b>c);//false&&true=false
System.out.println(a==b && c>b);//false&&false=false
System.out.println(b!=c && a<b);//true&&true=true
||:逻辑或(或者)有真则真,见true为true
System.out.println(b>=a || b<c);//true||false=true
System.out.println(b<=a || b>c);//false||true=true
System.out.println(b!=c || a<b);//true||true=true
System.out.println(a==b || c>b);//false||false=false
!:逻辑非(取反)
boolean b2 = !(a<b);
System.out.println(b2);//!true=false
System.out.println(!(a>b));//false=true
boolean b4 = a<b || c++>2;//第一个条件为true时短路
System.out.println(b4);//true
System.out.println(c);//5.发生了短路
//5)三元运算符
格式:条件式?值1:值2
int x = 1;
int y = 2;
int num = x<y?10:20;
//当x<y的值为true时,输出值1为10;
//当x<y的值为false时,输出值2为20;
int num = 0;
int flag = num>0?1:-1;
System.out.println(flag);//-1
int a= 8,b=55;
int max = a>b?a:b;
System.out.println("max="+max);//55
//常见面试题
short s = 5;
// s = s +10;编译错误,需要强转,改为s=(short)(s+10);
s += 10;//相当于:s=(short)(s+10);
int a = 5;
a+= 10;//相 当于a=(int)(a+10);
System.out.println(a);//15
a*= 2;//相当于a=(int)(a*10)
System.out.println(a);//30
a/= 6;//相当于a=(int)(a/10)
System.out.println(a);// 5
//连接运算符(补充)
int age =38;
System.out.println("age=");//age=
System.out.println(age);//38
System.out.println("age="+age);//age=38
System.out.println("我的年龄是"+age);//我的年龄是38
System.out.println("我今年"+age+"岁了");//我今年38岁了
String name = "jpf";
System.out.println("name="+name);//name=jpf
System.out.println("大家好,我叫"+name);//大家好,我叫jpf
System.out.println("大家好,我叫"+name+".今年"+age+"岁了");//大家好,我叫jpf.今年38岁了
System.out.println(10+20+""+30);//3030-----------String
System.out.println(""+10+20+30);//102030---------String
System.out.println(10+20+30+"");//60-------------String
*/
(今天与昨天写的内容将Java语言基础知识总结完了,(如果有什么错误,希望小伙伴们可以指出来,让我及时更正)。明天我们继续学习Java的流程控制)