变量常量和运算符
一、变量
1.局部变量
在方法中使用,必须声明和初始化值
例:
package Variable;
public class test01 {
public static void main(String[] args) {
//局部变量用于方法区间里
int a =6;
System.out.println(a);
}
}
2.类变量
关键词:static
例:
public class Test02 {
//类变量,全局变量
static double PI =3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
可以在class类中直接引用
3.实例变量
从属与变量的对象,如果不自行初始化,这个类型的默认值为0,0.0,布尔值的默认值为false,除了基本类型其余的都是null
例:
public class Test03 {
String name ;
int age ;
public static void main(String[] args) {
//相当于声明了一个类型为Test03 的对象,名字为test03
Test03 test03 =new Test03();
System.out.println(test03.name);
System.out.println(test03.age);
}
}
因为没有给name和age赋值因此输出值为默认值
null
0
二、常量
初始化之后不能再改变值,不会变动的值
常见为:
final 常量名 = 值
常量名一般为大写字符
例:
public class Test04 {
//常量
//static和final都是修饰符,不存在先后顺序,位置可换
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
- 注意所有的变量,方法,类名,都需要: 见名知意!!!
三、运算符
1.算数运算符
加:+ 减:- 乘:* 除:/ 取余:% 自增:++ 自减:–
例:
public class Test01 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 11;
int d = 2;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println((double)a/b);//若不转换为double,则输出结果为0
System.out.println(c%d);//取余又叫模运算 相当于c/d 即11/2=5。。。。1 余数为1
System.out.println("======================================================");
/* 不同类型的算数运算
如果运算中有long和double那么结果一定是这两个
其余不同类型的运算结果均为int */
long o =123456789L;
int p =123;
byte q =12;
short r =1;
System.out.println(o+p+q+r); //long
System.out.println(p+q+r); //int
System.out.println(q+r); //int
}
}
自增和自减单独举例
例:
public class Test02 {
public static void main(String[] args) {
//++ -- 就是自增和自减
//一元运算符(只对一个表达式执行操作,该表达式可以是数值数据类型类别中的任何一种数据类型)
int a =1;
int b =a++; //a++意思是:a=a+1 但是这个是执行代码前,先给b赋值,再进行自增
System.out.println(a);
int c =++a; //++a意思也是:a=a+1 这个不同的是执行代码后,先自增,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println("==========================");
/*幂运算 2^3 2*2*2=8
很多时候我们需要借助工具类来操作
这里可以借助工具类math */
double pow =Math.pow(2,3);
System.out.println(pow);
}
}
输出值:
2
3
1
3
8.0
注意:注意观察代码位置和输出,一定要注意++的位置,++在前先自增再赋值,++在后先赋值再自增。
2.关系运算符
即:> < >= <= == !=(这个为不等于)
例:
public class Test03 {
public static void main(String[] args) {
//关系运算符的输出结果:正确or错误 输出结果为布尔值
int a = 1;
int b = 2;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a<=b);
System.out.println(a>=b);
System.out.println(a!=b);//!= 就是不等于的意思
}
}
3.逻辑运算符
即:&&(与) ||(或) !(非,就是取反,不是这个就是那个)
例:
public class Test04 {
public static void main(String[] args) {
/*逻辑运算符
与(and) 或(or) 非(取反)
*/
boolean a =true;
boolean b =false;
System.out.println("a&&b:"+(b&&a));//与运算:两个变量都为真,则结果才为真
System.out.println("a||b:"+(b||a));//或运算:两个变量有一个为真,结果才为真
System.out.println("!(a&&b):"+!(b&&a));//非运算:如果是真则变为假,如果是假则变为真
System.out.println("====================================");
//短路运算
int c = 1;
boolean d =(c<0)&&(c++>1);
System.out.println(d);
System.out.println(c);//因为前面的c<0是错误的,所以后面的c++不执行,c的值还是为1
}
}
逻辑运算的输出结果也是布尔值
这里多加了个短路运算的问题,当运算程序时判断了为false,就不会执行后面的代码
4.条件运算符
即:?:
例:
public class Test06 {
public static void main(String[] args) {
/*三元运算符 条件运算符 ? :
x ? y :z
如果x为真,即x==true,则结果为y,反之结果为z
*/
int a = 6;
String b = a<5 ? "合格":"不合格";
System.out.println(b);
}
}
5.补充
- 字符串的连接
例:
public class Test05 {
public static void main(String[] args) {
//字符串连接 +
int a = 10;
int b = 20;
System.out.println(""+a+b);//如果先出现string的类那么会把他们连接起来
System.out.println(a+b+"");
}
}
输出结果:
1020
30
- 扩展赋值运算符(偷懒写法)
就直接+= -= *= /=
例:
public class Test07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;//就是a = a + b的意思
System.out.println(a);
}
}
输出结果:
30
建议自己学习阶段不要偷懒