java基础 day01

本文介绍了Java编程中的单行注释、多行注释和文档注释,同时详细讲解了标识符的命名规则和Java的基本数据类型,包括整数、浮点数、字符和布尔类型。还涵盖了类型转换和一些常见扩展案例,帮助读者快速理解Java语言的基础构造。
摘要由CSDN通过智能技术生成

01 注释

单行注释:

// 单行注释可以注释一行文字

多行注释:

/*
多行注释可以注释一段文字
*/

文档注释:

/**
*配合JavaDoc使用
*/

02 标识符与关键字

关键字:class,public等Java硬性要求的代码。

标识符:类名,变量名,方法名都是标识符。

标识符的注意事项:

  • 所有标识符都应该以字母,$,或者下划线(_)开始

    String name = "xiaofang";
    String $name = "xiaofang";
    String _name = "xiaofang";
    
  • 首字母之后可以是字母,$,或者下划线(_)或者数字

    String A$ = "xiaofang";
    String A_ = "xiaofang";
    String A1 = "xiaofang";
    
  • 不能使用关键字作为变量名或方法名

  • 标识符不建议使用中文

  • 标识符是大小写敏感的

03 数据类型

Java是强类型语言,要求所有变量都必须定义后才能使用。


基本数据类型如下表所示:

整数类型浮点类型字符类型布尔类型
byte占1字节float占4字节char占2字节true占1位
short占2字节double占8字节false占1位
int占4字节
long占8字节
//整数
byte num = 10;
short num1 = 15;
int num2 = 20;
long num3 = 30L;//long类型要在数字后加上L

//浮点数
float num5 = 10.1f;//float类型要在数字后加上f
double num6 = 10.33333;

//字符
char name = 'f';//注意String不是关键字

//布尔
boolean flag = true;
boolean flag1 = false;

字节与位的关系:1 Byte=8 bit


数据类型面试拓展

  • 整型拓展:
int i = 10;//输出10
int i2 = 010;//八进制0开头 输出8
int i3 = 0x10;//十六进制0x开头(范围:0~9 A~F) 输出16
  • 浮点数拓展:

    由于浮点数有舍入误差,接近但不等于的特点,最好不适用浮点数进行比较,可以使用BigDecimal提供的方法进行比较。

  • 字符拓展:

    所有字符的本质还是数字

    char s1 = 'a';
    char s2 = '小';
    System.out.println(s1);//输出 a
    System.out.println((int)s1);//强制转换 输出 97
    System.out.println(s2);//输出 小
    System.out.println((int)s2);//强制转换 输出 23567
    
  • 布尔拓展:

    boolean flag =true;
    if(flag){} == if(flag==true){}//二者是等价的
    

04 类型转换

  • 强制类型转换:一般是高容量转换到低容量的转换。格式:(类型)变量名
int i = 12;
byte b = (byte)i;
System.out.println(i);//输出12
System.out.println(b);//输出12
  • 自动类型转化:低容量到高容量直接转换。

    ------------------------------------->byte,short,char->int->long->float->double
    
    int i = 12;
    double b = i;
    System.out.println(i);//输出12
    System.out.println(b);//输出12.0
    
  • 注意点

    1. 布尔类型不能进行转换
    2. 转换的时候可能出现内存溢出,或者精度问题
//溢出问题
int money = 10_0000_0000;//数字之间可以用下划线分割
int year = 20;
int total = money*year;//计算时溢出 输出为-1474836480
long total1 = money*year;//默认为int类型,转换之前就出了问题。所以输出依旧是-1474836480
long total2 = money*((long)year);//输出20000000000
//精度问题
System.out.println((int)23.7);//输出23
System.out.println((int)-20.4f);//输出-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值