Java基础

时间:2020-07-12
本文章向大家介绍Java基础,主要包括Java基础使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

java基础

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

注释

单行注释:// 快捷键 Ctrl +/

块注释:/* */

文档注释:/** */

标识符、关键字

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

  • 所有的标识符都应该以字母,美元符,或者下划线开始
  • 首字母之后可以是字母、美元符、下划线或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感的
  • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音

2.数据类型

基本类型

  • 数值类型
    1. 整数类型:byte(1个字节)、short(2)、int(4)、long(8)(Long类型要在数字后面加L,以示区分)
    2. 浮点类型:float(4)(float类型要在数字后面加F,以示区分)、double(8)
    3. 字符类型:char(2)
  • boolean类型:占一位其值只有true和false两个

引用类型

  • 类 (字符串(String),String 不是关键字,类)
  • 接口
  • 数组

常见问题 (面试题)

  1. 整数扩展:

      //整数扩展:  进制   二进制0b 十进制  八进制0  十六进制0x
            int i = 0b10;
            int i1 = 10;
            int i2 = 010; //八进制最容易忽略
            int i3 = 0x10;
    
            System.out.println(i);
            System.out.println(i1);
            System.out.println(i2);
            System.out.println(i3);
    
    2
    10
    8
    16
    
  2. 浮点数扩展

      // 浮点数拓展  银行业务怎么表示? 钱
      // 不能用浮点数去表示,要知道浮点数在计算机内表示是位数有限的,
      // 离散的:并不能表示实轴上每一个点,表示的不是一条线段,而是一个一个离散的点
      // 二进制的限制,本身在十进制有穷的小数,转成二进制可能会出现无穷,
      // 而计算机内无穷是进行有穷表示,有舍入误差,所以保存的数与实际数是大约,接近但不等于的关系
      // 以上问题可以用一个工具类(后面讲解):BigDecimal 数学工具类
    
         float f  = 0.1f;
         double d = 1.0/10;
         System.out.println(f==d); //false
    
         float d1 = 2143243243243434f;
         float d2 = d1+1;
         System.out.println(d1==d2); //true
    
    //近似保存可能出现不一致  可能 f 实际保存是 0.10000000000000000000000000000000111
    //  d 为 :0.10000000000000000000000000000000000000000000003
    //最好完全不用浮点数比较
    
  3. 字符扩展:所有的字符本质还是数字 ;Unicode , ASCII

    转义字符:\t : Tab \n:换行

3.类型转换

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

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

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算
  • 低到高,自动转换,高到低 ,强制转换 byte b =(int) i ;注意溢出
  • 不能布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 转换的时候可能存在内存溢出,或者精度问题

常见问题

  1. 操作比较大的数的时候,注意溢出问题

     //JDK7新特性,数字之间可以用下划线分割,为了看着方便,且不会影响计算机内部存储
          int money = 10_0000_0000;
          System.out.println(money)
    1000000000 
     //溢出问题         
          int money = 10_0000_0000;
          int years = 20;
          int total = money*years;
          System.out.println(total);       -1474836480   
    //  long total2 = money*years;默认是int,转换之前已经存在问题了
    //正确做法为:long total2 = money*(long)years;
    

4.变量、常量

变量

  • 变量就是可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量 : 加static关键字,从属于类
  • 实例变量 :从属于对象;如果不进行初始化,为默认值
  • 局部变量 : 必须声明和初始化值

常量

  • 初始化后不能再改变值,不会变动的值 ,final 关键字
  • 所谓变量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
  • 常量名一般使用大写字符

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母都大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

5.运算符

Java语言支持如下运算符

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

  • 赋值运算符 : =

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

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

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

  • 条件运算符:?:(x ?y : z)(如果x==true,则结果为y,否则结果为z)

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

    //一个idea快捷键:Ctrl+D:复制当前行到下一行
    //Math工具类
    //注意:逻辑运算中的短路运算:c=5 (c > 4)&&(c++ < 4) c并不会加一,c还为5
    

6.包机制、JavaDoc

包机制

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

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

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

    //idea快捷键  Ctrl + 鼠标右键  可以进入对应包(去查看源码)
    //Alt + Enter : 报错相应信息,程序给出的解决方法(出错时的程序提示)
    

代码规范书籍

代码规范 :阿里巴巴Java开发手册下载

Java SE API 和文档

Java 8 帮助文档 Java 8 帮助文档

JavaDoc

可以给类或方法加注释 :/** */

  • javadoc命令是用来生成自己的API文档的
  • 参数信息
    • @author 作者名

    • @version 版本号

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

    • @param 参数名

    • @return 返回值情况

    • @throws 异常抛出情况

//例 文档注释
package com.daershujia;

/**
 * @author XXXX
 * @version 1.0
 * @since 1.8
 */
public class Doc {
    String name;

    /**
     * @author XXXX
     * @param name
     * @return
     * @throws Exception
     */

    public String test(String name) throws Exception {
        return name;
    }
  //写了类后,在其前面加/** 再按enter键 idea会根据所写代码自动生成对应模板,之后程序员进行适当修改  
}

命令行生成JavaDoc文档

  1. 点击想要生成文档的类的右键
  2. 选择 Show in Explorer 找到相应程序的地址
  3. 在上方程序具体位置前输入cmd+ 空格 ,点击enter,进入+ 空格 ,点击enter,进入对应位置的cmd
  4. 输入命令 javadoc -encoding UTF-8 -charset UTF-8 Doc.java(encoding 设置编码格式,描述有可能有中文,charset,字符集 Doc.java 要生成文档的类的名字再加.java )
  5. 运行后,即生成对应文档(index)(在程序原来的目录下)。在程序所在位置出现了很多html文档,打开index(首页查看),即为与官方文档一样的模式。生成文档成功

idea 生成JavaDoc文档

  1. 选择Tools , 再点击Generate JavaDoc

1.(Generate JavaDoc scpe)选择是整个项目还是模块还是单个文件(选择文件为File ....)

2.(Output directory)文档输出路径(选择文档生成在那里)

3.(Locale) 选择地区,这个决定了文档的语言,中文就是zh_CN

4.(Other command line arguments)传入JavaDoc的参数,一般这样写 -encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/8/docs/api
("-encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/8/docs/api"内容复制进去,双引号中标题可以自己更改 )

————————————————
版权声明:本文为CSDN博主「张鲜生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42140580/article/details/89635775

原文地址:https://www.cnblogs.com/moshanghuai/p/13286863.html