JAVA基础DAY01

JAVA基础

Java三大版本

  • Java的可移植性:JVM
  • JavaSE :标准版(桌面程序,控制台开发…)
  • JavaME :嵌入式开发(没人用了)
  • JavaEE:企业级开发(web、服务器开发)

JDK、JRE、JVM

  • JDK:Java Development Kit
  • JRE:Java Runtime Environment
  • JVM:JAVA Virtual Machine

开发环境(JDK)包含运行环境(JRE)包含虚拟机(JVM),跨平台的核心是JVM

在这里插入图片描述

Hello,world!

在编写第一个hello world时,我遇到了一些情况,我使用visual code配置java环境进行编程。

  1. 文件名和class名必须一致,不然编译不通过,并且首字母尽量大写
  2. 尽量不要使用中文,某些控制台会乱码
  3. JAVA大小写敏感!

在cmd使用javac Test.java进行编译,编译完成后生成Test.class文件,执行java Test即可执行程序。

在这里插入图片描述

vc搭配好环境之后可以直接运行

Java程序运行机制

Java是结合了编译型和解释型的语言,先通过Java编译器编译成.class文件,再通过解释器在操作系统中运行

在这里插入图片描述

注释规范

  • 单行注释
// 我是单行注释
  • 多行注释
/*
	我是多行注释
*/
  • 文档注释(JavaDoc)
/**
 * @Description HelloWorld
 * @Author 10_Addtiply
 * 大公司经常要求
 */

标识符和关键字

  • 唯一Amazing我的一点:可以用中文定义变量!

数据类型

  • 强类型语言:要求变量的使用要严格符合规定,所有变量必须先定义后使用。安全性高,速度慢

  • 弱类型语言:相反(JS)

  • Java的数据类型分为两大类

    • 基本类型

      • char:2 Bytes
      • byte:1 Byte
      • short:2 Bytes
      • int:4 Bytes
      • long:8 Bytes
      • bool:1 bit
      int num1 = 10;
      byte num2 = 200;//报错,只能表示-128~127
      short num3 = 30;
      long num4 = 30L;//Long类型要在数字后加L
      float num5 = 50.1F;//Float同上
      double num6 = 3.1415926;
      char name = 'A';//只能是一个字符
      // 字符串,不是关键字,是类
      String namea = "Bill";
      
    • 引用类型

在这里插入图片描述

常见问题

各种进制的整数表示

int i = 10;
int i2 = 010;	//8进制
int i3 = 0x10;	//16进制
int i4 = 0b10;	//2进制

浮点数比较

浮点数直接比较会有舍入等问题,得到的结果有问题

使用 BigDecimal 数学工具类

类型转换

Java是强类型语言,类型不同的变量运算需要类型转换:

byte,short,char→int→long→float→double

int i = 128;
byte b = i; //报错
byte b = (byte) i; //强制转换,报错,内存溢出
long l = i; //自动转换,OK
  • 强制转换 (类型)变量名 高–低

  • 自动转换 低–高

  • 注意点:

    • 不能对bool进行转换
    • 不能把对象类型转换为不相干的类型
    • 把高容量转低容量,强制转换
    • 转换的时候可能存在内存溢出,或者精度问题
    • JDK7新特性,数字内可以用下划线分割
    int money = 10_000_000;
    System.out.println(money);
    //10000000
    

常量和变量

变量默认值

实例变量:如果不自行初始化,默认值都是0,0.0

布尔值:默认false

除了基本类型,其余的默认值都是null

常量

关键词final

// 修饰符不存在先后顺序
static final double PI = 3.14;
final static double PI = 3.14;

运算符

与C++差不多

数学类Math,经常使用

Math.pow(2,3);	//2^3,2的3次方

包机制

**包的本质就是文件夹。**Java提供包机制用于区别类名的命名空间。

调用包语句的语法为:

import package pkg1[. pkg2[. pkg3...]];

小技巧,如果你使用了一个其他包里的东西,如Date,但是你不知道他在哪个包,你可以按Alt+Enter,这样IDE自动帮你加上import这句话。

在这里插入图片描述

JavaDoc

JavaDoc命令用于生成自己的API文档

在这里插入图片描述

/**
 * @author 10_Addtiply
 * @version 1.0
 * @since 1.8
 */
public class Helloworld {
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception{
        int money = 1999_999;
        System.out.println(money);
    }
}

使用IDEA的Tools→Generate JavaDoc生成JavaDoc,注意Locale填zh_CN则doc是中文的,命令行参数-encoding UTF-8 -charset UTF-8 -link http://docs.Oracle.com/javase/7/docs/api

生成的JavaDoc
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值