程序初体验
JDK的安装目录
- bin:该路径下存放了各种工具命令。其中比较重要的有:javac和java(重点掌握)
- conf:该路径下存放了相关配置文件。
- include:该路径下存放了一些平台特定的头文件。
- jmods:该路径下存放了各种模块。
- legal:该路径下存放了各模块的授权文档。
- lib:该路径下存放了工具的一些补充JAR包。
首个案例编写
- 用记事本编写程序
- 编译文件
- 运行程序
新建记事本,命名为HelloWorld,后缀名改为java
public class Hellow{
public static void main(String[] args){
System.out print("HelloWorld");
}
}
[!NOTE] 盘符操作
Win 键+R 输入cmd(不区分大小写)进入操作界面1.输入F: 进行盘符对的切换
2.切换盘符后,找到对应新建的Java文件的路径,在操作界面上输入cd 加上 对应的路径,即可将指定到对应路径进行操作。
3.输入javac HelloWorld.java 对该文件进行编译操作(如果没有出现语法等问题,则页面不会出现任何提示,打开文件夹可以发现生成了一个class文件,也叫字节码文件)
4.输入java HelloWorld运行该文件
5.注意后缀名
javac:javac是JDK提供的编译工具,我们可以通过这个工具,把当前路径下的HelleW/erld.java文件编译成class文件
java:java也是JDK提供的一个工具。作用就是用来运行代码的。
[!NOTE] 为什么要配置Path环境变量
我们想要在任意的目录下都可以打开指定的软件就可以把软件的路径配置到环境变量中。
Path 环境变量的配置
- 先配置JAVA_HOME.(路径不带bin)👉 接入工具所在的文件目录
- 在配置Path。(%JAVA_HOME%\bin)👉 引用JAVA_HOME然后拼接bin
小拓展
部分win10的电脑有一个小bug。当你重启之后,配置的环境变量会失效。
解决方案:
1,JAVA_HOME还是照样配置
2,在path当中,就不要引用JAVA_HOME了。
直接写完整路径。比如E:\develop\jdk\bin
Java可以干什么?
三大平台
1.Java SE
2.Java ME
3.Java EE
Java SE
Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。
目的:为今后要从事的Java EE 开发,打基础,
桌面应用
用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验。
Java ME
Java语言的小型版本,用于嵌入式电子设备或者小型移动设备。
Java EE
Java语言的企业版,用于Web方向的网站开发。该领域的NO.1。
网站开发:浏览器+服务器
JDK&JRE
JDK(编写代码)
全称:java开发工具包(Java Development kit)
包括:JVM(虚拟机)、核心类库(Java已经写好的东西)、开发工具(javac、java、jdb、jhat…)
JRE(运行代码)
全程:Java 的运行环境(Java Runtime Environment)
包括:JVM 、核心类库、运行工具
基础概念
注释
对代码的解释说明,注释不参与编译和运行
单行 //注释信息
多行 /*注释信息*/–不能嵌套
文档注释 /**注释信息*/
提供说明文档,不用看代码,直接看文字即可
public class Filename{}
//此处的Filename叫类名,需要与创建的文档同名,区分大小写。
public static void main(Steing[] args)
//叫做main方法,表示程序的入口,也就是程序的起始点
System.out.println(“HelloWorld”);
/*这一句是Java中的输出(打印)语句,会把小括号中的内容进行打印输出,注意后面又分号哦,每一句都需要加上(;)表示语句的结束*/
tips
各种括号和多行注释以及引号这些成对出现的符号,先把一整对打好,再返回中间进行输入,可以避免忘记或者缺少,减少后续查找的麻烦。
关键字
特点:被Java赋予特定涵义的英文单词
1.关键字的字母全部小写
2.IDE(集成开发)对关键字都会有特殊颜色的标记
[[class]]
用于创建一个类,类是Java的最基本单元,Java中全部内容都必须放置在类中,class后面紧跟类名
类名--以大写开头的名词
类名的定义规则很宽松,名字必须以字母开头,后面可以跟字母和数字任意组合,长度基本无限制
不可以用Java中的保留字(已经被规定好用途的字,如:class、int等)否则报错
小知识--骆驼命名法(camel case)
名字由多个单词组成,每个单词的第一个字母都应该大写,以自身为例(Camel Case)
打印内容的呈现:
public class Helloworld {
public static void main(String[] args) {
System.out.println(1); //整数
System.out.println(-1); //整数
System.out.println(0.5); //小数
System.out.println(-0.5); //小数
System.out.println("yhb"); //字符串--用的是双引号哦
System.out.println("小姚"); //字符串
System.out.println('男'); //字符,注意,字符只有单个,而且用的是单引号
System.out.println('女'); //字符
System.out.println(true); //布尔
System.out.println(false); //布尔
System.out.println("null"); //空--不能直接打印,只能用字符串的形式进行打印
}
}
\t制表符
补齐八位的长度
一个\t相当于八位个空格键长度,每个空格位只能输入一个字符
比方说我在()中输入以下代码
"abcd"+"\t"+"123"
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
a | b | c | d |
“abcd”+"\t"这一串就会以表格上方的样式输出,不足八位,用空隔自动补足八位。这样子可以让打印出来的字符变得整齐,如下图
[[![[Pasted image 20240313153006.png]]
同时要知道,制表符只是和前面的字符串有关系,和后面的无关奥。那要是输入的超过八位了怎么办,制表符会自动在八位后面补上四个空格,如果要好看的话,可能就要拆分字符串
基本数据类型
1、基本数据类型:整型、浮点型、字符型、布尔型
整数类型 —— byte、short、int、long,
浮点类型 —— float、double
字符类型 —— char
布尔类型 —— boolean
空类型——null
2、引用数据类型:接口(interface)、数组([ ])、类(class)
变量
使用场景: 当某个数据经常发生改变时,我们也可以用变量存储。当数据变化时,只要修改变量里面记录的值即可
定义格式:数据类型 变量名 = 数据值;
数据类型:空间中储存的数据的限制,如:小数、整数等
变量名:为空间起名字
数据值:存在空间里面的数值
public class VariableDemo1{
public static void main(String[] args){
int a = 10; //等号是赋值的意思,把右边的值赋给左边
System.out.println(a);
}
}
变量的使用方法
public class VariableDemo2{
public static void main(String[] args){
//基本用法
int a = 10;//定义变量在输出
System.out.println(a); //10
//变量参与计算
int b = 30; //不可以重新定义为变量a,否则报错
int c = 20;
System.out.println(b+c);//50
//修改变量记录的值
a = 50; //修改不是重新定义
Symtem.out.println(a);//50
}
}
注意事项:
- 只能存一个值
- 变量名不允许重复定义
- 一条语句可以定义多个变量
- 变量在使用之前一定要进行赋值
- 变量的作用域
//一条语句可以定义多个变量
int d = 100,e = 200, f = 300;
System.out.println(d);
System.out.println(e);
System.out.println(f);
//使用前要赋值
//int g; //报错
//g = 500; //这样赋值奇怪
//建议以后定义变量的时候直接赋值
System.out.println(g);
[!不同进制在代码中的表现形式–jdk7的特性]
二进制:由0和1组成,代码中以0b开头(不区分大小写)十进制:由0~9组成,前面不加任何前缀
八进制:由0~7组成,代码中以0开头
十六进制:由09还有af组成,代码中以0x开头
public class HelloWorld{
public static void mian(String[] args){
System.out.println(17);//十进制
System.out.println(017);//八进制
System.out.println(0b123);//语法错误,二进制中没有2和3
System.out.println(0x123);//十六进制
}
}
小知识–汉字在计算机中的储存规则
- GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
- BIG5编码:台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
- GBK编码:2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。windous操作默认
- Unicode编码(万国码表):国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。
java的基础语法
数据类型
基本数据类型–四类八种
public class VariableDemo3
public static void main(String[] args){
byte b = 10;//赋值时不可以超过取值范围
System.out.println(b);//10
short s = 20;
System.out.println(s);//20
int i = 30;
System.out.println(i);//30
//long类型比较特殊
//long n = 999999999;//报错
long n = 9999999999L;
/*
如果要定义long类型的变量,在数据值的后面需要加一个工作为后缀;可以是大写的,也可以是小写的。但是为了方便分辨,建议用大写
*/
System.out.println(n);
//flort
float f = 10.1F;//注意同样需要结尾加字母
System.out.println(f);
double d = 20.2;//double变量赋值不需要加字母
System.out.println(d);
char c = '中';//英语单引号
System.out.println(c);
boolean o = ture;
System.out.println(o);
}
取值范围大小关系:
double > float > long > int > short > byte
标识符
给类、方法、变量等起名字
命名规则
硬性要求
- 由数字、字母、下划线()和美元符($)组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
软性建议–见名知意
小驼峰命名法:方法、变量
规范1:标识符是一个单词的时候,全部小写
范例1:name
规范2:标识符由多个单词组成的时候,第一个单词首字母小写,他单首字母大写
范例2:firstName
大驼峰命名法:类名
规范1:标识符是一个单词的时候,首字母大写
范例1:Student
规范2:标识符由多个单词组成的时候,每个单词的首字母大写
范例2:GoodStudent
键盘录入
让我们的变量更加灵活
Java帮我们写好一个类叫Scanner,这个类就可以接收键盘输入的数字。
步骤一: 导包-- Scanner这个类在哪
import java.util.Scanner;//导包的动作必须出现在类定义的上边。
步骤二: 创建对象 … 表示我要开始用Scanner这个类了
Scanner s = new Scanner(System.in);//这个格式里面,只有s是变量名,可以变,其他的都不允许变
步骤三: 接收数据 … 真正开始干活了
int i = sc.nextInt();//左面这个格式里面,只有i是变量名,可以变,其他的都不允许变。
完整代码展示:
import java.util.Scanner;//导包
public class ScannerDemo1{
public static void main(String[] args){
//创建对象
System.out.println(请输入整数);
Scanner s = new Scanner(System.in);
int i = s.nextInt();//接收数据
System.out.println(i);
}
}
IDEA
IDEA中的第一个代码
项目结构介绍
project(项目)→module(模块)→package(包)→class(类)
流程
- 新建项目
- File → 项目结构 → 新建java模块
- 右击src,新建包
- 右击建好的包,新建class(主入口会自动与你的class命名一致)