java基础
1.java文件以.java为后缀
2.文件名与类名要一致,类名首字母要大写(规范)
3.在类中写方法,层级要缩进,选中按TAB键,能缩进,SHIFT+TAB,向前缩进。
4.大括号成对出现。
java运行机制
java程序(.java)→ 字节码文件(.class)→ JVM运行
(硬盘) → (内存)
classpath配置
classpass是类存放的路径,可以在任意路径执行class文件。
(.)代表当前文件夹,(;)将路径分隔开
标识符
在java语言中,对各种变量,方法和类等索要命名时所用的字符序列就是标识符
这些标识符有jdk定义好的,也有我们自己开发时需要定义的。
java中严格区分大小写,可以用字母 数字 _$符号,数字不能开头
实际写程序时应该遵守见名知意
代码规范:类名、方法、变量名首字符大写,每个单词首字母大写。包名都小写
关键字
int void 等等
注释
代码多加注释
常量和变量
变量:在运行过程中能不断发生变化的量
常量:不变的量 圆周率、自然常数等
数据类型
数据类型决定分配空间,允许存储什么样的数据。
数值类型:整数类型:字节类型byte 1字节 8位 -128~127
短整型short 2字节 16位 -215~ 215-1
整型int 4字节 32位 -231 ~231 -1
长整型long 8字节 64位 -263 ~263 -1
浮点型: 单精度float 4字节 范围比long大,存储结构不同 后面要加f
双精度double 8字节
布尔类型boolean
字符类型char
局部变量
定义在方法内或者语句块内,在一个作用域内名称不能重复。大括号外不能使用,只能在当前大括号内(包括子括号)使用。先定义后使用。
基本数据类型的转换
1.自动转换
基本数据类型在计算的时候会向大的数据类型转换。
byte→short→int→long→float→double
整数类型默认是int
例如:
byte a =1;
byte b = a + 1;
这样是不行的,因为1是int类型,1无法转换成byte,只能向上转换。
正确写法:int b = a + 1;
byte进行计算时,都是转换成int的。short同理。
int和char可以自动转换,ASCII表对应。
运算符
+ - * / %
++ --
> < =
逻辑运算符
& | && || !
&:多个表达式计算时表与
|:多个表达式计算时表或
&&:效果与&相同,运行机制不同。&即使前面表达式能决定结果,依然计算后面表达式。
||:与|相同,运行机制不同。同上。
!:取反,只要是结果是布尔表达式,前面都可以加!
程序流程判断
从上到下顺序执行,可以根据要求,进行重复、判断执行。
if:主要应用于区间判断
if(布尔类型条件判断表达式){
执行语句
}
为真则执行
多重if:
if(判断){
执行
}else if(表达式1){
执行
}else if(表达式2){
…
}else{
执行
}
多重if遇到第一个满足的if语句就不会再向下执行。
switch:主要应用于等值判断
switch(表达式){ //表达式只能是 byte short int char string
case 常量1:
执行语句 1;
break;//跳出语句块
case 常量2:
执行语句 2;
break;
default://都不符合
执行语句;
break;
}
switch的穿透执行:
switch(表达式){
case 常量1:
case 常量2:
case 常量3:
…
执行语句1;
break;
case 常量x:
…
}
三元运算符
数据类型 标识符 = 判断语句?满足则执行:不满足则执行;
数组
基本数据类型都存储在栈中,存取速度快,空间小。
引用数据类型都存储在堆中,存取速度慢,空间大。
数组有两列,有一列为索引号。索引从0开始。
数组下标最大值=length-1 不能越界。
数组的三种定义方式
int[] a = new int[i]
int[] a = {1,2}
new int[] {1,2} //无标识符