java_day04_1


JAVA基础语法

目录

  1. 注释、标识符、关键字

  2. 数据类型

  3. 类型转换

  4. 变量、常量

  5. 运算符

  6. 包机制、JavaDoc

4 变量、常量、作用域

4.1 变量

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

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

    type varname [= value] [{ ,varname [=value] }]     
   //数据类型 变量名 = 值 ;可以使用逗号隔开来声明多个同类型变量,但是不推荐
  • 注意事项:

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

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

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

public class demo07 {
   public static void main(String[] args) {
       //int a,b,c
       int a=1;
       int b=2;    //尽量分开写,提高程序可读性
       String name = "xinxueqi";
       char x = 'X';
       double pi = 3.1415926;
  }
}
  • 变量分为成员变量和局部变量,局部变量必须声明和初始化,且只在方法内使用。

  • 成员变量又分为实例变量和类变量,是类里定义的变量,在方法、构造方法和语句块之外。

public class demo08 {
   //--------------------------------------------------------------
   //类变量 static
   static double salary = 2500;
   //--------------------------------------------------------------
   //属性:变量
   //--------------------------------------------------------------
   //实例变量:从属于对象;如果不自行初始化,这个类型的默认值为0或者0.0;
   //布尔值:默认是false;
   //除了8个基本类型,其余的都是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);    //0
       System.out.println(Demo08.name);   //null
       //类变量 static
       System.out.println(salary);     //2500.0
  }
?
   //其他方法
   public void add(){
?
  }
}

4.2 常量

  • 常量:可以理解成一种特殊的变量,初始化后不能再改变值!不会变动的值。

  • 常量名一般使用大写字符。

public class demo09 {
   //修饰符不存在先后顺序
   final static double PI1 =3.14;
   static final double PI2 =3.1415926;
?
   public static void main(String[] args) {
       System.out.println(PI1);
       System.out.println(PI2);
  }
}

 

4.3 变量命名规范

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

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

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

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

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

  • 方法名:首字母小写和驼峰原则

5 运算符

5.1 Java语言支持如下运算符:优先级()

  • 算术运算符:+,-,*,、,%,++,--

  • 赋值运算符=

  • 关系运算符:>,<,>=,<=,==,!=,instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

  • 条件运算符 ?:

  • 扩展赋值运算符:+=,-=,*=,/=

5.2 算术运算符

package operator;
?
public class Demo01 {
   public static void main(String[] args) {
       //二元运算符
       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/(double)b);   //不加double,就按照int型输出结果了
       System.out.println("=======================================================");
?
       long  c =12312312131L;
       int d =123;
       short e =10;
       byte f =8;
       System.out.println(c+d+e+f);    //Long 12312312272
       System.out.println(d+e+f);    //int 141
       System.out.println(e+f);       //int 18
?
  }
}
  • 运算时,如果类型低于int,结果都为int,否则按照最高类型输出。

5.3 关系运算符

package operator;
?
public class Demo03 {
   public static void main(String[] args) {
       //关系运算符返回的结果: true or false
       int a = 10;
       int b =20;
       int c =21;
       //取余
       System.out.println(c%a);    // 21 / 10 =2...1
       //关系运算符
       System.out.println(a>b);   //false
       System.out.println(a<b);   //true
       System.out.println(a==b);  //false
  }
}
package operator;
?
public class Demo04 {
   public static void main(String[] args) {
       //++ -- 自增,自减 一元运算符
       int a =3;
       int b = a++;             //执行完这行代码后,先给b赋值,再自增
?
       System.out.println(a);
?
       int c = ++a;            //执行完这行代码后,先自增,再给b赋值
       System.out.println(a);
       System.out.println(b);
       System.out.println(c);
?
       //幂运算 2^3
       double pow = Math.pow(2,3);
       System.out.println(pow);    //8
  }
}

5.4 逻辑运算符

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));    //逻辑与运算:两个变量都为真,结果才为true
       System.out.println("a || b:"+ (a || b));    //逻辑或运算:两个变量都为假,结果才为false
       System.out.println("!(a && b):"+ !(a && b));//逻辑非运算:变量为真,结果才为false
?
       //短路运算
       int c =5;
       boolean d = (c<4) &&(c++<4);  //第一个为假,后边语句不执行了,所以c的数值不会变化
       System.out.println(d);
       System.out.println(c);
?
  }
}

5.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   //异或,不相同为1
       ~B = 1111 0010   //取反
       -----------------------------------------
       <<   >>         //二进制左移右移
?
       */
       System.out.println(2<<3);
?
  }
}

5.6 扩展赋值运算符

package operator;
?
public class Demo07 {
   public static void main(String[] args) {
       int a = 10;
       int b = 20;
       a+=b;    //a=a+b
       System.out.println(a);
?
       //字符串连接符 +
       System.out.println(""+a+b);    //3020,直接链接
       System.out.println(a+b+"");   //30,计算完再链接
?
  }
}

5.7 三元运算符

package com.xin.operator;
?
public class Demo08 {
   public static void main(String[] args) {
       // x ? y : z
       //如果x==true,则结果为y,否则为z
?
       int score = 80;
       String out = score <60 ? "不及格" :  "及格";
       System.out.println(out);    //及格
  }
}

6 包机制、JavaDoc

6.1 包机制

  • 包的本质就是文件夹

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

  • 一般利用公司域名倒置作为包名: www.baidu.com 改为 com.baidu.www

    • 在文件中新建包的时候,可以采用com.xin这种形式,注意关掉齿轮里的compact Middle packages,这样才能显示空包。

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

    • import com.xin.base.*; 可以将所有base子文件导进来

  • 阿里巴巴Java开发手册

6.2 JavaDoc

  • javadoc命令是用来生成自己API文档的

  • 参数信息(方法的注释,在方法里,定义变量下边,使用/即可自动生成**)

    • @author 作者名

    • @version版本号

    • @since指明需要最早使用的jdk版本

    • @param参数名

    • @return返回值情况

    • @throws异常抛出情况

package com.xin.base;
?
/**
* @author xinxueqi
* @version 1.0
* @since 1.8     //类的注释需要自己写
*
*/
public class Doc {
?
   String name;
?
   /**
    *
    * @param name
    * @return     //方法的注释可以自动生成
    */
   public String test(String name){
       return name;
  }
}
  • 生成JAVAdoc文档

image-20220321220800587

输入 javadoc -encoding UTF-8 -charset UTF-8 文件名.java

即可在当前文件夹产生javadoc文档,名为index.html,结果如下:

捕获

知识补充

1 字符char与字符串String

  • 字符char用单引号‘ ’,字符串String用双引号“ ”

2 快捷键

  • 复制当前行到下一行 ctrl+d

3 作业

百度:学会查找使用IDEA生产javadoc文档