1.java开发环境
编译期: .java源代码 经过 javac 编译生成 . class字节码文件
运行期: JVM加载运行.class文件
JVM: java虚拟机 加载运行.class字节码文件.
JRE: java运行环境 =JVM+java系统类库(小零件)
JDK: java开发工具 = JRE+编译 、运行等工具
2.八个基本数据类型
基本类型 | byte | short | int | long | float | double | boolean | char |
---|---|---|---|---|---|---|---|---|
占用字节 | 1 | 2 | 4 | 8 | 4 | 8 | 1 | 2 |
3.语言基础
3.1 运算符 + - * % ++ –
3.2 关系运算符 >, < ,>= ,<=, ==, != 结果为布尔类型
3.3 赋值运算符+= ,-= ,*= , /=, %=
3.4 三目运算符 boolean 表达式?表达式1:表达式2,
eg: a > b ? a : b
4.分支结构
4.1 if 结构
if(boolean){语句块-----基于条件执行}
4.2 if …else结构
if(boolean){语句块1}else{语句块2}
4.3 if…else if结构
if(boolean-1){语句块1}else if(boolean-2){语句块2}else{语句块3}
4.4 swith…case结构 ( 只能做 整数类型byte short int long 判断1.7版本后后支持String)
switch(){
case 1:
语句块1
break;
case 2:
语句块2
break;
...
default:
语句块n
}
5.循环流程控制
5.1 while结构
while(boolean){
语句块-----反复执行的的代码
}
5.2 do… while结构
do{
语句块}while(boolean)
5.2.1 三要素
1)循环变量的初始化
2)循环的条件(循环变量为基础)
3)循环变量的改变(向着结束变)
5.3 for结构
for(要素1;要素2;要素3){
语句块/循环体---------------反复执行的代码
}
5.4 break 和continue
1)break 在循环中可跳出当前循环
2)**continue **只在循环中,用于跳过循环体剩余语句,进入下次循环
5.5 嵌套循环
- 循环中套用循环,一般多行多列使用,外层 控制行, 内存控制列
- 执行规则: 外层走一次,内层走所有次数
- 嵌套层数越少越好,若通过三层以上循环解决,则设计有问题
- break 只跳出当层循环
6.数组 (引用类型数据)
6.1数组初始化
int[] arr1 = new int[3];//赋值 0 , 0 , 0
int[] arr2 = {2,5,8};//赋值 2,5,8 该方式只能同时声明并赋值
int[] arr3 = new int[]{2,5,8};//赋值2,5,8,可以先声明,再赋值
6.2 数组遍历
int[] arr = new int[10];
for(int i=0;i<arr.length;i++){};
6.3 数组的极值
//先赋值数组每个元素
int[] arr = new int[10];
for(int i=0;i<arr.length;i++){
arr[i]=(int)(Math.random()*100)
}
//再取极值
int max = arr[0]//假设第一个值最大
for(int i=1;i<arr.length;i++){ //遍历剩下元素
if(arr[i]>max){
max = arr[i]
}
}
6.4 数组的复制
6.4.1 System.arraycopy() //灵活性好
int[] a = {10,20,30,40,50};
int[] b = new int[6];
System.arraycopy(a,1,b,4); //a数组从第2个到5个元素赋值给b
6.4.2 Arrays.copyof() // 灵活性好,但可达到扩容的效果
int[] a = {10,20,30,40,50};
int[] b = Array.copyOf(a,4);
6.5 数组的排序
Arrays.sort(arr)//升序
7.方法
7.1定义
方法 :也称函数, 过程,用于封装一定特定业务逻辑,方法尽可能独立,一个方法只做一件事, 并且方法可 以被反复调用多次, 可减少代码的重复,利于维护.
7.2 语法 5要素
修饰词, 返回值类型(无返则void) ,方法名(参数列表){ 方法体 }
7.3 四种情况
- 无参无返
public static void say (){
System.out.println("大家好我是吴彦祖,我今年8岁了")
}
- 有参无返
public static void sayHello(String name,int age){
System.out.prinln("大家好我是"+name+",我今年"+age+"岁了")
}
3)无参有返
public static double getNum(){
return 8.88;
}
4)有参有返
public static int arr(int num1,int num2){
return num1+num2;
}
7.4 方法调用
- 对于 无返回值的方法, 可直接名字调用,有参传参
- 对于 有返回值的方法, 常常先声明对应变量,用来接受, 有参传参
7.5 return 的用法
1.return 值; //1)结束方法的执行, 2)返回结果给用户
2.return; //1)结束方法的执行 -----用在无返回值方法中
7.6 嵌套用法
a();//111 ,333, 222
public static void a(){
System.out.println(111);
b();
System.out.println(222)
}
public static void b(){System.out.println(333)}