Java基础语法02 变量、常量、运算符、优先级

变量

变量就是可以变化的量
Java是一种强类型的语言,每个变量必须声明类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是合法的标识符
变量声明是一条完整的语句,因此每一个声明都必须以分号结束

int a=1,b=2,c=3;
String name = ''study'';
char x = 'X';
double pi = 3.14;

变量作用域

局部变量
public static void main(){
    //局部变量 int i = 10;i只在这个大括号内有用
    int i = 10}  
//main 方法
//局部变量在main方法内,同时作用域在两个大括号之间,必须声明和初始化值
public void add(){}   //add方法
实例变量
//实例变量在方法的外面类的里面,作用域更大,从属于对象,从属于这个类,必须借助这个类才能使用,比较高级,不需要初始化
public class Demo08 {
//实例变量 String name; int age;用的话不容易用,如果不自行初始化,输出这个类型的默认值 数值的是0 0.0,字符是0 ,布尔值是false,除了基本类型,其余的默认值都是null
String name;
int age;
public static void main(){
}
}
//使用实例变量  变量类型  变量名字 = new Demo08()先定义该变量的类,然后可以用里面的东西
              Demo08 demo08 = new Demo08();
              System.out.println(demo08.age);
类变量 在实例变量前面static
public class Demo08 {
static double salary = 2500;
public static void main(){
}
}
//引用类变量 直接引用
System.out.println(salary);

常量

常量:初始化话之后就不能再改变值,不会变动的值
常量可以理解成一种特殊的变量,他的值设定后,在程序运行过程中不允许被改变
常量名一般使用大写字母

public class Demo09 {
//static final变量定义前都是修饰符,不区分先后顺序
static final double PI = 3.14;
public static void main(String[] args){
System.out.println(PI);
}
}

变量的命名规范

所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()


运算符

算数运算符:+,-,*,/,%(取余,模运算),++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==(等于),!=(不等于),instanceof 逻辑运算符:&& ,||,!(与或非) 位运算符:&,|,^,~,>>,<<,>>> 条件运算符?: 拓展赋值运算符:+=,-=,*=,/=

public class Demo02{
     public static void main(String[] args){
       long a = 1;
       int b = 2;
       short c = 3;
       byte d = 4;

			System.out.println(a+b+c+d);//long
			System.out.println(b+c+d);//int
			System.out.println(c+d);//int
      //有long类型时,输出为long类型,无long类型时,输出全部为int类型 
}

++ – 自增,自减 一元运算符

package operator
public class Demo04{
     public static void main(String[] args){
				int a = 3;//此处a为3
				int b = a++;//a++ a = a + 1 //3执行完这行代码后,先给b赋值,再自增
				//a = a + 1
				System.out.println(a);此处a为4
				//a++ a = a + 1
				int c = ++a;//此处a为5,执行完这段代码后,先自增,再给b赋值


				System.out.println(a);5//此处由于a为变量,此处a=5
				System.out.println(b);3
				System.out.println(c);5
			}
}

逻辑运算符

与(and)或(or)非(取反)

package operator
public class Demo04{
     public static void main(String[] args){
			boolean a = true;
			boolean b = false;
			
			System.out.println("a && b:"+(a&&b));//false 两个变量都为真结果才为true
			System.out.println("a || b:"+(a||b));//true 两个结果有一个为真,结果才为true
			System.out.println("!(a && b):"+!(a&&b));//true 如果是真则为假,如果是假则为真



			//短路运算
			System.out.println("b && a:"+(b&&a));//上来运算就为假,则不用判断+号后面的变量,为短路运算
			int c = 5;
			boolean d =(c<4)&&(c++<4);
			System.out.println(b);false
			System.out.println(c);//c=5 c<4为错后面不执行  c++并没有运算
}
			//结果
			false
			5

位运算

package operator
public class Demo04{
     public static void main(String[] args){
				/*
				A =0011 1100
				B =0000 1101
				*/
				A&B = 0000 1100 // 如果两个位置有0取0,其余取1
				A|B = 0011 1101 // 如果两个位置有1取1,其余取0
				A^B = 0011 0001 // 如果这两个位置相同则为0,不相同则为1
				~B  = 1111 0010 // 与上面的B每个位置相反
         << 左移  相当于把这个数字*2
         >> 右移  相当于把这个数字/2
         位运算效率极高
         0000 0000   0
         0000 0001   2
         0000 0010   4
         0000 0100   8
         0000 1000   16
         System.out.println(2<<3)//2左移三位等于16
 }
}

拓展运算符

package operator
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); // 输出a=30

				字符串连接符 + ,只要加号旁边有一侧出现了字符串类型,则另一边也会变成字符串类型进行输出
				System.out.println(""+a+b); // 输出1020 字符串在前面则将ab拼接起来了
				System.out.println(a+b+""); // 输出30 如果字符串在后面则前面的依旧运算输出
        
}
}

三元运算符

package operator
public class Demo04{
     public static void main(String[] args){
     // x ? y : z
     // 如果x==true,则结果为y,否则结果为z

			int score = 90
			string type = score <60 ?"不及格""及格"//必须掌握
			system.out.println(type); //输出结果及格
     }
     }

优先级

优先级 用()标识清楚 //括号内优先运算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值