闲来无事——第一弹 Java基础 基本数据类型
一个优秀的Java类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头;虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业内潜规则!潜规则!潜规则!重要的事情说三遍!(因为看过一些新手写代码,发现小写的类名,瞬间哭晕在厕所,记忆太深刻了)另外,类、方法、变量的取名尽量要见名思义,方便别人看代码。
一个类中只能有一个public的class,另外main方法也必须是public的,并且一个类中只有一个main方法,main方法还必须是一个静态方法。传说:Java SE1.4之前是没有要求main方法必须是public,于是乎这就成了一个bug,因为当main方法不是public的时候,有些版本的Java解释器也可以执行Java应用程序。
重点来了,Java的基本数据类型,统称为四类八种(四类:整型、字符型、浮点型、布尔型;八种:byte、short、int、long、char、float、double、boolean)。
1、整型
| 类型 | 所占字节数 |
| byte | 1字节 |
| short | 2字节 |
| int | 4字节 |
| long | 8字节 |
一个字节占8位(1byte=8bits),那么这些类型能表示的最大数是多少呢?各位听众,看仔细咯:
以short类型为例,2个字节,16位,用二进制表示最大数就是 1111 1111 1111 1111,理论上来说最大数应该是2^16 - 1,但实际上由于整型是可以为负数的,那么他就是有符号位的,那没办法高位的1就是表示符号位了(最高位为1表示负数,0表示正数),所以正整数的最大数为 0111 1111 1111 1111,即为32627(2^15 - 1);负数的最大数1111 1111 1111 1111,反码(正数没有反码,负数的反码符号位保留,其他位取反)为:1000 0000 0000 0000,补码(补码为反码+1)为:1000 0000 0000 0001,即为-32628(-2^15)。如果不太理解反码和补码的童鞋,速度找度娘去......
| 类型 | 取值范围 |
| byte | -2^7 ~ 2^7 - 1 |
| short | -2^15 ~ 2^15 - 1 |
| int | -2^31 ~ 2^31 - 1 |
| long | -2^63 ~ 2^63 -1 |
所以呢,在进行项目设计的时候,要注意项目可能达到的数据量,确定好范围,在确定数据类型(直接取long型的可以无视这句话)。
2、字符型
字符类型主要是char类型,虽然说还有一个String类型,但是String已经是对象的概念了,不属于基本数据类型。但是char类型在实际应用使用较少,基本上已经都会用String类型来代替。
当然,char型数据和整型是可以互相转换的,主要是因为编码的原因,如:
public class MathTest {
public static void main(String[] args) {
int n = 'a';
long s = 'A';
char m = 97;
System.out.println(n);
System.out.println(s);
System.out.println(m);
}
}
执行结果:97 65 a
3、浮点型
浮点型就是float和double两种数据类型,其实也就是我们常说的小数,float是单精度,double是双精度,一般来说使用double较多,精度高,而且所能代表数据范围更大。
注意: a、由于二进制没有办法精确的表示分数,所以在进行浮点型数据计算的时候会损失精度,所以一般不推荐直接使用浮点型数据进行计算,一般是使用BigDecimal类型。
b、需要注意的一点是,在进行数据定义的时候,浮点型数据的默认类型是double类型,所以像float a = 0.1;这样的写法是错误的,float类型的数据定义一定要在数据后加上f;
在计算过程中三个比较特殊的情况:正无穷大,负无穷大,NaN,这三个值都有常量与之对应

另外,对NaN值的判断不能使用“==”来判断,Java中提供了专门的方法进行判断,Double.isNaN();
4、布尔类型
布尔类型只有一个------boolean,它的值也只有true和false两个;主要用于逻辑判断。
另外,八大基本数据类型都有它们所对应的封装类,主要的区别就是对null值的容纳和封装类还有许多方法。(关于封装类,现阶段了解较少,后期再补上....)
闲来无事——第一弹 Java基础 基本数据类型的更多相关文章
- java基础-引用数据类型之二维数组(Array)
java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...
- java基础-引用数据类型之一维数组(Array)
java基础-引用数据类型之一维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的定义 1>.为什么需要数组 保存一个数据可以定义一个变量,如果要保 ...
- Java基础-引用数据类型之集合(Collection)
Java基础-引用数据类型之集合(Collection) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便 ...
- 第一章 –– Java基础语法
第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...
- java基础(数据类型,运算符)
java基础之数据类型(变量) java中存在的数据有常量和变量 常量:在程序执行的过程中其值不可以发生改变 常量的分类 字面值常量 字面值常量的分类 常量 描述 字符串常量 用双引号括起来的内容 整 ...
- 小白——java基础之数据类型
PS:此文章为小白提供,大佬请绕道!!!! 首先特别感谢大才哥给我提供这个平台,未来我希望把java这个版块的内容补全. 今天要讲的是数据类型,最最最基础的内容~ java标识符.数据类型.关键字 开 ...
- java基础知识-数据类型及转换
1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- java基础-02数据类型
基本类型 整数 byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 最小值是 -128(-2^7) 最大值是 127(2^7-1) 默认值是 0 byte 类型用在大型数组中节约空间 ...
随机推荐
- lisp中的cons
看到ANSI Common Lisp 第三章的游程编码时,就发现作者很准确的使用了list和cons来生成目标列表,虽然list是由cons扩展而来,区别也仅仅是最后一个元素的加入方式,于是勾起了之前 ...
- 错误提示sudo: no tty present and no askpass program specified Sorry, try again.
php调用shell脚本的svnup.php文件内容: <?set_time_limit(0);//$output = array();$ret = 0;exec("/usr/bin/ ...
- transfromjs动画效果
记得以前facebook做过一款HTML5游戏.开场动画是一块软体类似豆腐的东西一起摇摆.类似的效果如下面的gif所示: facebook当时使用的是createjs下的子项目easeljs和twee ...
- ssh config host
Host mygithub HostName github.com User git IdentityFile ~/.ssh/github/id_rsa IdentitiesOnly yes
- tp框架实现防止非法登录
<?phpnamespace Admin\Controller;use Think\Controller;class UserController extends Controller {//登 ...
- 二叉树基本操作C++
#include <cstdio> #include <climits> #include <cassert> #include <iostream> ...
- Java 的replace和replaceAll的使用
(1)replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串. public String replace(char oldChar, ...
- ELK日志管理之——kibana部署
1.kibana安装 [root@localhost ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64 ...
- Java(接口与继承)动手动脑
1>继承条件下的构造方法调用 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改 Parent 构造方法的代码,显式调用 GrandParen ...
- 小tip:CSS vw让overflow:auto页面滚动条出现时不跳动
原文地址:http://www.zhangxinxu.com/wordpress/?p=4552 一.水平居中布局与滚动条跳动的千年难题 当前web届,绝大多数的页面间布局都是水平居中布局,主体定个宽 ...