程序猿小白学Java——Java基础(一)
1.java编译运行过程
编译期:.Java文件经过生成.class字节码文件
运行期:.class字节码文件经过jvm虚拟机加载并运行
特点:一次编程,到处运行。
jvm:Java虚拟机,加载和运行.class字节码文件
jre:Java运行环境,包括jvm和Java系统类库。
jdk:Java开发工具包,包括jvm Java系统类库 Java编译 运行工具包
JDK环境变量设置:
JAVA_HOME:jdk安装目录
classpath:.
path:jdk/bin目录地址
Eclipse:Java集成开发工具包,开源 免费 下载解压即可使用
自编译:有错误立即报错
语言基础:
变量:存数的,代词,指代的是在内存中开辟的空间存放的数据
变量的命名:基本数据类型+变量名
命名规则:
变量名有字母 数字 _和¥组成,变量的首字母不能是数字
java严格区分字母大小写,命名需要注意
变量的命名不能使用Java关键字和保留字
变量的命名要见名知意,中文也可以,但不建议
驼峰命名法:score JavaScore myJavaScore
帕斯卡命名法(每个单词首字母大写):类名常用帕斯卡命名法 HelloWorld
变量的初始化:
1.命名时初始化:int a=144;
2.先命名再初始化:int a; a=144;
变量的初始化,数据类型要一致,数据不能超出其类型的范围;
变量的访问(使用):变量必须赋值才能使用
基本数据类型:
byte short int long float double char boolean
整形
byte: 1个字节 范围 -128-127
short:2个字节 范围 -215-215
int:4个字节 范围 -231-231 2147483647 21亿多
long:8个字节 范围 -263-263 很大很大 使用时需要在数字后加L或者l
long a=35678765787l;
声明一个长整形变量a并赋值为…
整形直接量默认是int类型
byte short int参加运算时转换成int类型
byte b1=4;
byte b2=5;
byte b3=(byte)(b1+b2);//必须要强制类型转换,否则编译错误
浮点型:
folat:4个字节 精度是double的一半 使用时需要在数字后加f或者F来声明
double:8个字节,小数直接量默认是double类型
double参与运算时有可能出现舍入误差
char:字符类型,可以赋值为一个字符或者0-65535之间的数字 字符必须以单引号括起来。
char:字符类型事实上是一个无符号的16位整数,这个值是对应的字符的Unicode编码,
数字代表的是该数字在字符编码集中相应的字符
char a=‘a’;
char b=‘中’;
char c=‘中国’;//编译错误
char d=97;
'A’对应的char编码是65;'a’对应的char编码是97;‘0’对应的char编码是48;
特殊符号需要转义字符:;
Boolean:布尔类型 存放的逻辑值 true或者false
Boolean b=false;
boolean b1=356;//编译错误,类型不匹配
基本数据类型转换:
自动转换:小类型转换为大类型 long l=345676456;
强制转换:大类型转换为小类型,强转有可能丢失精度或者溢出
运算符:±*/ % ++ –
++ --:被使用时,符号在前直接加减1进行运算,符号在后先运算再自增或自减
+:自左向右运算的顺序
其他:注意数据类型,整形做运算时默认是int类型,不同类型做运算时会有隐式,小类型自动转换为大类型的数据
字符串连接器:+:加号左边的可以正常运算,右边直接转换成字符串
关系运算符:< > = <= >= != 关系运算的结果时Boolean类型
逻辑运算符:&& || ! &&的优先级高于||
注意短路逻辑:&&第一个条件是false时整个判断已经结束,不会判断第二个条件表达式
||短路逻辑,第一个条件为true的时候,判断成立,不会判断第二个条件表达式,自动执行下面语句
if(10<3&&b++<0){}//b++不会进行自增运算
int a=5,b=10,c=5;if(a
三目运算符:Boolean表达式?表达式一:表达式二;
String str=a>0?“正数”:(a==0?“0”:“负数”);
分支结构:
Java语言的三种分支结构:顺序结构 分支结构 循环结构
if 分支结构 一条路 条件满足时运行这些语句,条件不满足不运行这些语句。
if esle 两条路 条件满足时运行这些语句,条件不满足时运行其他语句。
if else if嵌套语句,当程序分支大于2的时候可以用if else嵌套语句,esle语句中又包含if语句。