PS:此文章为小白提供,大佬请绕道!!!!html
首先特别感谢大才哥给我提供这个平台,将来我但愿把java这个版块的内容补全。java
今天要讲的是数据类型,最最最基础的内容~编程
java标识符、数据类型、关键字编码
开始咱们先看下如何注释java代码。code
标识符:类名,方法名,变量。htm
有三种方式分别为内存
//表示注释一行代码unicode
/*文档
表示注释一行或者多行代码虚拟机
(从上面到下面都是注释的代码)
*/
下面还有一种注释方式叫作文档注释。
/**
一般这样表示
*/
文档注释通常写在代码开头用来简述你所作程序的具体内容,在这以前咱们首先看一下javadoc命令,我先编写一个简答的代码:
package com.briup.chap02; /** @author Twinkle @version 1.0 It’s a text file */ public class PrimitiveType{ public static void main(String[] args){ byte b = 123; byte b1 = 300; } }
咱们javadoc -d 生成目录 编译文件
编译成功后,咱们打开刚刚生成doc里打开index.html看一下,大概是这样的:
类概要
类:
Student
说明:
It’s a text file
这样咱们就能够看出文档注释的意义了,他能够显示在你编译出来文档的说明里,但有人会发现为啥咱们编写出来的author没有出来呀?
由于他的最前面有一个@,咱们须要编写的时候把它加上去才能显示出来,如今咱们来试一下:
–javadoc -d bin/doc-author -version src/PrimitiveType.java,
这样做者和版本信息就出来了。
一.类名
这边咱们要记住一些代码的基本格式:
类名的写法:Student(前面首字母要大写)
方法和变量的写法:genderItem(前面单词小写,后面单词开头要大写)
常量写法:MAX_PAGE(常量大写,中间通常加下划线)
二.关键字
关键字其实就是电脑里面已经定义好的有特殊意义的标识符,像int,for,double什么的都是关键字。具体意思请百度一下~
三.数据类型
数据类型是这篇文章的重点,咱们来看下这些基本的数据类型
类型 二进制位 例 范围
byte 8位 11111111~01111111 -2^7~2^7-1
short 16位 16个二进制代码 -2^15~2^15-1
int 32位 32个二进制代码 -2^31~2^31-1
long 64位 64个二进制代码 -2^63~2^63-1
浮点型:
float 32位 32个二进制代码
double 64位 64个二进制代码
布尔型:
boolean 只有false和true两种类型。
具体解释一下为何会有这么多类型呢?并且二进制位为何还不同?
类型多的缘由是由于有些数值自己就很小,传递给大的数据类型的话,虽然能够进去,可是有些二进制位就空闲了,占用了多余的内存却没有什么做用,因此才会有这么多的类型。
咱们知道编程最终的目的是咱们把代码传递给硬件,经过硬件来工做,可是呢,硬件只识别二进制代码,因此java会有一个把它的代码转化为二进制代码的过渡,上面的二进制位就是二进制码的数目,咱们要想看他的范围有多大,能够这样算,二进制的第一位为标志符,通俗一点讲就是正负号,后面还有n位的话它的范围就是-|2^n|~|2^n-1|
若是咱们定义的类型超出这个范围的话(也就是盆子里已经装满了东西若是再加),java就会报错,超出指定的范围,因此当咱们定义数据类型的时候要搞清楚各数据类型的范围。
还有一个特殊的数据类型:char (‘字符’)
char的具体位数要结合unicode编码。问题又来了,unicode编码又是什么鬼!unicode编码是一个字符集,里面包含了中,日,韩,三种文字,咱们能够经过char的方法来打印出字符:char(‘u\unicode编码’),unicode表具体百度一下哈~
数据类型转换:
显式转换:也就是强制转换
隐式转换:由JVM虚拟机自行转换
数据类型的强制转换:int a = (强制转换类型)b
转换规则:从存储范围大的类型到存储范围小的类型。
具体规则为:double→float→long→int→short(char)→byte
byte b =10;
byte a = (int) b;
若是咱们把int类型的b转换给byte类型的a的话,会出现溢出现象,因此会报错。
因此正确强制转换的方式为~~:
byte b = 10;
int(或者更大的类型) a =(int) b;
java基本的数据类型就讲到这里啦~