首页 > 技术文章 > 【Java基础篇】Java基础

goodluckya 2020-03-23 21:41 原文

01. 注释


书写注释是一个非常好的习惯

  • 单行注释://,快捷键 Ctrl+/ ,再次按撤销注释
  • 多行注释:/* */,快捷键 Ctrl+shift+/ 撤销Ctrl+shift+\
  • 文档注释:它以 /** 开始,以 */结束,快捷键shift+alt+j

有趣的代码注释

02. 标识符


在Java中,类名、变量名和方法名都被称为标识符

  • 标识符应该以大小写字母,美元符$,或者下划线开始
  • 首字符之后可以是大小写字母、数字、美元符$、下划线_
  • 不能用关键字作为标识符
  • 标识符对大小写敏感
  • 中文名字和拼音可以使用,但是不建议

关键字

保留字
goto    const

基本类型
boolean    byte    char    double    float    int    long    short    null    true    false

类,方法和变量修饰符
abstract    class    extends    final    implements    interface    native    new
static    strictfp    synchronized    transient    volatile

访问控制
private    protected    public
    
程序控制
break    continue    return    do    while    if    else    for    instanceof    switch
case    default
    
异常处理
try    cathc    throw    throws

包相关
import    package

变量引用
super    this    void 

03. 数据类型


基本数据类型

类型名称 关键字 占用内存 取值范围
字节型 byte 1 字节 -128~127
短整型 short 2 字节 -32768~32767
整型 int 4 字节 -2147483648~2147483647
长整型 long 8 字节 -9223372036854775808L~9223372036854775807L
单精度浮点型 float 4 字节 +/-3.4E+38F(6~7 个有效位)
双精度浮点型 double 8 字节 +/-1.8E+308 (15 个有效位)
字符型 char 2 字节 ISO 单一字符集
布尔型 boolean 1 字节 true 或 false

Java数据类型结构图

Java数据类型结构图

示例

  //整数  扩展  进制  二进制0b   十进制     八进制0    十六进制0x
  int a = 10;
  short b = 100;
  long c = 1000L;
  byte d = 1;

  //float 有限	离散	舍入误差	大约	接近但不等于
  //最好完全使用浮点数进行比较
  float f = 0.1f;
  double d = 1.0/10;
  System.out.println(f==d); //返回false

  float d1=239423084f;
  float d2=d1+1;
  System.out.println(d1=d2); //返回 true

  //字符
  //字符的本质还是数字
  char ch = 'a';
  System.out.println((int)ch); //返回97
  char ch2 = '\u0061';
  System.out.println(c3);		//返回a
        
  boolean flag = true;
  //if(flag) = if(flag==true)

04. 类型转换


  • 基本数据类型优先级(由低到高)
    byte,short,char ——> int ——> long ——> float ——> double
  • 强制类型转换 (类型)变量名,适用于优先级高到低
  • 自动转换 适用于优先级低到高
  • 注意事项

    • boolean类型与其他基本类型不能进行类型的转换
    • 强制类型转换所带来的结果是可能会丢失精度或者内存溢出

05. 变量、常量、作用域


变量

  • 变量是程序中最基本的存储单元,由变量名、变量类型和作用域组成

  • 数据类型 变量名 = 值;

  • 注意

    • 每个变量必须有类型,可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量生命是一条完整的语句,因此每一个声明必须以分号结束
    • 变量未赋值,不能直接使用
    • 变量只在它所属的范围内有效——变量在哪对大括号内,变量就属于哪对大括号
  • 变量的命名规范

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

常量

  • 初始化后不能再改变的值

  • final 常量名 = 值;

  • 常量名一般用大写字符

    /**
     * 此段代码来自于JavaSE知识库
     */
    public class TestTwo {
          //以下四个变量都是成员变量(全局变量)
          //实例变量:从属于对象,如果不自动初始化,基本类型默认值为0、0.0、false,除了基本类型,其余全为null
          int num ;                         //属于基本数据类型的实例变量
          Integer obj ;                     //属于引用数据类型的实例变量
          static char ch = 'A';             //类变量(静态变量)
          final double constant= 12.6;      //属于常量的实例变量
         
         
          public void display(){
                 //以下两个属于该方法的局部变量,必须先赋值才能使用,作用范围仅限于函数体之内
                 int age = 1;
                 String name = "Tom";
                 System.out.println("name:"+name+";age: "+age);
          }
         
         
          public static void main(String[] args){
                 System.out.println(num);           //这句会报错,因为num变量属于实例变量,只有将Test实例化之后才能使用
                 System.out.println(Test.ch);       //这句则不会报错,因为ch属于类变量,不用实例化Test也能使用
                
                 Test test = new Test();
                 System.out.println(test.num);      //num为基本数据类型,打印出的默认值为0
                 System.out.println(test.obj);      //obj为引用数据类型,打印出的默认值为null
          }
    }
    

06. 基本运算符


参考Java基本运算符-Java教程

public class Demo3 {
    public static void main(String[] args) {
        int a = 20;
        int b = 10;
        System.out.println(a+b+"");		//30
        System.out.println(""+a+b);		//2010
    }
}

07. 规范

08. JavaDoc


  • Java SE文档(在线API帮助文档 )

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

  • 参数信息

    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
  • cmd下生成文档javadoc -encoding UTF-8 -charset UTF-8 Doc.java

  • IDEA下顶部的Tools菜单,选择Generate JavaDoc选项

推荐阅读