Java是目前最流行的后端编程语言。与数据库联系的比较近,和用户距离比较远(相对应前端来讲)。
软件或者系统的关系如下图。
如果喜欢漂亮的界面、图形化的内容,学习Web前端或者移动端。如果喜欢复杂的逻辑,和数据库、服务器等打交道,就学后端。
或者其他方向,算法、运维、DBA等都可以。选一个方向努力,别走了弯路。
到这里还继续的话,默认你选后端,Java了。
开始了,本篇已经默认你的Java之路已达成两个成就
- 成功安装JDK,并且在命令行(cmd、powershell)能成功打印
java --version
。 - 已安装IDEA Community(IDEA社区版),并且能成功的创建Java项目。
如果还没,那就先看一下这两篇:
本篇的运行环境:
- IDE:IDEA Community,2022.1(IDEA社区版)
- JDK:Oracle Java 11
我们直接使用IDEA社区版编写程序,以及运行调试。对于没有编程技术的用户来讲,能成功安装配置好Java的环境变量,已经很不容易了。如果还用txt
等文本编辑器写代码,用javac
编译java
运行,更为不容易。反复试验,找资料学习,反复失败,可能会打击兴趣,从而对编程产生抵触甚至恐惧的心理。
写这个Java极简入门教程,是为了快速掌握一些Java的编程知识,快速入手,少走弯路,尽快感受到编程的乐趣。
至于那些原理、编程思想等知识,放在后面一点的位置学习。那时候你已经不是个菜鸟了,再通过经典的Java书籍学习一遍,会更加轻松愉快。
Java体系很大,有很多重要的知识。但是,那都是后面要解决的。
这个教程的目标:教会用SpringBoot写一个简单Java服务,实现和数据库交互。(Java程序员的职业生涯,才要正式开始)
我们先从新手村的小野怪开启我们的升级之路。
1.一个简单的Java程序
/**
* @author 编程还未
*/
public class Learn1 {
public static void main(String[] args) {
//打印
System.out.println("hello world!我是编程还未");
}
}
运行结果如下。这是一个最简单的能看到方便的看到运行结果的Java程序。
hello world!我是编程还未
能看到这个结果,说明编写运行Java的硬件和软件环境都没有问题了。
2.注释、数据类型和输出
2.1.注释
注释,可以理解读书时,用笔写的那些标注。注释不会影响程序的运行,注释在Java运行的时候,会被擦除掉(其实是编译的时候)。
注释的作用是对程序的说明,方便阅读。
Java的注释有三种:
-
单行注释
主要用在方法内。
//单行注释
也可以这样
//单行注释1 //单行注释2
-
多行注释
对单行注释的补充,可以注释多行。
/* *多行注释1 *多行注释2 */
-
文档化注释
会生成文档。通常用在类上、类属性上、类的方法上。
/** * 文档化注释 */
如果是在IDEA中,文档化注释会在鼠标悬停时显示。这句话不好理解,举个例子。
/** * @author 编程还未 */ public class Learn2 { public static void main(String[] args) { //打印 System.out.println("hello world!我是编程还未"); int sum = add(1, 2); } /** * 加法,计算两个数之和 * * @param a 加数a * @param b 加数b * @return 和 */ public static int add(int a, int b) { return a + b; } }
这个add
是一个方法(后面篇幅会讲到),用了文档化注释,左边的矩形框,解释了这个方法的作用,@param
是参数,@return
是返回值。
右边的矩形框是鼠标悬停在调用add
方法的地方,展示出来的。
没懂也没关系,注释
目前相对来说,没那么重要。
2.2.数据类型
Java是强类型语言。必须为变量声明类型。变量就是申请内存来存值的,内存由Java帮我们处理,目前不需要关心。给变量声明了类型,那这个变量只能赋这个类型的值。
Java有两大数据类型:基本数据类型和引用数据类型。
2.2.1.基本数据类型
基本数据类型是固定的八个。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种表真假的布尔型。
存储 | 默认值 | 最小值 | 最大值 | |
---|---|---|---|---|
byte | 1字节=8位 | 0 | -128,-2^7 | 127,2^7-1 |
short | 2字节=16位 | 0 | -32768,-2^15 | 32767,2^15 - 1 |
int | 4字节=32位 | 0 | -2,147,483,648,-2^31 | -2,147,483,648,2^31-1 |
long | 8字节=64位 | 0L | -9,223,372,036,854,775,808, -2^63 | 9,223,372,036,854,775,807 2^63-1 |
float | 4字节=32位 | 0.0f | 大约 -3.402 823 47E+38F (有效位数为 6 ~ 7 位) | 大约 3.402 823 47E+38F (有效位数为 6 ~ 7 位) |
double | 8字节=64位 | 0.0 | 大约 -1.797 693 134 862 315 70E+308 (有效位数为 15 位) | 大约 1.797 693 134 862 315 70E+308 (有效位数为 15 位) |
char | 16 位 Unicode 字符 | \u0000 | \uffff | |
boolean | 1位 | false | false | true |
这八种是内置的基本数据类型,也只有这八种。数字类型四种,默认是int类型;浮点类型,默认是double。
数字类型有四种,是不是重复了?这其实是为了内存占用空间考虑。不同的场景用不同的类型。
boolean类型只有两个值:false和true。做逻辑判断用。
2.2.2.引用数据类型
除了上面的八种基本数据类型之外,都是引用类型。最长常见的就是String。这里暂且如何,后面再详细讲解。
2.3.变量
在Java中,每个变量都要有一个类型。声明变量的时候,变量类型放在变量名之前。用分号结束,分号是英文的半角。**编程语言中的符号,都是英文的半角。**Java中的语句,以分号结束。
举个栗子:
byte a;
short b;
int c;
long d;
float e;
double f;
char g;
boolean h;
2.3.1.变量初始化
给变量复制,就叫初始化。未初始化的变量,在编译的时候会报错。
结合上面讲的变量和基本数据类型,初始化一些变量。
/**
* @author 编程还未
*/
public class Learn3 {
public static void main(String[] args) {
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
float e = 5.1f;
double f = 6;
char g = 'G';
boolean h = true;
}
}
到这里,如果你跟着写代码了的话,是不是有个疑问:这到底有什么用?
目前确实的没用,到这章结束都不一个好的结果。但是这是构建程序大厦的基础知识。坚持下去,后面会必须用到。
那就运行这段代码吧,这样运行时看不到什么效果的。
2.3.2漂亮的结束
我们在加点下一篇讲解的内容,打印一下初始化的值。
/**
* @author 编程还未
*/
public class Learn3 {
public static void main(String[] args) {
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
float e = 5.1f;
double f = 6;
char g = 'G';
boolean h = true;
System.out.println("byte类型,变量a的值:" + a);
System.out.println("short类型,变量b的值:" + b);
System.out.println("int类型,变量c的值:" + c);
System.out.println("long类型,变量d的值:" + d);
System.out.println("float类型,变量e的值:" + e);
System.out.println("double类型,变量f的值:" + f);
System.out.println("char类型,变量g的值:" + g);
System.out.println("boolean类型,变量h的值:" + h);
}
}
看下图,左侧有个绿色的按钮,这个是运行按钮。点击后,在IDEA的下方控制台会有打印的结果。