之前小编尝试去学习了下Python,但是门槛要求高,所以相小编这种学渣来说,学了也。。。。哪个啥。所以还是觉得学习Java比较靠谱!
经过度娘,整理了写大神推荐的学习步骤如下:
1、Java基础入门
2、Java高级阶段
3、数据库和JDBC
4、Html & Javascript
5、Jsp & Servlet
6、Spring MVC框架
7、Spring框架
8、MyBatis框架
接下来,小编把我最近学习的资料推荐给大家,希望对你有所帮助!
第一章、Java入门第一季
Java SE:面向对象 API JVM(虚拟机)
Java ME:移动设备 游戏 通信
Java EE :JSP EJB 服务
JVM:源文件->编译器->字节码文件->解释器->MyProgram
JDK:Java开发工具包
JRE:Java运行环境
- Java开发环境搭建
- 安装JDK,下载地址:https://tomcat.apache.org/
- 配置系统环境变量
JAVA_HOME C:\Program Files\Java\jdk1.8.0_202 配置JDK安装路径
Path C:\Program Files\Java\jre1.8.0_202\bin 配置JDK命令文件
CLASSPATH .;C:\Program Files\Java\jre1.8.0_202\lib 配置类库文件
- 验证是否已正确安装
- cmd命令:java
- cmd命令输入javac:
如上图所示,代表JDK已经安装配置完成!
- 使用记事本编写java程序
- 新建一个HelloWord.java的文件,放到任意你能找到的地方,代码如下
public class HelloWord{
public static void main(String[] args){
System.out.println("Hello,Andy!");
}
}
- 使用javac 1.8.202 编译该文件
D:
dir
找到文件为止
javac HelloWord.java
没有报错,说明HelloWord.java文件代码没有问题!
然后,我们打开文件夹看看,你会发现会多出一个字节码文件:HelloWord.class
编译字节码文件:
cmd命令:java HelloWord(此处的HelloWord是字节码文件,编译时不能带.class后缀)
你的第一个java的HelloWord.java文件执行成功了!
3、在控制台运行一个 Java 程序 Test . class ,使用的命令正确的是:Java Test
4、安装编辑器:myEclipse、Eclipse、Notepad++、NetBeans根据个人喜好选择
myEclipse安装教程推荐:https://blog.csdn.net/qq_41928258/article/details/80055331
这个安装过程有点长,你可以做其他的准备!
- 使用IDE工具开发Java程序步骤
- 使用Eclipse编辑器开发Java程序步骤
1.1、创建Java项目
-
2、创建程序包
1.3、创建源文件
1.4、目录结构说明:
1.5、编写Java源程序,添加代码如下:
public static void main(String[] args) {
System.out.println("Hello,Andy!");
}
1.6、运行Java程序
运行结果:
- 使用MyEclipse编辑器开发Java程序步骤
用法同Eclipse编辑器使用方式一样
作业题:
在控制台显示消息的语句正确的是(System.out.println(“Hello,Andy!”));
- 程序移植(导入导出)
鼠标右键=》import=>General=>Existing Projects into Workspace=>Next=>Browse选择要导入的项目=>完成
作业题:Java 源代码文件编译后生成的字节码文件,其扩展名是(.class )
- Java中的关键字:
- Java标识符:
- 标识符可以由字母、数字、下划线(_)、美元符($)组成;
- 标识符不能是 Java 关键字和保留字;
- 标识符是严格区分大小写;
- 标识符的命名最好能反映出其作用,做到见名知意 – 有意义的命名;
- Java编程注意事项:
- java编程注意事项:
大小写敏感
类名要使用大驼峰命名,源文件名要与类名一致,文件后缀为:.java
方法名使用小驼峰
主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行
主入口创建快捷方式:输入main=>Alt+/ =>回车
2、java对象、类:
封装、继承、多态、抽象、类、对象、实例、方法、重载
3、变量:局部变量、成员变量、类变量
局部变量:在方法、构造方法、语句块中定义
成员变量:在类中定义
类变量:类中声明,必须声明为static
4、构造方法:
构造方法的名称必须与类同名,一个类可以有多个构造方法
5、java中的连接符:+
6、java的两大数据类型:基本数据类型、引用数据类型
常用的基本数据类型:
7、常量:是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
注意:常量名一般使用大写字符
语法:final 常量名 = 值;
举例定义一个ANDY、SEX的常量:final String ANDY =”andy”; final char SEX=’男’;
8、Java中的注释:
Java中的注释有3钟类型:单行注释、多行注释、文档注释
9、Java的运算符:
Ø 算术运算符
Ø 赋值运算符
Ø 比较运算符
Ø 逻辑运算符
Ø 条件运算符( ? : )也称为 “三元运算符”
语法形式:布尔表达式 ? 表达式1 :表达式2
10、Java运算符的优先级:
11、流程控制语句:if、if...else、switch、while、do...while、for、break、continue
第二章、Java编程练习题
********* 接收用户输入的数据并保存:使用Scanner类 *********
练习题一:为指定成绩加分,指导分数大于等于60分,输出加分前、加分后、及加分次数!
1、创建一个Demo01的类:Demo01.java,代码如下:
package com.andy;
//1、导入Scanner类
import java.util.Scanner;
public class Demo01 {
/**
* 使用Scanner工具来获取用户输入的成绩和信息
* Scanner类位于java.util包中,使用时需要导入此包
* 步骤:
* 1、导入java.util.Scanner
* 2、创建Scanner对象
* 3、接收并保存用户输入值
* @param args
*/
public static void main(String[] args){
//2、创建Scanner对象
Scanner inputScanner = new Scanner(System.in);
System.out.println("请输入考试成绩信息:");
//3、接收数据,并保存到变量中
int score=inputScanner.nextInt();
int count=0;
System.out.println("加分前的成绩:"+score);
while (score<60) {
score++;
count++;
}
System.out.println("加分后的成绩:"+score);
System.out.println("一共加了"+count+"次!");
}
}
2、打印结果:先输入一个分数,如48分
3、print与println的区别:
print打印结果不换行;
println打印结果换行!
4、debug调试
练习题二:接收3个班级的各4名学生的成绩信息,然后计算每个班级的学院平均分!
1、准备:创建一个Demo02.java的文件;代码如下
package com.andy;
//导入Scanner类
import java.util.Scanner;
/**
* @author Administrator
* 更能实现:接收3个班级的各4名学生的成绩信息,然后计算每个班级的学生平均分
* 知识点:两重循环、外层循环控制班级的数量、内层循环每个班级的学生数量
* 主入口创建快捷方式:输入main=>按下Alt+/ =>回车
*/
public class Demo02 {
public static void main(String[] args) {
int classNum = 3; //班级数量
int stuNum = 4; //学生数量
double sum = 0; //成绩总和
double avg = 0; //成绩平均分
//创建Scanner对象
Scanner input = new Scanner(System.in);
for(int i=1; i<=classNum; i++){ //外层循环控制班级数量
sum = 0; //成绩总和归0
System.out.println("--请输入第"+i+"个班级的成绩");
for (int j = 1; j <= stuNum; j++) { //内层循环控制学生数量
System.out.println("请输入第"+j+"个学生的成绩");
int score = input.nextInt(); //获取输入的成绩
sum = sum+score; //成绩累加求和
}
avg = sum/stuNum;
System.out.println("第"+i+"个班级的平均分为:"+avg);
}
}
}
2、打印结果如下:
第三章、数组
1、声明数组:数据类型[ ] 数组名 或者 数据类型 数组名[ ];
String[ ] name;
Int score[ ];
2、分配空间:数组名 = new 数据类型 [ 数组长度 ];
Int[ ] score = new int[5];
3、分配空间和赋值:
String[ ] name = {“张三”,”李四”,”王麻子”};
Int score[ ] = {32,98,66};
4、循环数组:
·
- 使用Arrays类操作数组
6.1、排序:Arrays.sort(数组名);
6.2、数组转字符串:Arrays.toString(数组名);
- 使用foreach操作数组:
- Java中的二维数组:
8.1、声明数组把那个分配空间:
或者:
举例:
8.2、赋值:
或者:
举例:
8.3、数组处理:
第四章、方法
1、语法:
访问修饰符:public、protected、private
返回值类型:void
方法名:定义方法名字-最好是有意义的名字
参数列表:传递的参数
注意事项1:方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、Java中无参数无返回值方法的使用:
注意事项2: 方法的返回值最多只能有一个,不能返回多个值
3、Java中无参数带返回值方法的使用:
注意事项3:方法返回值的类型必须兼容,如返回值类型为 int 则不能返回 String型值
练习题:
4、Java中带参数无返回值方法的使用:
- Java中带参数带返回方法使用:
- Java中方法的重载:
同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,称为重载!
6.1、怎么区分调用的是哪个重载方法?
根据参数的个数和类型来判断应该调用哪个重载方法
6.3、判断方法重载的依据:
必须是同一个类
方法名相同
方法参数的个数、顺序、类型不同
与方法额修饰符或返回值没有关系
编程练习
题1:
题二: