首页 > 技术文章 > 2021.9.16Java基础

Longyuqin 2021-09-16 23:43 原文

2021.9.16

1.变量

变量就是可以变化的量

Java是一种强类型语言,每个变量必须都声明其类型

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

 

type varName [=value] [{,varName[=value]}];

//数据类型 变量名 变量名=值;可以使用逗号隔开来声明多个同类型变量。

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符。

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量作用域

类变量

实例变量

局部变量

public class demo08 {

   //类变量 static
   static  double salary = 2500;

   //属性:变量

   //实例变量:从属于对象;如果不自行初始化,就为这个类型的默认值   0 0.0
   //布尔值,默认值是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(){
       System.out.println();
  }
}

变量命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰规则:monthSalary

  • 局部变量:首字母小写和驼峰规则

  • 常量:大写字母和下划线

  • 类名:首字母大写和驼峰规则

  • 方法名:首字母小写和驼峰规则:run(),runRun()

2.常量

初始化之后不再改变的值

final 常量名 = 值;

final double PI = 3.14;

常量名一般用大写字符

3.运算符

package operator;

public class demo1 {
   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((double)a/b);
       System.out.println(a*b);

  }

}
package operator;

public class demo03 {
   public static void main(String[] args) {
       //关系运算符返回的结果 :正确,错误   布尔值
       //if
       int a = 10;
       int b = 20;
       System.out.println(a>b);
       System.out.println(a<b);
       System.out.println(a!=b);
       System.out.println(a==b);
  }
}
/*
false
true
true
false
*/

a++;a--

package operator;

public class demo04 {
   public static void main(String[] args) {
       //自增自减
       int a = 3;
       int b = a++;  //a++ 执行完这行代码后,先给b赋值,再自增
       System.out.println(a);
       int c = ++a;    //++a   先自增,再赋值

       System.out.println(a);
       System.out.println(b);
       System.out.println(c);

       //幂运算
       //很多运算会用工具类来操作
       double pow = Math.pow(2,3);
       System.out.println(pow);

  }
}

逻辑运算符

package operator;

//逻辑运算符
public class demo05 {
   public static void main(String[] args) {
       //与     或       非
       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));
       System.out.println();

       //短路运算
       int c = 5;
       boolean d = (c<4)&&(c++<4);//若前面判断语句为错,则后面的判断语句不执行
       System.out.println(d);
       System.out.println(c);
       /*
           false
           5
       */
  }
}

位运算符

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
       效率极高!!!!
       << *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;//a=a+b
       a-=b;//a=a-b
       System.out.println(a);

       //字符串连接 + ,String
       System.out.println(a+b);
       System.out.println(""+a+b);
       System.out.println(a+b+"");
       //字符串在前面,a+b会拼接起来,若在后面则不会
  }
}

 

三元运算符

package operator;

//三元运算符
public class demo08 {
   public static void main(String[] args) {
       //x ? y :z
       //若x==true,则结果为y,否则结果为z

       int score = 50;
       String type = score < 60?"不及格":"及格";//必须掌握
       //if
       System.out.println(type);
  }
}

4.包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

包语句的语法格式为:

package pkg1[.  pkg2[.  pkg3]];//定义包

一般公司域名倒置作为包名

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句可以完成此功能

import package[.package2..].(classname|*)//导入包

 

 

跟着狂神学java,遇见狂神说的个人空间_哔哩哔哩_Bilibili

推荐阅读