JAVA学习笔记
Jdk的安装和NetBeans GUI 的使用
环境设置
使用之前需要安装 Java Development Kit(JDK)和 Integrated Development Environment(IDE)编辑器。
JDK:是为想要使用 Java 开发应用程序的程序员提供的软件包。它是构建 Java应用程序的关键平台组件。JDK 还附带了JVM(执行代码的 Java 平台组件)、JRE(Java 中创建 JVM 的磁盘部分)、JDK(允许开发人员创建将由 JVM 和 JRE 执行和运行的 Java 应用程序的工具)。
IDE 编辑器:是开发人员用来编写代码的开发工具。它类似于文本编辑器,开发人员在其中编写和编辑代码。有许多 IDE 编辑器通常被 Java 使用开发人员可以创建其他应用程序,如 Visual Studio Code、Eclipse、notepad++、NetBeans 等。以前在学校学习使用Eclipse,本次学习将用NetBeans作为开发工具 。
1.JDK的安装
1. 在Orval的官网下载JDK安装包,选择windows 64位的下载。
2.点击后面的蓝色链接进行下载.
3.配置环境变量
- 右击“我的电脑”,选择“属性”。点击高级系统设置。
- 选择环境变量
- 在path里添加JDK里bin目录的路径
4. 配置完成后在CMD里输入 java -version 检查配置是否成功
2. 下载Apache NetBeans
1. 进入Apache NetBeans官网www.netbeans.org点击Download
2. 选择绿色下载处下载,完成后进行安装(尽量不要安装在C盘)。
3. 安装完成后打开Apache NetBeans。因为默认是国外的镜像源下载各种依赖包速度慢,所以要配置国内阿里的镜像源。
- 单击 NetBeans-12.0\netbeans\java\maven\conf目录下的 Settings.xml 文件,右键→打开方式→记事本。这样用记事本打开了 Settings.xml 文件。
- 找到“”,注意不是“”,特别注意是有个“s”的。在“”
将以下代码添加进去:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>apachemaven</id>
<name>apache org</name>
<url>http://repo.maven.apache.org/</url>
<mirrorOf>central</mirrorOf> </mirror>
<mirror>
<id>apachemaven</id>
<name>maven org</name>
<url>http://mvnrepository.com/</url> <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>apachemaven</id>
<name>repo1 org</name>
<url>http://repo1.maven.org/maven2/ </url> <mirrorOf>central</mirrorOf>
</mirror>
- 然后保存退出
4. 激活 Java SE 特性
在使用软件时需要激活 Java SE 特性,以便能够创建 Java 应用项目。
1. 激活步骤:
1.1 选择菜单栏中的“Tools→“Plugins”命令。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020072710460216.png)
1.2.选择“Installed”选项卡,并检查“Java SE”特性。
1.3 选择Java SE 并激活。
我的已经安装好了,如第一次安装红框处可以点击,点击激活即可。
5.创建第一个工程
1. 首先点击File----->New Project
2. 选择java Application点击Next
3. 起好名字后点击Finish
4. 下一步是通过右击 mavenproject1→New→JFrame Form 菜单命令来创建 GUI 应用程序(Form 窗口应用程序)
5. 创建成功
6. 之后就可以使用
Java基础
1.Java数据类型
1.1 Java数据类型概览
1.2 分为三类:整型(byte,int,short,long,float,double),字符型(char),布尔型(boolean)。
1.3 整型类型
数据类型 | 内存空间(8位等于1字节) | 取值范围 |
---|---|---|
byte | 8位 | -128~ 127 |
short | 16位 | -32768~32767 |
int | 32位 | -2147483648~2147483647 |
long | 64位 | -9223372036854775808~9223372036854775807 |
整形类型用来储存整数数值,即没有小数部分的数值。可以是正数,也可使是负数。整数类型在Java中有三种表示形式,分别为十进、八进制和十六进制。
注意:
- 除了数字0,不能以0作为其他十进制数的开头。
- 八进制数必须要以0开头。
- 十六进制数必须以0X或0x开头。
在定义以上4种类型变量时,要注意变量取值范围,超出相应的取值范围就会报错。对于long型值,若赋格的值大于int型的最大值或小于int的最小值,需要在数字后面加L或l,表示该数字为长整数。
1.4 浮点类型
浮点类型表示有小数部分的数字。Java语言中浮点类型分为单精度类型(float)和双精度类型(double),他们有不同的取值范围。
数据类型 | 内存空间(8位等于1字节) | 取值范围 |
---|---|---|
float | 32位 | 1.4E-45~3.4028235E38 |
double | 64位 | 4.9E-924~1.7976931348623157E308 |
在默认情况下,小数都被看做double型,若使用float型小数,则需要在小数后面加F或f。double类型的数值在后面不加D或d不会出错,但是声明float类型时如果不加f,系统会认为变量是double类型从而报错。
1.5 字符类型
1. char型
字符类型(char)用于储存单个字符,占用16位(俩个字节)的存储空间。在定义字符型变量时,要以单引号表示,用双引号表示即便是一个字符,它表示的也是字符串。
1.6 转义字符
转义字符是一种特殊的字符变量,它以反斜杠开头‘\’,后面跟有一个或多个字符,转义字符具有特殊的含义。
转义字符 | 含义 |
---|---|
\ ddd | 1~3位八进制数据所表示的字符 |
\uxxxx | 4位十六进制所表示的字符 |
\ ‘ | 单引号字符 |
\ \ | 反斜杠字符 |
\ t | 垂直制表符,将光标移到下一个制表符的位置 |
\ r | 回车 |
\ n | 换行 |
\ b | 退格 |
\ f | 换页 |
1.6 布尔类型
布尔类型又称逻辑类型,通过关键boolean来定义布尔类型变量,只有ture和false俩个值,代表逻辑判断中的真和假。它不能与整数类型进行转换,常在流程控制中作为判断条件。
2. 变量
在程序执行过程中,其值不能被改变的值叫常量,其值能改变的叫变量。
1.标识符
1.常量和变量都必须使用合法的标识符。
2.Java语言规定标识符由任意顺序的字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。
注意:
- 标识符不能是Java中的关键保留字。
- Java语言中标识符中的字母是严格区分大小写的。
2.声明变量
- 变量必须在程序中被定义(或声明)后才能使用,您必须为每个变量确定一个具体类型。
- 当程序执行时,程序代码会加载到内存中的储存区。数据暂时储存在数据区中。
- 变量名遵守的规则
3.1 变量名必须是一个有效的标识符
3.2 变量名不可以是Java的关键字
3.3 变量名不可以重复
3.4 应选择有意义的单词作为变量名
3.5 Java中允许使用汉字作为变量名,但是不介意使用。
3. 声明常量
在运行过程中一直不会被改变的量称为常量,通常也被称为”final 变量“。常量在程序中只能赋值一次,在为所有对象共享值时,常量十分的有用。
标准语法:final 数据类型 常量名[=值]
常量名通常使用大写字母。
注意:当final属于”成员变量时“,必须在定义时就设定它的初始值,否则将会产生编译错误。
4.变量的有效范围
一般根据变量的有效范围分为:”成员变量“和”局部变量“。
4.1成员变量
在类体中所定义的变量被称为成员变量,在整个类中都有效,而它又可以分为静态变量和实例变量。
在变量名前加关键字static就是静态变量,它的有效范围可以跨类,甚至可达到整个应用程序之内。它还可以直接以”类名。静态变量“的方式在其他类中使用。
4.2局部变量
在类的方法体中定义的变量被称为局部变量,它只在当前代码块中有效。
在类的方法中声明的变量,包括方法参数都属于局部变量。
3.字符串
1. 字符串声明和赋值
String name = new String(“小明”);
或者 String name = “小明”;
或者String name=“小明”;
name = “小明”;
使用”+“可以使多个字符串连接并产生一个String对象。
注意:
1.Java中一句相连的字符串不能分开在俩行写。如果需要分开俩行写中间要有加号。
2. 获取字符串信息
- 获取字符串长度
使用length()的方法可以获取字符串长度。
语法:str.length();
- 字符串查找
String类提供了两种查找字符串的方法,即indexOf()与lstndexOf()方法。这两种方法都允许在字符串中搜索指定条件的字符或字符串。indexOf()方法返回的是搜索的字符或字符串首次出现的位置,lastIndexO()方法返回的是搜索的字符或字符串最后一次出现的位置。
(1) indexOf(String s)
该方法用于返回参数字符申s在指定字符中中首次出现的索引位置。当调用字符串的indexO1方去时, 会从当前字符串的开始位置搜索s的位置:如果没有检索到字符串s,该方法的返回值是-1.
语法:str.indexOf(substr)
str: 任意字符串对象。
substr 要搜索的字符串。
(2) lastIndexOf(String str)
该方法用于返回指定字符串最后一次出现的索引位置,当调用字符串的lastlndexOf()方法时,会从字符串的结尾处,从右向左反向查找指定的字符制-如果找到指定的字符串,则返回该字符串中第一↑字符的索引;如果没有查找到字符串,该方法返回一1。
语法:str. lastindexOf(substr)
str:任意字符串对象。
substr:要搜索的字符串。
注意:如果lastndexOf)方法中的参数是空字符串1””(注意没有空格),则返回的结果与调用该字符串length(方法的返回结果相同。
(3)获取指定索引位置的字符
使用charAtO方法可将指定索引处的字符返回。
语法:str.charAt(int index)
str:任意字符串。
index: 整型值,用于指定要返回字符的 下标。
3.字符串操作
- 字符串替换
String replace(char oldChar, char newChar):将指定的字符/字符串oldchar全部替换成新的字符/字符串newChar
String replaceAll(String regex, String replacement):使用给定的参数 replacement替换字符串所有匹配给定的正则表达式的子字符串
String replaceFirst(String regex, String replacement):使用给定replacement 替换此字符串匹配给定的正则表达式的第一个子字符串
regex是正则表达式,替换成功返回替换的字符串,替换失败返回原字符串
- String substring()方法:实现截取字符串,利用字符串的下标索引来截取(字符串的下标是从0开始的,在字符串中空格占用一个索引位置)
substring(int beginIndex):截取从指定索引位置开始到字符串结尾的子串
substring(int beginIndex, int endIndex):从beginIndex开始,到endIndex结束(不包括endIndex)
- 判断字符串是否以指定字符或字符串开始和结束
boolean startsWith(String prefix)
boolean startsWith(String prefix, int toffset)
boolean endsWith(String suffix)
- 判断字符串是否包含指定子串
boolean contains(CharSequence s)
- 字符串替换(regex为正则表达式)
String replace(char oldChar, char newChar)
String replace(CharSequence target, CharSequence replacement)
String replaceAll(String regex, String replacement)
String replaceFirst(String regex, String replacement)
- 字符串分割(regex为正则表达式)
String[] split(String regex)
String[] split(String regex, int limit)
- 字符串格式化
static String format(Locale l, String format, Object... args)
static String format(String format, Object... args)
- 转换字符串大小写
String toLowerCase()
String toLowerCase(Locale locale)
String toUpperCase()
String toUpperCase(Locale locale)
- 将字符串转换为数组
byte[] getBytes()
byte[] getBytes(Charset charset)
byte[] getBytes(String charsetName)
char[] toCharArray()
- 去除字符串首尾的空白字符
String trim()
- 判断字符串是否为空
boolean isEmpty()
- 将基本数据类型,字符数组或对象转换为字符串
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(char[] data)
static String valueOf(char[] data, int offset, int count)
static String valueOf(double d)
static String valueOf(float f)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(Object obj)
- 匹配正则表达式
boolean matches(String regex)