JAVA 的发展史和的8种基本数据类型

第一代:机器语言
二进制,010101,在美国的费城,宾夕法尼亚大学,1946年,ENIAC,5000次/S
第二代:汇编语言
第三代:高级语言
面向过程的:C,portran,COBOL,PASCAL,ADA
面向对象的:C++, JAVA, C# (java 也叫C++-)
冯诺依曼体系结构
目前的计算机体系大部分都是冯诺依曼提出的
1.指令和数据均用二进码来表示
2.指令和数据以同等地位存放于存储器中的不同位置,均可以接受按地址访问
3.指令有操作代码和地址码组成
4.指令存在存储器中按顺序存放,通常按顺序执行,机器以运算器为中心
JAVA的核心优势就是跨平台且高并发,跨平台是依靠 JVM
J2EE= JAVA 2 Enterprise Edition
J2SE= JAVA 2 Standard Edition
J2ME= JAVA 2 Micro Edition
JVM是一个用于执行bytecodes 的虚拟的计算机平台

JAVA是一个大小写敏感的语言,区分大小写
程序执行的第一步是 main方法
一个源文件可以对应多个.CLASS

标识符 Identifier
标识符必须 字母,下划线,美元$ 开头
可以单独使用$标识符,不能单独使用_
尽量不要使用$在自己的代码中,它只用在java编译器和其他工具生成的名字;
标识符不能用数字开头
标识符不能包含除了 字母,数字,_,$以外的字符

java 是一种强类型的语言,每个变量都必须声明类型
基本数据类型:数值型、字符型(char)、布尔型(boolean)
数值型:整数类型(byte,short,int,long)、浮点型(float,double)
整数类型
byte 1字节 -128~127 可以表示256
short 2字节 -32768~32767 可以表示65536
int 4字节 -21.47E~21.47E
long 8字节 -2的63次方
int a = 010 0开头表示8进制
int a = 0x10 0x开头表示16进制
进制的转换,Integer.toBinaryString(a)10进制转换成2进制,toOctalString,toHexString
整形常量(就是数字)的默认类型就是 int
如果数据的大小没有超过 byte/short/char的表数范围,则可以自动转型
在整形常量(就是数字)后面加上L,就是把这个数据转换成long类型的数据,在赋值给标识符

浮点类型
float 4字节 -3.40E38~3.4E38
double 8字节 -1.798E308~1.798E308
浮点数常量默认类型是double;如果想使用float ,在浮点数常量的后面加F
最好避免比较中使用浮点数,精确浮点数常量计算用 BigDecimal
浮点数尽量不要使用float

字符型
单引号用来表示字符常量,‘A’ 是一个字符,“A”表示含有一个字符的字符串
char 类型用来表示在Unicode编码表中的字符,站2个字节,允许有65536个字符
转译字符是 ‘\’ \b = 退格(后面有数据才会生效),\n = 换行,\r = 回车 \t = 制表符
char是在0-65535范围,运算时直接当做整数来运算,可以吧0-65535之间整数直接转型char
Unicode转译序列将会在解析代码之前得到处理
尽量不要在程序中使用char类型,用SubString(0.X);截取来解决

boolean类型
boolean,是一位,只有 false,true
boolean类型用来判断逻辑条件,一般用于程序流控制
整数值和布尔值之间不能进行互相转换,C++可以

类型的转化
自动类型转化法:
容量小的数据类型可以自动转换为容量大的数据类型

标红色虚线的也可以自动转但是会丢失是精度
默认类型为int的整形常量,可以在 对应的 byte short char的表数范围内,自动转型
表达式中的类型提升问题,int+long 会自动提升为long,小的会向大的转型
所有的二元运算符+-*\都有类型提升的问题,如果需要原类型,用强制转型
运算结果溢出,需要对运算式首位进行类型的提升

jdk7.0 新增特性之一
int a = 0b0000_0000_0000_0000_0000_0000_0000_0010;
支持下划线分隔符分割数字不会有任何的影响
阅读更多
版权声明: https://blog.csdn.net/weixin_42157147/article/details/80348563
个人分类: JAVA SE基础知识
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