1. 注释
public class HelloWorld{
   public static void main(String[] args) {
       //单行注释:只能注释一行文字
       //输出一个HelloWorld!
       System.out.println("HelloWorld!");
       //多行注释:可以注释一段文字 /* 注释 */
       /*
       我是多行注释
       我是多行注释
       我是多行注释
        */
       //JavaDoc:文档注释   /**   */
       /**
        * @Description HelloWorld
        * @Auther zhoujingyuan
       */
  }
}

 

2. 标识符

关键字

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return stricffp short static super
switch synchronized this throw throws
transient try void volatile while

Java中所有组成部分都需要名字、类名、变量名以及方法名都被称为标识符

注意点:

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线()或数字的任何字符组合

  • 不能使用关键字作为变量名或方法名。

  • 标识符是大小写敏感

  • 合法标识符举例:age、$salary、_value、__1_value

  • 非法标识符举例:123abc、-salary、#abc

    public static void main(String[)args){
       String王者荣耀=“最强王者”;
       Systen.out.printin(王者荣耀);
    }
  • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

 

3. 数据类型

  • 分为两大类

    1)基本类型

    2)引用类型

注:

Long类型要在数字后面加个L。例如:long num = 30L;

float类型要在数字后面加个F。例如:float num = 50.1F;

String不是关键字,是类。

 

4. 类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候时,需要用到类型转换。

    低-------------------------------------------------------------->高

    byte,short,char->int->long->float->double

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算。

  • 强制类型转换

  • 自动类型转换

注意:

1)强制转换 (类型)变量名 高---->低

2)自动转换 低---->高

3)不能对布尔值进行转换

4)不能把对象类型转换为不相干的类型

5)在把高容量转换为低容量的时候,强制转换

6)转换的时候可能存在内存溢出,或者精度问题

 

5. 变量

  • 变量是什么:就是可以变化的量!

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

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

    type varName [=value] [{,varName[=value]}];
    //数据类型   变量名 = 值;可以使用逗号隔开来声明多个同类型变量

    注意事项

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

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

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

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

    public class Variable{
       static int allClicks=0;        //类变量
       String str = "hello world";    //实例变量
       
       public void method(){
           int i = 0;                 //局部变量
      }
    }

例:

public class Demo{
   //类变量 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);
  }
}

 

变量的命名规范

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

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

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

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

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

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

常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值

  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

    final 常量名=值;
    final double PI=3.14;
  • 常量名一般使用大写字符。

修饰符,不存在先后顺序

 

6. 运算符

java语言支持如下运算符:

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

  • 赋值运算符:=

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

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

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

  • 条件运算符: ?:

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

 

int b = a++;   //执行完这行代码后,先给b赋值,再自增
int b = ++a;   //执行完这行代码后,先自增,再给b赋值

 

逻辑运算符

public static void main(String[] args){
   //与(and) 或(or) 非(取反)
   boolean a=true;
   boolean b=false;
   System.out.println("a&&b:"+(b&&a));//有括号括号先算 逻辑与运算:两个变量都为真,结果才为true
   System.out.println("a||b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果才为true
   System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假,如果是假则变为真
   
   //短路运算
   int c=5;
   boolean d=(c<4)&&(c++<4);
   System.out.println(d);     //false 因为c<4是错的
   System.out.println(c);     //c=5   因为c<4是错的,所以后面的c++不执行
   
   
}

 

位运算符

/*
A = 0011 1100
B = 0000 1101
--------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001   ^ : 代表相同为0,不相同为1
~B = 1111 0010   ~:非

2*8=16 2*2*2*2
System.out.println(2<<3);   输出16
效率高
<< :*2
>> :/2

0000 0000   0
0000 0001   1
0000 0010   2
0000 0011   3
0000 0100   4
0000 1000   8
0001 0000   16
*/

 

a+=b  //a=a+b
a-=b  //a=a-b

//字符串连接符 + ,String 只要前面有String类型后面都变成String类型
   System.out.println(""+a+b);   //输出1020
   System.out.println(a+b+"");   //输出30

三元运算符:    x?y:z
   //如果x==true,则结果为y,否则结果为z

 

7.包机制

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

  • 包语句的语法结构为:

    package pkg1[.pkg2[.pkg3...]];
  • 一般利用公司域名倒置作为包名;

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

    import package1[.package2...].(classname|*);

     

 

注:包可以理解为是个文件夹

*代表全部都导入

 

8.JavaDoc

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

参数信息

  • @author 作者名

  • @version版本号

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

  • @param 参数名

  • @return返回值情况

  • @throws异常抛出情况

package com.kuang.base;

/**
*@author Zhouzhou
*@version 1.0
*@since 1.8
*/
public class Doc{
   String name;
   
   /**
*@author Zhouzhou
*@param name
*@return
*@throws Exception
*/
   public String test(String name) throws Exception{
       return name;
  }
}

 

注:加在类的上面就是类的注释,加在方法的上面就是方法的注释

  • 然后选中当前类右键点Show in Explorer

  • 在最上面导航栏加入“ cmd"

  • 输入”javadoc -encoding UTF-8 -charset UTF-8 Doc.java“(后面那一串为了使文章不出现乱码)

  • 文件夹下出现很多东西然后点开index.html(意思是首页)

  • 最后里面会出现一个详细的文档,如下