----------------------
ASP.Net+Unity开发、
.Net培训、期待与您交流! ----------------------
关于java基础知识,相信每一个人都能很熟练的掌握,我就关于基础知识的一点本人觉得像对比较重要的东西列出来。
首先我觉得关于写代码,最重要的不是会不会写代码,而是思想,也就是实现功能的思路,关于思路,我觉得一下几点比较重要:
1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代码把思路体现出来。
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代码把思路体现出来。
Java的三种技术架构:
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。
2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin
2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置:
1):永久配置方式:classpath=.;c:\;e:\
2):临时配置方式:set classpath=.;c:\;e:\
关于配置环境变量需要注意的事项:
在定义classpath环境变量时,需要注意的情况 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?
两种情况:
1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文
件,就报错,这样可以调试程序。
java的流程控制:
1,
判断结构
语句的方式体现流程控制
if语句的三种表现形式:
格式一:
if(条件表达式){
语句体;
}
当条件表达式为true,执行语句体;
当条件表达式为false,不执行语句体;
语句的方式体现流程控制
if语句的三种表现形式:
格式一:
if(条件表达式){
语句体;
}
当条件表达式为true,执行语句体;
当条件表达式为false,不执行语句体;
格式二:
if(条件表达式){
语句体;
}else{
语句体;
}
格式三:
if(条件表达式){
语句体;
}else if(条件表达式){
语句体;
}else if(条件表达式){
语句体;
}else if(条件表达式){
语句体;
}.......
else{
语句
}
2,选择结构
switch(表达式){
case 常量值1:语句体;break;
case 常量值2:语句体;break;
case 常量值3:语句体;break;
case 常量值4:语句体;break;
.......
default:语句体;break;
}
注意:
表达式的值:只能是byte,short,int char 枚举,字符串
case 后的值不能重复,没有顺序
break可以省略,如果省略了就一直执行到遇到break为止;
default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
switch(表达式){
case 常量值1:语句体;break;
case 常量值2:语句体;break;
case 常量值3:语句体;break;
case 常量值4:语句体;break;
.......
default:语句体;break;
}
注意:
表达式的值:只能是byte,short,int char 枚举,字符串
case 后的值不能重复,没有顺序
break可以省略,如果省略了就一直执行到遇到break为止;
default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
3,循环结构
可以控制JAVA程序代码的执行次数
可以控制JAVA程序代码的执行次数
while循环
while(条件表达式){
循环体
}
do...while
do{
循环体
}while(条件表达式);
循环体至少执行一次
for循环
for(初始化表达式;条件表达式;递增递减表达式){
循环体
}
初始化表达式:确定循环的起点
条件表达式:确定循环的终点
递增递减表达式:步长值
1---->2---(true)--->4----->3----->2--(true)---->4----->3---->2---true---4
----->3----->2---(false)----结束
for(int i=1;i<=5;i++){
System.out.println("I love You!");
}
i=1;true,打印,i++ i=2
true,打印,i++ i=3
true,打印,i++ i=4
true,打印,i++ i=5
true,打印,i++ i=6
false
for(初始化表达式;条件表达式;递增递减表达式){
循环体
}
初始化表达式:确定循环的起点
条件表达式:确定循环的终点
递增递减表达式:步长值
1---->2---(true)--->4----->3----->2--(true)---->4----->3---->2---true---4
----->3----->2---(false)----结束
for(int i=1;i<=5;i++){
System.out.println("I love You!");
}
i=1;true,打印,i++ i=2
true,打印,i++ i=3
true,打印,i++ i=4
true,打印,i++ i=5
true,打印,i++ i=6
false
方法:
[修饰符] 返回值类型 方法名([参数列表]){
功能代码段
}
修饰符:public static 调用方法方便
返回值类型:
该功能运行结束后的结果类型
该功能运行结束是否有结果
如果有,再看结果的类型,确定方法的返回值类型
在方法中,一定以return 语句结束该方法
如果没结果,该方法返回值为空,void
不需要return语句
方法名:规则+规范
见名知意,首字母小写,其他单词首字母大写
参数列表:
方法中的参数相当于方法中定义的变量
定义方法,什么时候有参数,什么时候没参数?
当,在方法中,有不确定的数据参与运算,必须使用参数的方式
定义方法参数,形式参数,形参
int x,int y
调用方法参数,实参 100,300
调用:
无返回值 print99();
有返回值, 有参数 add1(100,300)
[修饰符] 返回值类型 方法名([参数列表]){
功能代码段
}
修饰符:public static 调用方法方便
返回值类型:
该功能运行结束后的结果类型
该功能运行结束是否有结果
如果有,再看结果的类型,确定方法的返回值类型
在方法中,一定以return 语句结束该方法
如果没结果,该方法返回值为空,void
不需要return语句
方法名:规则+规范
见名知意,首字母小写,其他单词首字母大写
参数列表:
方法中的参数相当于方法中定义的变量
定义方法,什么时候有参数,什么时候没参数?
当,在方法中,有不确定的数据参与运算,必须使用参数的方式
定义方法参数,形式参数,形参
int x,int y
调用方法参数,实参 100,300
调用:
无返回值 print99();
有返回值, 有参数 add1(100,300)
数组:
可以存储多个相同类型数据的容器
方便管理多个数据
数组中的数据会被自动编号,编号从0开始
定义一个数组
数据类型[] 数组名;
数据类型 数组名[];
int[] ages;
int ages[];
int i = 10;
数组初始化
ages = new int[5];
new:结果,可以创建一个实体(对象)
ages = {23,21,20,19,25};
ages = new int[]{12,23,34,45,12};
数组元素的访问
通过元素下标(角标,索引)访问,从0开始
int[] ages = {12,23};
ages[0] = 12;
ages[1] = 23;
length 数组中元素的个数 数组的长度
ages.length=2
数组元素最大下标值=数组长度-1;
使用数组注意:
数组的长度一旦确定,不会改变
数组下标越界异常
空指针异常
可以存储多个相同类型数据的容器
方便管理多个数据
数组中的数据会被自动编号,编号从0开始
定义一个数组
数据类型[] 数组名;
数据类型 数组名[];
int[] ages;
int ages[];
int i = 10;
数组初始化
ages = new int[5];
new:结果,可以创建一个实体(对象)
ages = {23,21,20,19,25};
ages = new int[]{12,23,34,45,12};
数组元素的访问
通过元素下标(角标,索引)访问,从0开始
int[] ages = {12,23};
ages[0] = 12;
ages[1] = 23;
length 数组中元素的个数 数组的长度
ages.length=2
数组元素最大下标值=数组长度-1;
使用数组注意:
数组的长度一旦确定,不会改变
数组下标越界异常
空指针异常
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
详细请查看:www.itheima.com