Java入门 技术总结
java简介
Java 是Sun Microsystems公司由James Gosling及其团队在1995年5月推出的高级语言,在2009年4月被oracle收购取得java版权。
Java的最大特点是跨平台,可使用一套代码运行在多个不同的平台。
Java跨平台的原理:同一个java代码文件通过java虚拟机会自动编译成不同平台的指令。
第一个java程序
创建一个java程序,java的类名必须与创建的文件名一致。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
public static void main(String[] args) {} 是程序的入口函数
System.out.println() 将内容进行输入
java数据类型
java一共有八种基本数据类型
- 数字类型
byte
占8位bit 范围: -128 ~ 127 包装类 Byteshort
占16位bit 范围: -32768 ~ 32767 包装类 Shortint
占32位bit 范围:-2^31 ~ 2^31-1 包装类 Integerlong
占64位bit 范围:-2^63 ~ 2^63-1 包装类 Long
- 浮点类型
float
占32位bit 单精度浮点 包装类 Floatdouble
占64位bit 双精度浮点 包装类 Double
- 布尔类型
boolean
占8位bit 包装类 Boolean
- 字符类型
char
占16位bit 包装类 Character
包装类
因为java的数据类型并不是一个对象,要获取数据类型的方法就要使用java提供的包装类。
装箱与拆箱,java1.5之后才支持自动装箱与拆箱
Integer int1 = t;// 自动装箱
int int2 = int1;// 自动拆箱
System.out.println(int2);
java数据类型转换
- 自动转换
java数据类型自动转换的顺序,由低到高为byte,short,char, int ,long ,float ,double
类型自动转换都有低类型转为高类型,整数类型可用自动转换为小数类型。 - 强制转换
数据之间如果要进行强制转换需要在转换类型的数据前加上( ),并再()内声明要转换的数据类型。
强制转换可能会导致数据的精度丢失。
//精度丢失
int x=(int)11.2;
System.out.println(x);
//输出11;
将浮点数11.2强制转换为int型导致小数位丢失。
高类型强制转低类型可能导致溢出。
//转换溢出
short x=(short)123456;
System.out.println(x);
//输出-7616;
由于short的最大取值范围为32767,123456已超出short最大取值范围所以导致内存溢出。
java运算符
- 算数运算符
+、-、*、%、/、++、- - - 关系运算符
>、>=、<、<=、==、!= - 逻辑运算符
&&、&、||、|、!、^(异或) - 赋值运算符
=、+=、-、-=、*=、/=、%= - 三目运算符(三元运算符)
()? :
boolean y=(2>8)? true : false;
System.out.println(y);
//输出 false
条件表达式?表达式1:表达式2
条件为true时输出表达式1,条件为false时输出表达式2
- instanceof运算符(判断对象类型)
String str1="Name";
boolean bool=str1 instanceof String;
System.out.println(bool);
//str1为String类型 输出true
java 数组
数组初始化
//静态初始化 - 进行数组的声明并直接进行赋值
int[] array=new int[]{1,2,3,4,5,6};
//动态初始化 - 仅初始化数组未赋值
float float3[] = new float[3];
数组引用
数组的应用与其它语言一样,通过数组的下标进行引用
int[] array=new int[]{1,2,3,4,5,6};
int A=array[0];//获取array数组第一个元素
System.out.println(A);//输出 1
int L=array.length;//获取array数组的长度
System.out.println(L);//输出 6
数组遍历
通过for循环对数组进行遍历
int[] array=new int[]{1,2,3,4,5,6};
int Z=0;
for(int i=0;i<array.length;i++){
Z+=array[i];//遍历数组累加
}
System.out.println(Z);//输出21
通过java增强版的for循环进行遍历
int[] array=new int[]{1,2,3,4,5,6};
int Z=0;
for(int o: array){
Z+=o;//此时的o就是遍历出来的数组元素
}
System.out.println(Z);//输出 21
二维数组
二维数组即数组的每一个元素又是一个数组
int[][] arr = new int[3][3];
定义一个二维数组,有3个一维数组,每个一维数组的长度为3
赋值与取值
//声明二维数组并赋值
int[][] array = {{1,2},{1},{3,4,5},{6,7,8,9}};
//通过嵌套循环取值
for(int i = 0; i < array .length; i++){
//遍历二维数组,遍历出来的每个元素又是一维数组
for(int j = 0; j < array [i].length; j++){
//接着遍历一维数组
System.out.println(array [i][j]);
//依次输出 1、2、3、4、5、6、7、8、9
}
}