小白——java基础之数据类型
PS:此文章为小白提供,大佬请绕道!!!!
首先特别感谢大才哥给我提供这个平台,未来我希望把java这个版块的内容补全。
今天要讲的是数据类型,最最最基础的内容~
java标识符、数据类型、关键字
开始我们先看下如何注释java代码。
标识符:类名,方法名,变量。
有三种方式分别为
//表示注释一行代码
/*
表示注释一行或者多行代码
(从上面到下面都是注释的代码)
*/
下面还有一种注释方式叫做文档注释。
/**
通常这样表示
*/
文档注释一般写在代码开头用来简述你所做程序的具体内容,在这之前我们首先看一下javadoc命令,我先编写一个简答的代码:
package com.briup.chap02;
/**
@author Twinkle
@version 1.0
It’s a text file
*/
public class PrimitiveType{
public static void main(String[] args){
;
;
}
}
我们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基本的数据类型就讲到这里啦~
小白——java基础之数据类型的更多相关文章
- java基础(数据类型,运算符)
java基础之数据类型(变量) java中存在的数据有常量和变量 常量:在程序执行的过程中其值不可以发生改变 常量的分类 字面值常量 字面值常量的分类 常量 描述 字符串常量 用双引号括起来的内容 整 ...
- java基础-引用数据类型之二维数组(Array)
java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...
- java基础-引用数据类型之一维数组(Array)
java基础-引用数据类型之一维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的定义 1>.为什么需要数组 保存一个数据可以定义一个变量,如果要保 ...
- Java基础-引用数据类型之集合(Collection)
Java基础-引用数据类型之集合(Collection) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便 ...
- java基础-02数据类型
基本类型 整数 byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 最小值是 -128(-2^7) 最大值是 127(2^7-1) 默认值是 0 byte 类型用在大型数组中节约空间 ...
- 【Spring学习】【Java基础回顾-数据类型】
Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...
- java基础知识-数据类型及转换
1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...
- 闲来无事——第一弹 Java基础 基本数据类型
一个优秀的Java类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...
- Java基础之数据类型和转换
一.常见的数据类型分类 1.java中基本数据类型分为三大类,即布尔类型,字符型,数值型.其中数值型又分为整型和浮点型.引用数据类型分为类,接口,数组,枚举,注解.具体如下: 注:一个字节 = 8位 ...
随机推荐
- 造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?
造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些? 真题1.造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些? 答案:在执行“sql ...
- MySQL死锁[转]
案例描述 在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志. 两个sql语句如下: (1)inse ...
- BZOJ 4698: Sdoi2008 Sandy的卡片 [后缀自动机]
4698: Sdoi2008 Sandy的卡片 题意:差分后就是多个串LCS SAM+map大法好 模板打错 智力-2 #include <iostream> #include <c ...
- DNA序列局部比对(Smith–Waterman algorithm)
生物信息原理作业第三弹:DNA序列局部比对,利用Smith–Waterman算法,python3.6代码实现. 实例以及原理均来自https://en.wikipedia.org/wiki/Smith ...
- ------- 软件调试——注销 QQ 过滤驱动设置的事件通知 CallBack (完)-------
---------------------------------------------------------------------------------- 本系列的最后一篇演示如何通过调试手 ...
- Linux系统下LNMP一键搭建Linux、PHP、MySQL环境(适合新手搭建linux下的web生成环境)
一. 首先要解释一下,什么是LNMP,LNMP起源于LAMP,LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的缩写,这里将Web服务端的Apache替换 ...
- jquery $(document).ready() 与window.onload的区别(转)
Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间 windo ...
- Angular4---部署---Angular 与 Nginx的邂逅
Nginx + Angular结合操作 1.下载Nginx , 根据自己的版本下载Nginx,关于Nginx配置,请看https://www.cnblogs.com/MBirds/p/6605366. ...
- RabbitMQ 简单测试
RabbitMQ 测试 RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个 ...
- 广告中的AdNetwork、AdExchange、DSP、SSP、RTB和DMP是什么?
[https://www.douban.com/note/557732418/?type=rec] AdNetwork.AdExchange.DSP.SSP.RTB.DMP这些模式之间存在着内在的关系 ...