一、Java概述及软件安装
学习tips:
-
typora:笔记软件
-
notepad++或editplus:文本编辑器
-
JDK:JDK17(长期支持版)
1.1Java语言概述
-
Java是
SUN
(standford University Network,斯坦福大学网络公司)1995年推出
的一门高级编程语言。 -
它是一种面向internet的编程语言。java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使用现代的图形用户界面与Web用户进行交互。applet内嵌在HTML代码中。
1991年 Green项目,开发语言最初命名为GreenTalk、Oak (橡树)
1994年,开发组意识到Oak 非常适合于互联网 1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE 1
999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME 2009年,Oracle公司收购SUN,交易价格74亿美元 2011年,发布JDK 7.0
2014年,
发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化,此版本开始,每半年更新一次;Java 9.0开始不再支持windows 32位系统。但是该版本不是长期支持版本。下一个
长期支持版本是Java11
。再下一个长期支持版本是Java17
。截止到目前,最新的JDK版本是21。最新的长期支持版本是Java21。
Java之父是詹姆斯·高斯林(James Gosing)
现属于Oracle(甲骨文)
1.2 Notepad++软件的安装
装IDEA之前可以用Notepad++编辑器练,如果想直接用IDEA可以忽略这部分
1.3 JDK
1.3.1 JDK的安装要求
1.3.2 测试JDK的环境
Windows + R,输入cmd
输入:
java -version
javac -version
1.3.3 如果输入javac或java之后出现问题
解决办法:自己配置环境变量
1.3.4 配置环境变量
环境:Java程序要运行的操作系统环境。
变量:存储了一些值的单词。例如:path这个单词,或者path这个环境变量中就存储了操作系统要运行的一些软件的路径。例如:javac.exe,java.exe是一个程序,它们要在操作系统的命令行运行,必须让操作系统能找到javac.exe,java.exe。
javac.exe,java.exe等这些JDK相同的程序在:D:\ProgramFiles\Java\jdk-17\bin
打开环境变量的设置窗口:
我的电脑/计算机/此电脑 -> 右键 -> 属性 -> 高级系统设置 -> 系统属性窗口 -> 高级 -> 环境变量->系统变量->path
1.3.5 JAVA_HOME(推荐)
因为大家是学习JavaEE(至于什么是JavaEE一会儿介绍),后面还有其他软件Tomcat等,也会用到Java的一些工具,所以我们可以单独配置JAVA_HOME,告诉操作系统以及其他的软件我的JDK安装在哪里了。
1.3.6 小问题
二、DOS命令(了解)
cd:change directory
md:make directory
rd:remove directory
三、JDK、JRE、JVM的关系
java语言的环境搭建
四、Java程序的开发步骤
第一步:编写源代码
工具:可以是普通的记事本文件,可以是更好用一点的文本编辑器notepad++,或者更智能的集成开发工具IDEA。
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello java");
}
}
代码结构:
类{ 方法{ 语句; } }
因为Java是面向对象的编程语言,所以Java代码的结构是类-->方法->语句;
保存文件必须是.java结尾,.java结尾就是Java源文件的扩展名,后缀名的要求。
第二步:编译源文件,生成字节码文件
工具:javac.exe
使用的命令:
javac 源文件名.java
第三步:运行主类
工具:java.exe
//使用命令:
java 主类名
主类:包含main方法的类
main方法是Java程序的入口。main方法的完整格式:
public static void main(String[] args){
}
-
():圆括号,小括号
-
[]:方括号,中括号
-
{}:花括号,大括号
System.out.println("hello java"); //这是一个语句,一条输出语句,在控制台输出hello java
五、注意点
问题1:主类名与源文件名不一致问题
说明:
-
当主类是public修饰的,那么主类名必须与源文件名一样
。(推荐)· -
当主类不是public修饰的,那么主类名可以与源文件名不一样。
问题2:编码不一致问题导致乱码
解决办法:
-
方式一:编译的时候,告诉Java编译器,你代码用的是什么编码方式
-
方式二:统一编码方式
问题3:notepadd++设置问题
每次保存的时候都加.java有点麻烦
每次编写完代码都修改编码方式有点麻烦
问题4:大小写问题
首先:Java代码中一定严格区分大小写。
其次:windows操作系统,对文件名不区分大小写。
最后:java命令后面是主类名,它也是Java代码的一部分,也区分大小写。
建议:无论是文件名还是代码、类名等,都严格区分大小写。
六、Java的语法基础
6.1 Java的注释(重要)
Java的注释有3种:
-
单行注释://注释内容
-
多行注释:/* 注释内容 */
-
文档注释:/** 文档注释内容 */
-
/* 多行注释 这个类是用于演示Java注释的使用 包含main方法的类是主类 运行Java程序的命令格式:java 主类名 */ public class CommentDemo{ //单行注释:main方法是Java程序的入口,必须有main方法才能运行 public static void main(String[] args){ } }
6.2 Java的关键字
上述代码全部都是小写。
关键字:在Java语法中它有特殊的意义。
例如:public:代表的是公共的,class:代表的是一个Java类。
其中有3个保留字:goto,const,_
保留字:是说Java还未使用它,预留的关键字。
已经废弃的关键字:strictfp。(早期因为Java要跨平台,小数类型在不同平台表示方式不同,为了统一,加这个关键字)。
另外,有3个单词非常特殊,它们在官方文档中没有归到关键字,称为特殊值。它们是true(真的,成立的),false(假的,不成立),null(空的)。
6.3 标识符
标识符:就是各种Java元素的名称,例如:类名、方法名、变量名、包名等。
6.3.1标识符的命名规则:必须遵守的硬性规则
(1)Java的标识符只使用:26个英文字母大小写,0-9的数字,下划线_,美元符号$(咱们自己命名,尽量不要用美元符号) (2)不能使用Java的关键字(包含保留字)和特殊值(null,true,false) (3)数字不能开头 (4)不能包含空格 (5)严格区分大小写
标识符的命名规范:建议大家遵守。
-
尽量见名知意,如果英语不好用翻译工具辅助。
-
类名
:每一个单词首字母大写,遵循大驼峰
命名法,形式:XxxYyyZzz -
变量名
:从第二个单词开始,首字母大写,遵循小驼峰
命名法,形式:xxxYyyZzz -
常量名
:每一个单词每一个字母都大写
,单词之间使用下划线分割,形式:XXX_YYY_ZZZ -
包名
:每一个单词每一个字母都小写,单词之间使用.分割
,形式:xxx.yyy.zzz
七、Java的变量
7.1 变量的作用
变量是用来存储数据的。
public class VariableDemo{//Variable变量,Demo演示案例
public static void main(String[] args){
//想要在程序中表示年龄
//int代表年龄是一个整数值,18就是年龄的数据值
int age = 18;//age就是一个变量
System.out.println("年龄:" + age);
}
}
7.2 变量的声明格式和赋值格式
数据类型 变量名; //声明格式 变量名 = 数据值; //赋值格式
很多时候,会把声明和第一次赋值合并起来:
数据类型 变量名 = 数据值;
7.3 Java的数据类型(
Java的数据类型分为两大类:
-
基本数据类型(共8种):
-
整数类型:byte,short,int,long(越往右边的,可以表示的整数类型越大,至于多大范围明天再说)。long类型的变量,当数字比较大的时候,需要加L或l(小写L)。
-
小数类型:float,double(double类型比float类型可以表示的小数点后的位数多一些,数据范围大一些)。无论是float还是double都是浮点型,即不精确的。float类型的小数要在数字后面加F或f。
-
单字符类型:char,可以存储1位字符,例如:'男'。单字符类型值需要用单引号表示。
-
布尔类型:boolean,只能存储true,false
-
-
引用数据类型(很多)
-
类:代表有String。String类用来表示一串字符。字符串需要用双引号表示。
-
其他类型,数组、枚举、注解、接口、记录等
-
类型 | 常量值 | 说明 |
---|---|---|
byte | 18 | |
short | 18 | |
int | 18 | 默认是int类型,如果需要,当值在byte或short范围内时也可以识别为byte或short类型 |
long | 18L1 | 整数值后面加L或l(必选) |
float | 18.0F | 数值后面加D或d(必选) |
double | 18.0 | 数值后面加D或d(可选) |
char | ‘男’或‘a’ | 单引号(必选),单个字符 |
boolean | true或false | |
String | “尚硅谷”、“”、“atguigu” | 双引号(必选),0-n个字符 |
其他引用数据类型的空值 |
7.4 如何输出变量值
System.out.println(变量名);
System.out.println("描述文字:" + 变量名);
System.out.println("描述文字:" + 变量名1 + ",描述文字:" + 变量名2);
public class VariableDemo2{
public static void main(String[] args){
float f = 1.2F;
char gender = '男';
long big = 5555555555555555L;
String name = "柴林燕";
System.out.println(f);
System.out.println(gender);
System.out.println(big);
System.out.println(name);
System.out.println("============");
System.out.println("f=" + f);
System.out.println("gender性别:" + gender);
System.out.println("大整数big:"+ big);
System.out.println("name=" + name);
//这里的+不是求和,是拼接,连接。
System.out.println("name = " + name +",gender = " + gender);
}
}
7.5 变量有一些要求或特点
-
变量先声明后使用
-
变量在使用之前,必须初始化。(初始化:第一次赋值)
-
变量不能重复声明,但是可以重复赋值
-
变量的使用有严格的作用域
-
变量的数据值必须符合它类型
public class VariableDemo3{
public static void main(String[] args){
//System.out.println(age);//变量还未声明,不能使用
//int age;
//System.out.println(age);//变量已经声明了,但是未初始化
{
int age = 18;
System.out.println(age);
//int age = 19;//重复声明
age = 19; //重复赋值
System.out.println(age);
//age = 1.5;//数据类型不符合
}
//System.out.println(age);//超出作用域
}
}