Java全栈(二)JavaSE:3.注释,标识符和数据类型及进制

声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。

一.注释

1.注释的作用

  • 平时我们编写代码时,如果代码量较少,也许我们还能看懂。但当项目结构复杂,代码量较多时。想要快速的看懂代码就比较困难了
  • 注释并不会被执行,而是对代码的描述,是写给我们人看的
  • 书写注释是一个非常好的习惯

2.Java中添加注释的方法

单行注释

public class HelloWorld {
    public static void main(String[] args) {
        // 输出一个Hello World
        System.out.println("Hello World!!");
    }
}
格式:  // 内容

多行注释

public class HelloWorld {
    public static void main(String[] args) {
        /*
        这是一个多行注释
        输出Hello World!!
        */
        System.out.println("Hello World!!");
    }
}
格式: /*内容*/

二.标识符

1.关键字

有些 “单词+” 在Java语言中,是具有特定含义的。我们把这一类“单词”称为关键字。

Java中常见的关键字有:

在这里插入图片描述

2.标识符

Java中所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符。
例如,我们前面代码中的HelloWorld 就是一个标识符(类名)。
在这里插入图片描述

(1)标识符的命名规则(必须遵守)

  • 所有的标识符都应该以字母(A-Z或者a-z),数字,下划线(_),美元符($)组成
  • 不能以数字开头
  • 不能使用关键字作为标识符
  • 区分大小写(man和Man不是同一个标识符)
    在这里插入图片描述

(2)标识符的命名规范(不强制要求,但大家约定成俗的)

  • 见名知意

  • 类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,
    例如:HelloWorld,String,System等

  • 变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,
    例如:age,name,bookName,main

  • 包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,
    例如:java.lang

  • 常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,
    例如:MAX_VALUE,PI

三.数据类型

1.强弱类型语言

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。也就是说,一旦一个变量被指定了某个数据类型,如果不经过数据转换,那么它就永远是这个数据类型了。如:Java。C,C++
  • 弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。你想把这个变量当做什么类型来用,就当做什么类型来用,语言的解析器会自动(隐式)转换。如:python,JavaScript

2.Java的数据类型

Java的数据类型可以分为:基本数据类型和引用数据类型。
在这里插入图片描述
Java中的默认类型:整数类型是int 、浮点类型是double
在这里插入图片描述
基本数据类型:

类型名称字节、位数最小值最大值默认值例子
byte字节1字节,8位-128(-2^7)127(2^7-1)0byte a = 100,byte b = -50
short短整型2字节,16位-32768(-2^15)32767(2^15 - 1)0short s = 1000,short r = -20000
int整形4字节,32位-2,147,483,648(-2^31)2,147,483,647(2^31 - 1)0int a = 100000, int b = -200000
lang长整型8字节,64位-9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)0Llong a = 100000L,Long b = -200000L
double双精度8字节,64位double类型同样不能表示精确的值,如货币0.0ddouble d1 = 123.4
float单精度4字节, 32位在储存大型浮点数组的时候可节省内存空间 不同统计精准的货币值0.0ffloat f1 = 234.5f
char字符2字节,16位\u0000(即为0)\uffff(即为65,535)可以储存任何字符char letter = ‘A’;
boolean布尔返回true和false两个值这种类型只作为一种标志来记录 true/false 情况只有两个取值:true 和 false;falseboolean one = true
public class Demo01 {
    public static void main(String[] args) {
        // 整数
        int num1 = 10; //最常用
        byte num2 = 10;
        short num3 = 10;
        long num4 = 10L; //long类型要在数字后加L,用于区别这是一个long类型
        
        // 浮点数
        float num5 = 10.1F; //float类型要在数字后加F,用于区别这是一个float类型
        double num6 = 10.1D; //float类型数字后面可以加上D,也可以不加,默认浮点数类型就为double
        
        //布尔类型,只能为true或者false
        boolean flag1 = true;
        boolean flag2 = false;
        
        //字符
        char name1 = '牛'; //注意,字符型需要用单引号括起来,且只能有一个字。
        
        //字符串。注意:字符串不是基本数据类型,String也不是关键字,它是一个类
        String name2 = "牛年大吉"; //字符串类型,用双引号括起来,可以有多个字
    }
}

** 引用类型**
Java中出了基本类型外,其他都是引用类型。它包含:类,接口,数组。对于引用数据类型,我们在以后去讲解,这里不做讨论。

3.什么是字节

在这里插入图片描述

4.数据类型拓展

4.1浮点数的问题

我们看下面两个例子:
例1:

public class Demo3 {
    public static void main(String[] args) {
        float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d);
        System.out.println(f);
        System.out.println(d);
    }
}

运行结果:
在这里插入图片描述
例2:

public class Demo4 {
    public static void main(String[] args) {
        float f1 = 2333322222222222222f;
        float f2 = f1 + 1;
        System.out.println(f1==f2);
    }
}

