初识Java——(Java学习笔记一)

冯诺依曼体系结构
 
JAVA核心优势:跨平台---通过JVM(java虚拟机)来实现
 
JVM:Java虚拟机的一种规范
 
 
标示符:只能以下划线、美元符号($)、字母、数字组成,不能以数字开头
 
 
float:(占用4个字节的储存空间)浮点数并不能精确地表示所有的小数,存在舍入误差
 
double占用8个字节的存储空间
 
char占2个字节
 
int占4个字节
 
Boolean类型(占一位不是一个字节),一个字节占8位
 
需要精确的高可以使用BigDecimal类
 
double和float 都不能精确的表示一个数值
 
自动数据类型转换:容量小的数据类型可以转换为容量大的数据类型
 
 
为什么java能够跨平台运行:
    java之所以能够实现跨平台运行,是因为他根本不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里事先准备好自己的java平台。
 
JVM(java虚拟机),是java语言的运行环境
 
java编译器针对jvm产生class文件,因此事独立于平台的
 
java解释器负责将jvm的代码在特定的平台上运行的
 
java虚拟机是不跨平台的。
 
 
class文件---字节码文件
 
 
main方法的作用:
 程序的入口
 保证程序的独立运行
 被jvm调用

数据类型:基本数据类型和引用数据类型

基本数据类型:数值型(整数类型(byte、int、long、short)和浮点类型(float、double))、字符型(char)、布尔型(Boolean)
引用数据类型:类、枚举、注解、接口(interface)、数组([])
占用字节数:byte(8),short(16),int(32),long(64),float(32),double(64)
小----->大byte,short,char<int<long<float<double
整型默认:int
浮型点默认:double
类型转换:自动类型转换也叫隐式类型转换(向上转型)(小---->大)、强制类型转换也叫显式类型转换(大------>小)
 
++在变量的后面,表示先运算在自身加1
++在变量的前面,表示先自身加1在运算
 
1.0/0 或者1/0.0 结果为Infinity(正无穷大)因为数值类型被提升为double型 double的精度比int精度高
 
+=,-=,*=,/=,%=:有一个隐式的类型转换
 
异或(^):相同就为FALSE,不同就为TRUE
"&"和"&&"的区别:单与时无论左边真假右边都进行运算,双与时,如果左边为真右边参与运算,如果左边为假,那么右边不参与运算
"|"的"||"区别同理:双或时,左边为真右边不参与运算
"^"和"|"不同之处时,当左右都为TRUE时,"^"结果为FALSE
 
短路与(&&):当&&左边的运算为FALSE时,就不在判断右边的运算了
短路或(||):当||左边的运算为TRUE的时候,就不在判断||右边的运算了。
 
 
三元运算符:
 Boolean表达式?语句1:语句2
 当Boolean为TRUE时执行语句1,当Boolean表达式为FALSE时,执行语句2
 
移位:
 左移(>>)与右移(<<)
左移(右移):将二进制码整体左移指定位数,左移之后的空使用‘符号位’来补充
1)若是正数,则使用0来补充
2)若是负数,则使用1来补充
 
无符号右移(>>>),将二进制码整体右移指定位数,向右移一位就是除以2,
右移之后的空使用‘0’来补充
 
循环的控制:
 
控制外层循环,可以使用标签(outer:for(){} break outer;)
终止外层循环:break 外层循环的标签
跳出外层循环:continue 外层循环的标签
return:结束循环所在的方法
 
break,return,continue语句后面不能再有语句
 
System.out.print()可以不传参传参
System.out.print()必须传参
上一篇:ceph的image扩容


下一篇:架构师素养及从小菜进阶架构(CTO)的书籍【转】