小白——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位 ...
随机推荐
- Go笔记-变量
声明变量的一般形式: var indentifier type 实例: var a int var b bool var str string var ( ...
- 如何在Windows上安装多个MySQL
将MySQL注册为系统服务:%MySQL_HOME%\bin>mysqld --install mysql5.1,此时,在运行中输入"services.msc"或者打开&qu ...
- Spring整合JMS(三)——MessageConverter介绍
原文链接:http://haohaoxuexi.iteye.com/blog/1900937 1.4 消息转换器MessageConverter MessageConverter的作用主要有两 ...
- 51NOD 1220 约数之和 [杜教筛]
1220 约数之和 题意:求\(\sum_{i=1}^n \sum_{j=1}^n \sigma_1(ij)\) \[ \sigma_0(ij) = \sum_{x\mid i}\sum_{y\mi ...
- GSS1
于是我拿合并返回节点的线段树(我也不知道应该叫什么名)水了一下$GSS1$ 比$NOIp$之前写的不知道高到哪里去了,并且只用了$\frac{1}{3}$的时间 #include <iostre ...
- 《CSS核心技术详解》
前言 看似简单的CSS,却暗藏玄机,那是我们摸爬滚打好长时间后悟出的真理. 在很长的一段时间里,我并没有重视CSS,觉得CSS很简单,无非就是一些属性:后来才发现自己小看了CSS,对CSS的了解实在是 ...
- Sql server 卸载方法
sql server不正确卸载时,重新安装会失败,会提示各种错误:如数据库实例已存在等... 下面是我摸索总结出来的卸载方法,以及重装失败后的处理方法: 卸载方法: 注意:SQL Server 200 ...
- snowflake 分布式唯一ID生成器
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 原文参考运维生存和开源中国上的代码整理 我的环境是pytho ...
- MySql 性能调优策略
本主题调优针对于my.cnf配置来做详细的参数说明 示例配置如下: #cat my.cnf # MySQL client library initialization. [client] port = ...
- 【Unity3D技术文档翻译】第1.7篇 AssetBundles 补丁更新
上一章:[Unity3D技术文档翻译]第1.6篇 使用 AssetBundle Manager 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced ...