Java编程基础
一.基本类型
1.逻辑类型:boolean(布尔型),取值范围true和false。
boolean bool1=true; bool1=false; //更改bool1之前打印的为之前的值,更改之后打印的为更改后的值
2.整型
(1)byte(字节型):取值范围-128~127
(2)short(短整型):取值范围-32768~32767
(3)int(整型):取值范围-2147483648~2147483647
(4)long(长整型):取值范围-9223372036854775808~92233720368547755807
byte b=127; long l=10000000000l; //整数默认为int类型,int类型范围小于long,所以超过int类型的范围会报错,要让赋的值为long类型,需要在值得末尾加上l/L
3.浮点型(小数)
(1)float(单精度浮点型):1.4E-45~3.4028235E38
(2)double(双精度浮点型):4.9E-324~1.7976931348623157E308
float f=3.14f; //小数默认是double类型,小得类型不能赋值给大的类型,所以要在赋的值末尾加F/f double d=3.14;
4.字符型
char:char类型的变量,赋值的时候数据长度只能是一位
二.数组
1.定义
数组是一种数据结构,它是一个容器,用来盛放数据。不同类型的数组可以盛放不同类型的数据。
2.特点
(1)容量确定;(2)类型确定
3.分类
(1)一维数组
int[] i1={12,15,14,24}; System.out.println(i1); //输出地址值 System.out.println(i1[2]); //索引 i1[2]=99; //更改数组中的某个值(根据位置),整个数组中的地址值不变 String[] i2=new String[5]; //定义长度但是没有初始值,里面的值为默认值 System.out.println(i2.length); System.out.println(i2[1]); //未赋值之前为默认值,int类型的默认值为0,String类型的默认值为null i2[1]="scarlett"; //定义i2第3个值 System.out.println(i2[5]); //超过数组长度范围报错数组越界:ArrayIndexOutOfBoundsException String[] s1=null; System.out.println(s1); //为空的数组,地址值也是null System.out.println(s1[1]); //空指针:NullPointerException
(2)多维数组
String[][] arr1={ //二维数组 {"scarlett","22","fujian"}, {"lulu","24","shanghai"} }; System.out.println(arr1); //二维数组的地址值 System.out.println(arr1[0]); //二位数组中第一个数组的地址值 arr1[0][0]="思佳丽"; //修改二维数组中第一个数组第一个值 System.out.println(arr1.length); //打印二维数组的长度 int[][] arr2=new int[5][]; //动态二维数组,只定义了二维数组的长度,没有定义二维数组里每个数组的长度 int[][] arr3=new int[5][2]; //也可以统一定义里面数组的长度 arr2[0]=new int[2]; //只定义了二维数组中的第一个数组的长度 System.out.println(arr2); //二维数组的地址值 System.out.println(arr2[0]); //二维数组的第一个数组定义了长度,所以有地址值 System.out.println(arr2[1]); //没有定义长度的数组地址值为null System.out.println(arr2[2][1]); //空指针,因为二维数组中的第三个数组没有定义长度 System.out.println(arr2[0][1]); //二维数组中的第一个数组只定义了长度并没有实际的值,所以打印的为默认的值 arr2[0][1]=5; //给二维数组中的第一个数组的第二个值赋值
4.数组语法
(1)没有初始化元素
String[] i2=new String[5]; //定义长度,里面的值为默认值 int[][] arr2=new int[5][]; //二维数组,只定义了二维数组的长度,没有定义二维数组里每个数组的长度 int[][] arr3=new int[5][2]; //也可以统一定义里面数组的长度
(2)已知数组内部元素
int[] i1={12,15,14,24}; //一维数组 String[][] arr1={ //二维数组 {"scarlett","22","fujian"}, {"lulu","24","shanghai"} };
三.常用运算符
1.算数运算符
System.out.println(a/c); //运算的数据含有小数时,结果也是小数。 System.out.println(a%b); //余数 System.out.println(++a); //先加后打印 System.out.println(a++); //先打印后加1 int f=20; f+=10; //f=f+10 f*=10; //f=f*10
2.关系运算符
int a=1; int b=2; System.out.println(a++==b); //先判断后加 System.out.println(++a==b); //先加后判断 System.out.println(a==b); //判断是否相等 System.out.println(a=b); //把b赋值给a System.out.println(a>=b); System.out.println(a>b); System.out.println(a<=b); System.out.println(a<b); System.out.println(a!=b); //不等于
3.逻辑运算符
System.out.println(!false); //非 System.out.println(false&&false); //双与 System.out.println(true&&true); System.out.println(true&&false); System.out.println(true||false); //双或 System.out.println(false||false);
4.三元运算符
int a=15; int b=21; int c=a>b?a:b; //大于号取大,小于号取小
四.分支结构
1.if语句语法
int age=24; //定义一个常量 if (age<6 && age>0){ System.out.println("少儿"); }else if (age>=6 && age<12){ System.out.println("少年"); }else { System.out.println("输入错误"); }
2.switch语句语法
int month=10; //类型可以是int或str switch (month){ case 10: System.out.println("秋天"); break; case 2: System.out.println("春天"); break; default: System.out.println("输入错误"); }
五.循环控制结构
1.for循环
String[][] arr1={
{"scarlett","lie","lulu"},
{"思佳丽","赖","露露"}
};
for (int i=0;i){ for (int j=0;j){ System.out.println(arr1[i][j]);
}
}
2.增强for循环
String[][] arr={ {"scarlett","lie","lulu"}, {"思佳丽","赖","露露"} }; for (String[] element1:arr){ for (String element2:element1){ System.out.println(element2); } }
3.迭代器
Iteratorit=arr.iterator(); //迭代器 while (it.hasNext()){ String element=it.next(); System.out.println(element); }
4.while循环
int i=0,j=6; while (i<10){ System.out.println(i); i++; if (i==j){ break; } }
六.方法函数
定义好方法函数后,只需传入变量,可直接调用
public static void test1(int a,int b){ //需要在main方法中直接调用函数,所以需要加static。如果没有static,需要在main方法中先创建对象才可以使用 System.out.println(a+b); } public static void main(String[] args){ test1(8,4); //在main方法中直接调用函数 }