变量
可以变化的量
注意事项:
1.每个变量都有类型,类型可以是基本类型,也可以是引用类型
2.变量名必须是合法的标识符
3.变量声明是一条完整的语句,因此每一个声明都必须以分号结束
Java变量是程序中最基本的存储单元,其要素包含变量名、变量类型和作用域
变量作用域
类变量
实例变量
局部变量
public class Demo08 {
//类变量 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);
//变量类型 变量名字 = new Demo08();
Demo08 Demo08 = new Demo08();
System.out.println(Demo08.age);
System.out.println(Demo08.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量
常量:**初始化后就不能再改变值!**不会变动的值
写法: final 常量名 = 值;
final PI = 3.14;
常量名一般使用大写字母
public class Demo09 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
final static int ZERO = 0;
public static void main(String[] args) {
System.out.println(PI);
System.out.println(ZERO);
}
}
变量的命名规范
所有变量、方法、类型:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary 除了第一个单词后面单词首字母大写
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runMan()
运算符
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//Ctrl + D :复制当前行到下一行
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);
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 123123123123L;
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
}
}
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果: 正确,错误 布尔值
int a = 10;
int b = 20;
int c = 21;
System.out.println(a > b);
System.out.println(a < b);
System.out.println(a == b);
System.out.println((a != b));
System.out.println(c % a); //c / a 21 / 10 = 2 ...1
}
}
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增 自减
int a = 3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
// a++ a = a + 1
System.out.println(a);
int c = ++a;//a先自增,再给c赋值
System.out.println(a);
System.out.println(a);
System.out.println(b);
System.out.println(b);
System.out.println(c);
System.out.println(c);
//幂运算 2^3 2*2*2
double pow = Math.pow(2,3);
System.out.println(Math.pow(2,3));
System.out.println(pow);
}
}
package operator;
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
//与(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);
}
}
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A & B 0000 1100
A | B 0011 1101
A ^ B 0011 0001
~B 1111 0010
2*8 = 16 2*2*2*2
<<
>>
*/
System.out.println(2<<3);
}
}
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a += b;
System.out.println(a);
a -= b;
System.out.println(a);
//字符串连接符 +
//所以当在”“ 后存在+号时,会把+号变为字符串连接符,可用括号避免转换
//存在”“时,引号后的+号非括号保护的,都是单独的字符串形式打印
System.out.println(""+a+b);//+ 号导致把数据都转换为string再输出
System.out.println(a+b+"");//30
System.out.println(a+""+b);//1020
System.out.println(""+(a+b));//30
System.out.println((a)+"\n"+(b));//1020
System.out.println("========================================");
int c = 20;
System.out.println(a+b+""+c);//3020
System.out.println(a+b+"没啥用"+c);//3020
System.out.println(a+b+"\n"+c);
System.out.println((a)+"\n"+(b + c));//1020
}
}
package operator;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
//x ? y : z
//如果x == true,则结果为y,否则结果为z
int score = 50;
int score1 = 80;
String type = (score < 60) ? "不及格" : "及格";
String type1 = (score1 < 60) ? ("不及格") : ("及格");
System.out.println(type);
System.out.println(type1);
}
}