cmd运行java程序

在指定目录下打开:javac+文件名.java——编译出class文件

java+文件名——运行

idea中开发java

psvm 生成main方法

sout生成System.out.println();

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

基础语法学习

一、注释

单行注释

//单行注释

 

多行注释

/*
多行注释
*/

 

文档注释

/**
*@Description Hello World
*/

二、标识符和关键字

所有组成部分都需要名字,类名、变量名、方法名均是标识符:

标识符不能取关键字;

所有标识符都以大小写字母、$、_开头,首字母后是大小写字母、$、下划线或数字的任意组合;

三、数据类型讲解

Java为强类型语言,所有变量必须先定义后才能使用

Java数据类型:

一、基本类型primitive type

1、数值类型:整数类型byte:占1个字节范围

short:占2个字节范围

int:占4个字节范围

long:占8个字节范围

long num = 30L
   //加大写字母L表明是long类型(默认取int)

 

浮点类型float:占4个字节范围

float num = 30.0F
   //加大写字母F表明是float类型(默认取double)

 

double:占8个字节范围

字符类型char:占2个字节范围(一个字母或一个汉字)

2、Boolean类型:占1位,值只有true和false

二、引用类型reference type

1、类:字符串string非关键字,是类(属于引用类型)

2、接口

3、数组

附:

1、字节相关知识

位:bit,内部数据存储最小单位,二进制中1/0

字节:byte(大写B),数据处理的基本单位

1B=8bit 1KB=1024B 1M=1024KB 1G=1024M 1TB=1024G

2、整数拓展:进制

二进制0b开头 十进制 八进制0开头 十六进制0x开头

3、浮点数拓展

浮点数范围有限且离散,有舍入误差,会进行大约计算导致两者接近但不等于

最好完全避免使用浮点数进行比较

3、字符拓展

(1)、(int)字符名字:强制转换为数字

‘/u0061'输出正常编码61号对应字符a

(2)、转义字符

\t 空格

\n 换行

三、数据类型转换

byte,short,char--int--long--float--double(由低到高)

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

强制转换格式:(要转变类型)原类型数据 即可转变(由高到低时需避免内存溢出)

自动类型转换: 原数据类型 即可转变(由低到高)

注:1、不能转换Boolean类型

2、转换存在内存溢出或精度问题

四、变量与运算符

Java为强类型语言,变量需声明其类型

变量包括:变量名、变量类型、作用域

作用域:

  • 类变量:定义在类里,前有static,用于方法中

  • 实例变量:定义在类里,前无static,用于方法中

  • 局部变量:定义使用在方法中

    体现三种作用域区别:

    public class Demo2 {

       //属性:暂时理解为变量

       //实例变量:从属于对象
       String name;
       int age;
       double num;
       boolean right;
       char what;

       //类变量
       static double salary=100000;

       //main method
       public static void main(String[] args) {

           //局部变量:必须声明和初始化值

           //实例变量在方法外声明,在方法内使用
           //变量类型(自定义类型) 变量名字 = new 变量类型();
           Demo2 demo2 = new Demo2();
           System.out.println(demo2.age);//未设置初始值则默认为0
           System.out.println(demo2.name);//未设置初始值则默认为null(除基础类型外,其余均是null)
           System.out.println(demo2.num);//未设置初始值则默认为0.0
           System.out.println(demo2.right);//未设置初始值则默认为false
           System.out.println(demo2.what);//未设置初始值则默认为

           //类变量在方法外声明,加static;在方法内使用
           System.out.println(salary);
      }
       
       //其它方法
       public void add(){

      }
    }

    常量:

初始化后不改变:final 常量类型 常量名 = 常量值,常量名一般为大写字母

public class Demo3 {
   static final double PI = 3.14;
   public static void main(String[] args) {
       System.out.println(PI);
  }
}

变量、方法、类名的命名规范:

  • 类成员变量/局部变量/方法名:首字母小写,第二个及以后单词首字母大写monthSalary

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

  • 类名:首字母大写,第二个及以后单词首字母大写

    运算符:

    • 算术运算符:+、-、*、/、%、++(自增)、--(自减)

    • 赋值运算符:=

    • 关系运算符:>、<、>=、<=、==、!=(不等于)

    • 逻辑运算符:&&(与)、||(或)、!(非)

    • 位运算符:&、|、^、~、>>、<<、>>>

    • 条件运算符:?:

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

      自增自减运算符:

       public static void main(String[] args) {
             int a = 1;
             int b = a++;//赋值运算级先于自增运算x++
             System.out.println(a);
             System.out.println(b);
             int c = ++a;//++x运算级先于赋值
             System.out.println(a);
             System.out.println(c);

      幂运算:

      double num = Math.pow(2,3);

      逻辑运算符:

      a&&b:短路运算:若a为false,则b处不进行运算考虑直接返回false

      位运算符:

      public static void main(String[] args) {
             /*位运算符与二进制有关
             A= 0011 1100
             B= 0000 1101
             与:A&B = 0000 1100
             或:A|B = 0011 1101
             亦或:A^B = 0011 0001(相同则取0,不同则取1)
             取反:~B = 1111 0010
             C = 0000 0010 = 2
             D = 0001 0000 =16
             左移:<< 2<<3=16
             右移:>> 16>>3=2
              */

      扩展赋值运算符:

      a+=b: a=a+b

      a-=b: a=a-b

      字符串连接符

      public static void main(String[] args) {
             int a = 10;
             int b = 20;
             System.out.println(""+a+b);//结果为1020(+前后但凡有string类型则默认全化为string类型)
             System.out.println(a+b+"");//结果为30
             System.out.println((a+b+"")=="30");//结果为false
        }

      三元运算符

      public static void main(String[] args) {
             /*
             x?y:z
             如果x==true,值为y;反之值为z
              */
        }

     

五、包机制

  • 一般使用公司域名倒置作为包名:

    com.baidu.www

  • 为使用该包需在程序中明确导入该包:

    import package1[.package2...].(classname|*;)
       //import package.*导入该包下所有的类

    alt+enter自动补包来源

六、JavaDoc生成文档

JavaDoc命令用来生成自己API文档

参数信息:

  • @author 作者名

  • @version 版本号

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

  • @param 参数名

  • @return 返回值情况

  • @throws 异常抛出情况

     /**
        * @author tonmoregulus
        * @version 1.0
        * @since 15.0
        */
       String name ;

       /**
        *
        * @param name
        * @return
        * @throws Exception
        */
       public String test (String name) throws Exception{
           return name;
      }

    使用IDEA生成Javadoc文档