【黑马程序员】Java基础学习技术博客——基本数据类型
来源:互联网 发布:react.js控制 隐藏div 编辑:程序博客网 时间:2024/06/05 20:53
------- android培训、java培训、期待与您交流! ----------
标识符:类名方法名等,只要是编程,只要是东西,我们常常需要为它起一个名字。
标识符就是指我们给它起的一个合法名字。由字母(包括中文字符、日文字符、韩文字符等),数字,下划线,$组成。但是数字不能开头。
来看下面一些例子:
abc_xyz 对的
helloworld 对的
abc$ 对的
_abc 对的
abc1 对的
abc d 不对
1abc 不对
关键字和保留字:对于Java程序由特殊意义的单词一共有53个,其中
48个关键字:
Boolean int long short byte float double char class interface
if else do while for switch case default break continue return try catch finally
public protected private final void static strictfp abstract transient synchronized volatile native
package import throw throws extends implements this Super instanceof new
两个保留字:goto和const
和三个直接量true、false、和null
53个关键字和保留字所有字母小写。
变量
就是用来记录数据的,计算机内存里数据就需要通过变量来访问它。
在通俗一点,可以把变量理解为容器,它可以装数据。
常见错误:
package javase_day01;public class ErrorDemo {public static void main(String[] args) {String tittle;System.out.println(title);//代码错误,变量应先声明并赋值才能使用。//上面的代码应改写为String tittle="java";}}
变量名的命名最好有意义,也就是说命名不要取a,b,c之类的。应该命名为一些英文单词在测试代码过程中一看就知道大概意思的变量名。
数据类型:
Java书一种强类型语言,
1,所有变量必须先声明类型才能使用
2,指定类型的变量只能装对应类型的数据,即什么样的瓶子装什么样的酒
8个基本数据类型包括:
四个整数类型:byte short int long
两个浮点型:float double
和一个布尔型:boolean(只支持两个值true和false)
整数类型有如下4种形式:
10进制整数: 默认的就是
16进制整数: 0x开头 0~9 a~f
8进制整数: 以0开头 0~7
2进制整数 以0b开头,0~1
当我们直接使用一个整数时,整数默认是int类型。如果想使用一个long类型的整数,应该在整数后面加以L
浮点数有两种表示形式:
10进制形式: 3.14159
科学计数法: .314159e1
浮点数默认书double类型的,想要使用float类型的浮点数需要在后面加一个f
浮点数有三个特殊值:
正无穷大(Double.POSITIVE_INFINITY):用正浮点数数除以0就是正无穷大,所有正无穷大都相等。
负无穷大(Double.NEGATIVE_INFINITY):用负浮点数除以0就是负无穷大,所有负无穷大都相等。
非数(Double.NAN)用0.0除以0就是非数。非数与自己不相等
关于整数的存储:
1.最高位都是符号位,最高位是0代表正数,最高位是1代表负数
2.所有数值在计算里都是以补码形式保存的。
原码:直接换算出的二进制码
反码:原码每位取反
补码:在反码基础上加1;整数补码等于原码
Java的类型转换可分为2种:
1,自动类型转换:表示范围小的可以自动转换表数范围大的。
直接写一个整数,默认类型是int型。但是如果他在byte、short表数范围之内,而且程序直接将它赋值给byte,short类型的变量,系统会自动把它当成byte,short用。
1,所有数值类型都可以转换为double类型
2,所有数值类型除double之外都可以转换为float类型
3,所有整型都可以转换为long类型
4,char和short都是两个字节但是不能相互转换,因为char表示的都是正数,而short一般正数一般负数!
2,强制类型转换
当我们要把表数范围大的变量或值转换为表数范围较小的,就需要用到强制转换。
语法格式:
(类型)变量名
3,表达式类型的自动提升:
规则:整个表达式的数据类型,与表达式最高等级的运算数的类型相同!
package javase_day01;public class 自动提升 {public static void main(String[] args) {byte bt = 2;//2是int型,由于2在byte范围内而且是直接赋值,系统会直接将它当成byte处理byte=bt+1;//错误的。1默认是int类型的,整个表达式的类型都被提升为int类型,byte与最高类型的类型不相同,所以出错}}
直接量:直接在代码中指定的值就是直接量。
8个基本数据类型都可以指定直接量。
boolean型只有两个直接量:true false
课后练习:请说明下面代码错误之处并改正。
package javase_day01;public class TestDemo01 {public static void main(String[] args) { System.out.println("java语言很棒,将会是一门面向未来的编程语言,我非常" "喜欢Java");}}
本程序是第三、四行错误,不知道你有没有找出来呢
再来看一道题目:表达式3-2.6==0.4的值是什么?
专家解答:在Java中基本数据类型的浮点运算都是不精确的,如果Java程序中输出3-2.6的值可以看到输出的结果是0.3999999999999,整个值是不精确的,所以表达式3-2.6的值为假,即false!
- 【黑马程序员】Java基础学习技术博客——基本数据类型
- 【黑马程序员】Java基础学习技术博客——HTML
- 黑马程序员——Java基础——基本数据类型
- 黑马程序员——JAVA基础---基本数据类型
- 【黑马程序员】Java基础基础学习技术博客——动态代理
- 黑马程序员—java基础学习--String字符串类,基本数据类型包装类
- 【黑马程序员】Java基础学习技术博客——for循环
- 【黑马程序员】Java基础学习技术博客——面向对象
- 【黑马程序员】Java基础学习技术博客第——面向对象
- 【黑马程序员】Java基础学习技术博客——内部类
- 黑马程序员——java基础学习(数据类型小结)
- 【黑马程序员Java学习技术博客——交通灯管理
- 【黑马程序员】Java基础学习博客——数组
- 【黑马程序员】Java基础学习博客——面向对象
- 黑马程序员——java基础:数据类型
- 黑马程序员——Java基础---数据类型
- 黑马程序员——Java基础---数据类型
- 黑马程序员——Java基础---数据类型
- Linux之uptime命令
- HDOJ 题目2068 RPG错排(错排)
- 数据库事务隔离级别
- HDU 4889 SPFA_killer 多校练习赛3
- hdu1012 Calculate e
- 【黑马程序员】Java基础学习技术博客——基本数据类型
- hdoj.2053 Switch Game 20140729
- lazy懒加载(延迟加载)UITableView
- Java中static、final用法小结
- 杭电ACM 素数判定
- Light OJ 1132 Summing up Powers 矩阵快速幂
- How Tomcat work 之第十五章之Digester
- hdoj.2055 An easy problem 20140729
- centos6.4 升级python27引发的一系列问题以及解决方案