Java从写到跑起来的原理
HelloWord.java通过javac(javac HelloWord.java)命令进行编译为HelloWord.class文件(字节码文件),通过java(java HelloWord)命令执行得出运行结果
数据类型
Java数据类型:基本类型和引用类型。
基本数据类型:数值型,字符型(char),布尔型(boolean)
数值型:整数类型(byte,short,int,long),浮点类型(float,double)
-
数据类型 类别 数据类型 占用字节 取值范围 整数类型 byte 1 [-128,127] short 2 [-2^15,2^15-1] int 4 [-2^31,2^31-1] long 8 [-2^63,2^63-1] 浮点类型 float 4 [-3.403E38,3.403E38]单精度 double 8 [-1.798E308,1.798E306]双精度 字符类型 char 2 [0,65535] 布尔类型 boolean 1 [true,false]
注意:float 后缀需要加上F或者f;
float f2 = 345.52F;
long 后缀需要加上L或l,建议使用L;
long l2 = 35465454L;
变量
变量的概念:程序运行时,每个数据都保存在内存中
变量作用:储存数据
变量的本质:内存的一块局域
变量三要素:数据类型、变量名、变量值
数据类型:可以存什么值,决定内存大小4
变量名:如何访问这块存储区域
变量值:里面存储的数据
注意:变量先申明和初始化再使用
变量命名规则:变量名只能由:字母,数字,下划线,-下划线等
变量名不可以以数字开头
变量名不能使用系统关键字或者保留关键字(IDE中变色的单词就是关键字)
建议:如果一个变量有多个单词构成:弟一个单词首字母小写。从此往后每个单词的首字母大写(驼峰标记法Camel)
变量类型转换
数据类型取值范围从小到大排列
自动类型转换(隐式数据转换):
当把一个类型取值范围较小的数值直接赋值给另一个取值范围较大的数据变量时系统会自动进行类型转换。(小转大)
float num3 = 234.32f;
double num4 = num3;
System.out.println(num4);
条件:两种类型需要彼此兼容;目标类型的取值范围必须大于原类型
强制类型转换(显示类型转换):强制将一个数值赋给取值范围较小的类型(java内部是不支持的)
char num6 ='%';
int a =(int)num6;
System.out.println(a);//输出为a的ASCII,97
强制类型转换有风险,会导致溢出或者精度丢失甚至发生错误