JAVA基本数据类型和注释
一、注释
1、注释的概念
注释是程序中给人看的提示信息,会被编译器忽略;在程序编译和执行过程中不会有任何影响,仅仅在代码阅读时提供提示信息。
2、注释的形式
基本语法://注释的内容 a、行注释
解释:其中双斜线之后到当前行结尾的内容被注释掉了
b、块注释
基本语法:/* … */
解释:则/* 和 */之间的内容被注释掉,可以跨多行注释 块注释在使用时,禁止嵌套使用。
c、文档注释
基本语法:/**...*/
则/** 和 */之间的内容被注释掉,可以跨多行注释 文档注释在使用时,禁止嵌套使用;文档注释通常用来声明一个类的方法属性的功能,文档注释在通过javadoc命令生成文档时可以被提取成文档的一部分。
实验:编写一个类,具有文档注释,通过文档提取工具生成文档
- /** 这是一个代表人的类 */
public class Person{
//声明了一个类,名叫Person
public static void main(String args[]){
/* 床前明月光 疑是地上霜 举头望明月 低头思故乡 */
System.out.println("hello world~");
}
2)通过javadoc命令,提取文档
3)查看提取文档
二、进制
1、进制的概念
数字在累计时,进位的机制称之为进制。
a、十进制
逢十进一:0 1 2 3 4 5 6 7 8 9 10 11 …
b、二进制
计算机可以处理很多不同类型的数据,但是在计算机的底层,最终是对数字的存储和处理;基于计算机硬件是实现的方便,计算机底层存储和处理数据都是以二进制形式进行的。
二进制:逢二进一 0 1 10 11 100 101 110 111 1000 …
c、八进制
由于人看二进制非常不习惯,且二进制和十进制之间的转换比较麻烦,因此人们提出了八进制和十六进制。八是二的三次幂,即三位二进制对应一位八进制,非常便于转换。
八进制:逢八进一 0 1 2 3 4 5 6 7 10 11...
d、十六进制
十六是二的四次幂,即每四位二进制对应一位十六进制,非常便于转换。
十六进制:逢十六进一 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11..
2.进制之间的转换
a、十进制转二进制
方法:通过除2取余计算十进制的二进制表示形式。
b、二进制转十进制
c、八进制转二进制
将每一位八进制转换为二进制拼接到一起即可。
d、二进制转八进制
由后向前,每三位转换为一个八进制数,拼接即可
e、十六进制转二进制
将每一位十六进制转换为二进制拼接到一起即可。
f、二进制转十六进制
由后向前,每四位转换为一个十六进制,拼接即可
3、二进制的单位
在计算机内部,每一位的二进制称之为一个比特位(bit),简称比特,也称之为二进制位。
而每八位二进制组合在一起,称之为一个字节(Byte);
每1024个Byte,称之为一个KB,每1024个KB,称之为一个MB;
每1024个MB,称之为一个GB,每1024个GB,称之为一个TB;
每1024个TB,称之为一个PB;
市场上卖的硬盘通常采用1000形式,二非1024形式,因此一个TB的硬盘只有800GB左右。带宽100Mb其实指的是100Mbit转换为Byte其实只有12.5MB;
三、计算机中的数据表示形式
1、信息的二进制表示形式
计算机可以处理很多不同类型的数据,比如,数字、文本、图片等,看似计算机什么都能处理,其实计算机处理任何数据都是将数据转换为二进制来进行存储和处理的。
文字也需要转换为二进制后才能在计算机底层处理,这是通过文字码来是实现的。
所谓的文字码表是一个映射关系,将字符和对应的二进制数字映射起来。
2、码表
码表就是字符到二进制的映射关系。
四、JAVA基本数据类型
1、直接量
a、数字直接量
java支持十进制、二进制、八进制、十六进制代表数字直接量;其中,二进制、八进制和十六进制需要通过不同的前缀开头。
b、字符直接量
Java中通过单引号将字符括起来代表一个字符直接量。
一个字符直接量只能代表一个字符,不可以在一个字符直接量中写入多个字符,不允许有空的字符直接量。
c、布尔直接量
java中具有布尔类型直接量,代表逻辑判断时的真和假;布尔类型的直接量只有两个:
2、数据类型的概述
java语言可以处理各种各样不同类型的数据,在java语言中通过数据类型来表征不同数据的类型,这就是所谓的数据类型的概念。
java中的数据类型主要分为基本数据类型和引用数据类型(复杂数据类型)
3、基本数据类型
a、概述
byte | 字节型 | 1字节 |
short | 短整型 | 2字节 |
int | 整型 | 4字节 |
long | 长整型 | 8字节 |
float | 单精度浮点数 | 4字节 |
double | 双精度浮点数 | 8字节 |
char | 字符型 | 2字节 |
boolean | 布尔类型 | 1字节 |
1)byte类型
字节型数字,占用一个字节。
可以表示-2^7~2^7-1(-128~127)范围的数。其二进制表示形式中,第一个二进制为符号位,表示正负,0为正,1为负。其他二进制位表示数值。注意:负数时,第一位也算在内。
2)short类型
代表短整型数字。占用两个字节。表示-2^15~2^15-1(-32768~32767)。
其二进制表示形式中,第一二进制表示正负,0为正,1为负,其他二进制位表示数值;
和byte类似,在最大的数上+1或者在最小的数上-1都会造成溢出。
3)int类型
代表整形数字。占用四个字节。表示-2^31~2^31-1(-2147483648~2147483647)。是java中用的最多的数字类型。java中的数字直接量如果不指定,默认都是int类型。
其二进制表示形式中,第一二进制表示正负,0为正,1为负,其他二进制位表示数值;
和byte类似,在最大的数上+1或者在最小的数上-1都会造成溢出。
4)long类型
代表长整型。占用八个字节。表示-2^63~2^63-1(-9223372036854775808~9223372036854775807)。所有long型数据直接量都要在数字后加L表示。
其二进制表示形式中,第一二进制表示正负,0为正,1为负,其他二进制位表示数值;和byte类似,在最大的数上+1或者在最小的数上-1都会造成溢出。
5)float类型
代表单精度浮点数。占用4个字节。所有float型数据直接量都要在数字后加F表示。
其二进制表示形式中,第一二进制表示正负,0为正,1为负,其他二进制位表示数值;和byte类似,在最大的数上+1或者在最小的数上-1都会造成溢出。
浮点数在进行运算时,可能存在精度不准确问题,且没有办法完全避免。比如:以下例子输出的值就不准确。
6)double
代表双精度浮点数。占用8个字节。所有double型数据直接量都要在数字后加d表示。
如果浮点数没有加f或者d,默认就是double。浮点数也可以使用科学计数法表示。例如:2.131e3.
和byte类似,在最大的数上+1或者在最小的数上-1都会造成溢出。
浮点数在进行运算时,可能存在精度不准确问题,且没有办法完全避免。
7)char
代表字符类型。占用2个字节。
可以代表0~2^16 - 1。即:0~65535个字符。
对于无法直接显示的符号支持通过转义字符来间接表示。
转义字符以反斜杠开始,后面跟一个普通字符来表示,不同转义字符有不同含义:
其中比较重要的是:\n、\r、\t、\\、\'、\''、\uxxx
8)boolean
代表布尔类型。占用一个字节。
4、引用数据类型(复杂数据类型)
引用类型数据,通过引用在栈中存放的真正目标数据在堆中的内存地址,来进行存储。使用时,通过引用找到栈中存储的内存地址后,最终通过地址在堆中找到真正的目标数据。
包括:数据,对象等。
5、类型转换
java中的数据具有数据,其转换规则为从小到大自动转换。
a、自动类型转换
1、六个和数字相关的基本类型,可以自动由小到大进行类型转换。但反过来就不行。*注意:在进行自动转换浮点数时,可能存在精度丢失。
经典面试题:
byte b1 = 2;
byte b2=3;
byte b3= b1 + b2;//编译不过去,因为b1引入后会转换为int类型。
2、char类型可以根据ASCII码表自动转换为int类型。数值类型在ASCII码表有效字符范围内也可以自动转换为char。
b、手动类型转换
可以在数值类型之间,数值类型和char类型之间进行,实现由大到小的转换。
通过小括号包裹目标类型修饰要转换的数据实现类型转换。
浮点型转整形,直接舍弃小数位;大转小时,大数大于小类型可以表示的最大范围时,则直接截取大数中最后的需要字节作为小类型数据使用。
JAVA基本数据类型和注释的更多相关文章
- 【Demo 0001】Java基础-数据类型
本章学习要点: 1. 了解Java 语言 2. 了解Java程序结构; 3. 了解Java中基本数据类型; 4. 掌握基本数据类型之间的运算 ...
- java全栈day01-03注释、关键字与标识符
通常我们需要在源代码中添加文字用来对进行代码解释说明,但这些文字并不是Java代码的语法,会导致编译出错.这时我们可以使用注释来完成这一事项! 在编译时,编译器会忽略注释的存在,就好像注释内容不存在一 ...
- 2. Java基本数据类型及运算符
1. 计算机数制 1.1 计算机信息单位 阅读二进制.字节.字长,回答以下问题: 1. 计算机中采用什么进制存储信息,它的优点是什么 2. 什么是位.字节 3. K.M.G.T.P之间的转换 4. 什 ...
- Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
今天重装系统,安装了新的Myeclipse后,导入之前的项目后,,出现了乱码问题.乱码问题主要是java类中的注释,而jsp页面中汉字却完好如初: 右键项目,查看项目的编码格式,UTF-8,把java ...
- Java SE 基础:注释
Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...
- [java基础]文档注释
转载自:http://blog.163.com/hui_san/blog/static/5710286720104191100389/ 前言 Java 的语法与 C++ 及为相似,那么,你知道 Jav ...
- [转载]将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,解决办法
eclipse 代码中文注释乱码 求解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclips ...
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- Java中数据类型及其之间的转换
Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种:1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits).2 ...
随机推荐
- redis之Hash类型常用方法总结
redis之Hash类型常用方法总结 格式: 存--HMGET key field [field ...] 取--HMGET key field [field ...] M:表示能取多个值,many ...
- 灵光一闪来个科普贴:Linux文件系统
在计算机系统中,各种需要保存的信息都是以文件的形式存在的.文件管理是对系统信息资源的管理,是操作系统的一项重要功能. 1.文件与文件系统: 1.1文件: 文件是具有名字的一组相关信息的有序集合,存放在 ...
- 标准模板库中的向量(vector)
//C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>> 头文件:#include<vector> 向量是最简单的S ...
- nodejs,webpack安装以及初步运用
nodejs安装: 1.下载:https://nodejs.org/en/download/ 2.安装node-v6.11.3-x64.msi文件,直接默认安装(next……): 3.验证是否完成安装 ...
- Codeforces 1296E2. String Coloring (hard version)
这道题和HDU1257一模一样,一开始窝都用贪心直接解,没法理解为什么求一个最长下降序列,直到看了巨巨的题解,先给出一个定理,Dilworth's theorem,离散学不好,补题两行泪,该定理是说, ...
- Java多线程信号量同步类CountDownLatch与Semaphore
信号量同步是指在不同线程之间,通过传递同步信号量来协调线程执行的先后次序.CountDownLatch是基于时间维度的Semaphore则是基于信号维度的. 1:基于执行时间的同步类CountDown ...
- Github版本控制系统
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). 特别推荐简单易懂的廖雪锋大神制作的学习教程: https://www.liaoxuefeng.com/wiki/896043 ...
- 如何看Analysis分析图
第一步,从分析Summary的事务执行情况入手. Summary主要是判定事务的响应时间与执行情况是否合理.如果发现问题,则需要作进一步分析.通常情况下,如果事务执行情况失败或者响应时间过长等,都需要 ...
- MySQL 如何使用 PV 和 PVC?【转】
本节演示如何为 MySQL 数据库提供持久化存储,步骤为: 创建 PV 和 PVC. 部署 MySQL. 向 MySQL 添加数据. 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到 ...
- JS:递归基础及范例——斐波那契数列 、 杨辉三角
定义:程序调用自身的编程技巧称为递归.一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就 ...