Java核心技术
java简介
Java 语言
1995年5月23日,sun公司发布。
Java组成部分:
JVM(Java虚拟机+API(编程接口,系统函数库))
Java在1998年发布Java2平台
JavaSE(J2SE)_标准版(桌面应用)
JavaME(J2ME)_微型版(移动设备)
JavaEE(J2EE)_企业版(企业级网络应用)
java语言特点
平台无关性。(能够运行在任何操作系统上面)
如何在计算机上面开发java程序
在sun官方网站下载一个java的运行+开发平台(jdk);
JDK中包含两个目录:jdk.1.X 、jreX。
jdk.1.X 表示Java的运行和开发目录。
jreX 表示Java运行时的目录。
jdk中有两个重要的目录:bin(Java提供的工具(例如:编译Java、运行Java))、lib(提供:运行时的函数调用)
配置环境变量
:(两种方法)
计算机–>右键–>属性—>高级变量设置—>环境变量—>…
方法一:
path
:配置jdk目录下的bin C:\Program Files\Java\jdk1.8.0_131\bin
classpath
:配置jdk目录下的lib目录 C:\Program Files\Java\jdk1.8.0_131\lib 注意要配置:.(当前位置) dt.jar tool.jar
classpath具体为:
.;C:\Program Files\Java\jdk1.8.0_131\lib\dt.jar;C:\Program Files\Java\jdk1.8.0_131\lib\tools.jar;
方法二:
JAVA_HOME
配置为:
C:\Program Files\Java\jdk1.8.0_131 -->配置到jdk安装目录下
path
配置为:
%JAVA_HOME%\bin; -->JAVA_HOME就表示引用了jdk的路径
classpath
配置为:
.;%JAVA_HOME%\bin\dt.jar;%JAVA_HOME%\lib\tools.jar;
java基础
编译
java代码:
javac 文件名.java
执行
字段码文件:
java 文件名 //注意:不要写后缀
类的基本结构:
public class 类名(与文件名称必须相同){
public static void main(String [] args){
相关代码.........
}
}
生成api文档:
javadoc 文件名.java //只查看(index.html)
java的注释:
(1)单行注释
//
(2)多行注释
/*
*
*/
(3)文档注释(能生成在api中的说明)
/**
*
*/
变量
:
语法:
数据类型 变量名 = 值;
注意:原则上来说=号前后的数据类型一致
数据类型
:
基础数据类型:8个
整数:4个 byte short int long
浮点数:2个 float double
字符:1个 char
布尔:1个 boolean
数据类型转换
:
(1)自动类型转换:由程序自动转换(原则是:小的遇到大的,自动归为大的)
例如:
int n1=20;
double n2=44.4;
double sum = n1 + n2 //计算后的数据类型应该用:double类型接收
(2)强制类型转换:手动写代码来转换(原则是:大的转小的)
例如:
int num = (int)55.22; //丢失精度
输出:
System.out.println("hello world");
Scanner类:
动态接收从键盘输入数据(创建一个扫描仪,表示从键盘获取输入的数据)
语法:
Scanner sc = new Scanner(System.in); //注意:sc是自己的对象名
sc.方法名;
例如:
sc.Next(); //接收输入的字符串
sc.NextInt(); //接收输入的整数
sc.Nextxxx();
java中的字符串判断:
语法:
String username="admin";
username.equals("要比较的值") //结果是true或false
判断:
if单分支语句
if(){
语句1...
}
语句2....
if else 双分支语句
if(){
语句1...
}else{
语句2....
}
语句3....
if else if 单分支语句
if(){
语句1...
}else if(){
语句2....
}else if(){
语句3....
}else{
语句4....
}
语句5....
switch语句:
switch(){
case 常量1:
break;
case 常量2:
break;
.
.
.
case 常量N:
break;
default:
代码块;
break;
}
switch能实现的功能,if else if 都能执行,反之则不一定。
switch只能在条件范围小,有固定常量值时使用。
循环:某一段代码块需要重复执行时
while循环(先判断后执行)
while(循环条件){
循环体;
}
do while 循环(先执行后判断)
do{
循环体;
}while(循环条件)
for循环:确定循环次数的情况
语法:
for(表达式1;表达式2;表达式3)
{
相关代码.......
}
解释:
表达式1:初始化变量(从几开始)
表达式2:条件判断(到几结束)
表达式3:改变循环变量(++ – += -= 避免死循环)
break,continue
break:在循环中,只要遇到break,那么该循环直接结束。 如果出现循环嵌套,break只会结束他所在的当前循环体,不会结束外层循环。
continue:在循环中,只要遇到continue,则结束当前次循环,进入下一次。
数组
用作存储同类型的数据,可以存储多个数据,具体数量一旦定义,则无法改变。
语法:
//声明数组:
数据类型 [] 数组名;
初始化数组:
数组名 = new 数据类型[数组大小];
如:
int [] numbers = new int[5];
数组使用赋值的三种方式:
第一种:直接赋值
如:
int [] numbers = {12,13,14}; //常用
第二种:指定大小并赋值
如:
int [] numbers = new int[3]{12,13,14};
第三种:根据数组元素获得长度(不定义大小)
如:
int [] numbers = new int[]{12,13,14};
数组名.Length
:获取该数组的大小。
数组的下标(index)是从0
开始。
数组的赋值:
numbers[index]=值;
nubmers[0]=12;
则该数组的第一个格子存放的数据就是12;
获取数组中的数据:
数据类型 变量=numbers[index];
int num = numbers[0];
二维数组
定义:
数据类型 [][] 数组名;
赋值:
数组名 = new 数据类型 [行数组大小][列数组大小];
排序: N:数组长度
N个数字来比较
两两相比小靠前
外层循环N-1
内层循环N-1-i
数组:int arr[] = {85,65,75,12,36};
一共比较轮数:4轮 arr.length-1
每轮比较次数:随着轮数的增加,次数要减少(第轮都会比较出一个最大数,下一轮就没有必要再比较) arr.length-i i代表的是轮数