结果如下:
在这里插入图片描述
原因:浮点数(float和double)的位数都是有限的,当位数超出它们的极限时,就会采用四舍五入法,因此得出的结果也不是精确的结果。
所有我们在处理银行等涉及数字敏感的业务时,最好不要使用浮点数。推荐使用Java的一个数学工具类,BigDecimal。在后续我们会讲解这个类。

4.2字符与数字

我们看这个例子:

public class Demo4 {
    public static void main(String[] args) {
        char a = 'a';
        char b = '牛';
        System.out.println(a);
        System.out.println((int)a); //(int)a》将变量a强制转换为int类型
        System.out.println(b);
        System.out.println((int)b);
    }
}

结果如下:
在这里插入图片描述
我们可以认为:字符的本质还是数字。
所有的字符都是Unicode编码得到的,在Unicode表中每一个阿拉伯数字都对应一个字符。如:97=a;29275=牛

四.类型转换

由于Java是一门强类型的语言,所以在进行运算的时候,需要将不同的数据类型转换为同一类型,才能进行计算。这就需要使用类型转换。
Java中的类型转换分为两种:自动类型转换和强制类型转换。
在讲类型转换前我们需要先知道各种基本数据类型的位数高低情况:
在这里插入图片描述

1.自动类型转换

数据需要满足几点要求才能进行自动类型转换

  • 两个数据要为可兼容的数据类型(boolean类型除外,其他基本数据类型都可以互相转换)
  • 转换前的数据类型要低于转换后的数据类型(从低到高)
public class Demo5 {
    public static void main(String[] args) {
        byte b1 = 10;
        int b2 = b1 + 1; //自动将b1转换为int类型,不需要我们做其他操作
    }
}

2.强制类型转换

数据需要满足几点要求才能进行自动类型转换:

  • 两个数据要为可兼容的数据类型(boolean类型除外,其他基本数据类型都可以互相转换)
  • 转换前的数据类型要高于转换后的数据类型(从高到低)
  • 格式:(转换后的数据类型)[转换前的变量]
public class Demo5 {
    public static void main(String[] args) {
        int b1 = 10;
        byte b2 = (byte)b1; //需要强制b1转换为byte类型
    }
}

强制转换的问题:

  • 因为强制转换是将高位数(范围大)的数据转换为低位数(范围小)数据。当我们的高位数的数据超过低位时的最大范围时,必定会造成数据丢失。这叫做内存溢出。
public class Demo5 {
    public static void main(String[] args) {
        int b1 = 128;
        byte b2 = (byte)b1; //byte最大的范围为127
        System.out.println(b2);
    }
}

结果如下:
在这里插入图片描述

  • 浮点数转换为整数时,也必定会导致数据丢失。
  • 所以我们在强制转换时,一定要注意数据丢失问题。

五.进制

进制也就是进位计数制,是人为定义的带进位的计数方法 。

1、进制的分类

(1)十进制:
数字组成:0-9
进位规则:逢十进一

(2)二进制:
数字组成:0-1
进位规则:逢二进一

十进制的256,二进制:100000000,为了缩短二进制的表示,又要贴近二进制,在程序中引入八进制和十六进制

(3)八进制:很少使用
数字组成:0-7
进位规则:逢八进一

与二进制换算规则:每三位二进制是一位八进制值

(4)十六进制
数字组成:0-9,a-f
进位规则:逢十六进一

与二进制换算规则:每四位二进制是一位十六进制值

2、进制的换算
十进制二进制八进制十六进制
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012a或A
11101113b或B
12110014c或C
13110115d或D
14111016e或E
15111117f或F
16100002010
  • **十进制数据转成二进制数据:**使用除以2倒取余数的方式
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Ynm44Ay-1628683525178)(img/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6.jpg)]

  • 二进制数据转成十进制数据:

    从右边开始依次是2的0次,2的1次,2的2次。。。。

在这里插入图片描述

  • 二进制数据转八进制数据

    ​ 从右边开始,三位一组

在这里插入图片描述

  • 二进制数据转十六进制数据

    ​ 从右边开始,四位一组
    在这里插入图片描述

3、在代码中如何表示四种进制的值

请分别用四种类型的进制来表示10,并输出它的结果:(了解)

(1)十进制:正常表示

System.out.println(10);

结果如下:
在这里插入图片描述

(2)二进制:0b或0B开头

System.out.println(0B10);

结果如下:
在这里插入图片描述

(3)八进制:0开头

System.out.println(010);

结果如下:
在这里插入图片描述

(4)十六进制:0x或0X开头

System.out.println(0X10);

结果如下:
在这里插入图片描述

4.计算机存储单位
  • **字节(Byte):**是计算机信息技术用于计量存储容量的一种计量单位,一字节等于八位。

  • **位(bit):**是数据存储的最小单位。也就是二进制。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。

  • 转换关系:

    • 8 bit = 1 Byte
    • 1024 Byte = 1 KB
    • 1024 KB = 1 MB
    • 1024 MB = 1 GB
    • 1024 GB = 1 TB

总结:本章我们学习了Java中的注释,标识符,以及数据类型及数据转换。这些都是学习Java的基础,需要掌握牢靠。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值