Java基本类型介绍
说明: 关于编译环境,安装相应的IDE等相关知识本文不会介绍,请自行百度
标识符和关键字
标识符
定义 : 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。
语法规则 :
(1) 由字母、下划线、美元符号$、数字构成,长度无限制。
(2) 第一个字符不可以是数字字符。
(3) 不可以是关键字(关键字会在后续说明)。
(4) 不可以是true、false、null这三个字符。
(5) Java为强类型语言,所以严格区分大小写。
(6) 使用比ASCII码更广泛的Unicode字符集,所以在(1)中所说的“字母”包含部分简体中文。
关键字
说明 : 关键字就是Java中被赋予特定意义的单词。下面给出部分示例:
abstract; assert; boolean; break; byte; case; catch;
char; class; const; continue default; do; double; else;
enum; extends; final; ... //分号表示间隔
分隔符
1.注释符 :
(1)// 单行注释(以双斜杠开始,终止于行尾,注释一行,可放在语句后面)
(2)/*
*/
多行注释( /*
开始,*/
结束,中间可写多行)
(3)/**
开始,*/
结束,这种注释主要是为了支持JDK工具javadoc而采用的。
2.空白符 :
空格,回车,换行,制表符tab等。 为增强代码的可读性而建立,系统编译时会忽略它。
3.普通分隔符 :
点号,分号,冒号,大括号,方括号,小括号。因为和C/C++用法相同,此处不再赘述。
基本数据类型
Java语言有八中基本数据类型,习惯上可以分为四大类:
- 逻辑类型: boolean
- 整数类型: byte 、short 、int 、long
- 字符类型: char
- 浮点类型: float 、double
逻辑类型
常量: true 、false
变量: 使用关键字boolean
来声明。
整数类型
十进制用数字1~9开头,八进制用数字0开头,十六机制用0x开头。
因为基本上和C语言差不多,稍微有点编程基础就可以理解,此处就不再赘述。
重点讲一下和C语言不同的地方:
(1)Java中不存在byte和short的常量表示法,但是可以把一定范围内的int型常量赋值给byte或short型变量。
(2)long型常量用后缀L来表示,如108L。
(3)这四个不同的类型区别:只是声明时系统分配予其内存的大小和其所能表示数的范围大小。
整数类型 | 所占字节数 | 所占位数 | 取值范围 |
---|---|---|---|
int型 | 4 byte | 32 bit | -231~2^31-1 |
byte型 | 1 byte | 8 bit | -27~27-1 |
short型 | 2 byte | 16 bit | -215~215-1 |
long型 | 8 byte | 64 bit | -263~263-1 |
字符类型
这里的char是相对Unicode来说的,所以 申请时系统分配给两个字节,占16位,最高位不是符号位,没有负数的char。char类型的取值范围是0~65535。
// 情况 1
char x = 'a';
char x = 97; //两者是等价的,因为97就是a字符在Unicode表当中的位置
// 情况 2
char ch1 = '\n';
char ch2 = '\"';
char ch3 = '\\'; //有些字符只能通过转义字符进行输入
说明 : 要观察一个字符在Unicode表中的顺序位置,可以使用int型显式转换,如(int)'a'
或int p = 'a'
。如果要得到一个0~65536的数所代表的Unicode表中相应位置上的字符,需使用char显式转换,示例如下:
public class Test{public static void main(String args[]){char ch1 = 'w',ch2 = '好';int p1 = 32831,p2 = 30452;System.out.printIn("\""+ch1+"\"的位置:"+(int)ch1);System.out.printIn("\""+ch2+"\"的位置:"+(int)ch2);System.out.printIn("第"+p1+"个位置上的字符是:"+(char)p1);System.out.printIn("第"+p2+"个位置上的字符是:"+(char)p2);}
}
有兴趣的同学可以在自己的编译器下跑跑试试。
浮点类型
float型
(1) float定义常量时,常量后面必须要有后缀f或F。
(2) float变量在存储float类型数据时保留8位有效数字,实际精度取决于具体数值。
double型
保留16位有效数字,实际精度取决于具体数值。其与float的比较如下:
浮点类型 | 所占字节数 | 所占位数 | 取值范围 |
---|---|---|---|
float型 | 4 | 32 | 10-3810<sup>38</sup>和-10<sup>38</sup>10-38 |
double型 | 8 | 64 | 将上面38换成308 |
基本数据类型的转换
- 将上述类型按照精度从低到高排序为 byte,short,char,int,long,float,double
- 当把级别低的变量的值=>级别高的变量时,系统会自动完成数据类型的转换。
- 当把级别高的变量的值=>级别低的变量时,需要用到强制转换,即显式类型转换运算,格式为: (类型名)要转换的值。
- 强制转换会造成“精度损失”或“数据溢出”。例如:
float i = 10.1;
double l = i; //自动转换
byte b = (byte)i; //强制转换,精度损失 b = 10
byte c = (byte)128; //数据溢出,c = -128
常见错误: 把一个double型常量赋值给float常量时未进行强制转换.
错误示范: float x = 12.4
正确做法: float x = (float)12.4
或者 float x = 12.4f
下面用一段代码总结一下上面所讲的内容:
public class Example{public static void main(String args[]){int c = 128;long d = 77777;float f = 2e3f;double g = 3.14e-300; //指数表示法double result = f*g;System.out.println("f= "+f);System.out.println("g= "+g);System.out.println("result= "+result);g = 1234.12345678;c = (int)d;f = (float)g;System.out.println("c= "+c);System.out.println("d= "+d);System.out.println("f= "+f);System.out.println("g= "+g);}
}
运行结果如下:
x1aolin@x1aolin-E402NA:~/桌面$ java Example
f= 2000.0
g= 3.14E-300
result= 6.28E-297
c= 77777
d= 77777
f= 1234.1234
g= 1234.12345678
Java基本类型介绍相关推荐
- Java枚举类型介绍
简介 Java的枚举类型用于在某些东西可以枚举出来的时候,我们可以把它定义为枚举类型,然后把其中包含的可选值一一枚举.打个比方,我们现在有一堆数字,大致可以分为四种类型,整型.浮点型.金额和百分比.整 ...
- java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】
Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...
- java 布尔类型_Java的布尔类型基本介绍
Java 有一种表示逻辑值的简单类型,称为布尔型.它的值只能是真或假这两个值中的一个.它是所有的诸如a下面的程序说明了布尔类型的使用: // Demonstrate boolean values. c ...
- Java 动态代理介绍及用法
Java 动态代理介绍及用法 一,静态代理模式的特点 在之前的文章中 java代理模式 已经介绍里java里的(静态)代理模式 下面是上文静态代理类的例子: public class ProxyBea ...
- java集合框架介绍_Java集合框架介绍
Java集合框架介绍 发布时间:2020-06-26 17:00:14 来源:亿速云 阅读:85 作者:Leah 这篇文章将为大家详细讲解有关Java集合框架介绍,文章内容质量较高,因此小编分享给大家 ...
- java.util.concurrent介绍【转】
java.util.concurrent介绍 java.util.concurrent 包含许多线程安全.测试良好.高性能的并发构建块.不客气地说,创建 java.util.concurrent 的目 ...
- [译]Java 垃圾回收介绍
说明:这篇文章来翻译来自于Javapapers 的Java Garbage Collection Introduction 在Java中,对象内存空间的分配与回收是由JVM中的垃圾回收进程自动完成的. ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
- java char类型空值_展望Java的未来:空值类型
java char类型空值 尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于 ...
最新文章
- TIOBE 5 月编程语言榜单:Python 超越 Java 重回第二,Rust 崛起
- html折线图怎么控制y轴数值,echarts Y轴数据类型不同怎么让折线图显示差距不大...
- ajax中 get 和 post 的区别
- 20200207_Dontla_MBTI第二步基本分析报告((ISTJ))
- 教你如何使用 OpenCV检测图像中的轮廓
- Zookeeper的节点操作
- php多进程mysql更新不了_php MYSQL 数据更新修改不了
- linux钟java运行命令,在java中运行linux命令
- 7-107 找出三位水仙花数 (15 分)
- iOS YYKit学习之YYText的使用
- photoshop 调用扫描仪扫描证件至电脑
- 电池SOC仿真系列-基于卡尔曼滤波算法的电池参数辨识
- 机器学习如何优化策略游戏
- 【程序人生】有个程序员男朋友是什么体验?被公开吐槽
- Tomcat安装及环境配置教程
- “创新雷神号”卫星成功发射,华为云分布式云原生“天地一体”首次组网成功
- Linux帐号和登录安全
- Django基于admin的stark组件创建(一)
- 计算机键盘打字基础知识,电脑打字基础知识,新手自学【入门篇】
- 点计算机显示服务器运行失败,win7电脑总是跳出Explorer.exe服务器运行失败的窗口怎么办?...
热门文章
- mysql 外键报错_MySQL添加外键、删除外键方式,MySQL删除外键报错快速解决方案...
- 看了就懂了,LCD拼接屏、LED显示屏、OLED显示屏三者的区别!
- CPU被挖矿,Redis竟是内鬼,
- 计算机国际会议开幕词,国际学术会议开幕词.doc
- Unity3D-获取字体的实际像素宽高
- 重庆公需科目快速看视频方法自动学习 python
- Java实现 LeetCode 457 环形数组循环
- MySQL查询报错Unknown column ‘new_edition‘ in ‘IN/ALL/ANY subquery‘
- 修改nginx web服务器默认目录结构,Nginx更改Web根目录导致403 Forbidden
- for语句和while循环二者无条件等价