- (一)JAVA环境的搭建
- 1.下载并安装JDK
- 2.JDK环境变量的设置
- (二)编写一个JAVA程序
- 1.编写步骤
- 2.实例
- (三)安装IDEA与使用
- 1.安装IDEA
- 2.使用
- (四)数据类型与运算
- 变量
- 注释
- (五)数据类型
- 基本数据类型
- 常量
- 变量
- 数据类型转换
- 运算符
- 键盘录入
- 流程控制
- 选择结构
- 循环结构
- 跳转语句
Java程序的编译和运行离不开jdk环境,JDK(Java Development kit)是用于开发Java程序的开发包,它提供了运行java的程序所要的各种工具和资源,本次学习jdk8
jdk:JVM(java虚拟机)+JRE(运行的环境+类库)+打包工具
jdk:常用的版本:本次在windows系统上安装,对应操作系统64位
网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
jdk的安装目录:
1.bin目录:存放着编译,运行java程序的可执行文件
2.lib目录:存放着java的类库文件
3.jre目录:存放Java运行的环境文件
2.JDK环境变量的设置 1.计算机(此电脑)----属性----高级设置—系统设置
2.新建一个系统变量:变量名:JAVA_HOME,变量值:E:jdk1.8jdk
3.添加到Path环境变量中:设置源变量值为:%JAVA_HOME%bin
%表示连接符,相当于指向的作用。
4.测试jdk是否安装成功:
win键+r键,输入cmd,进入DOS命令窗口:java -version ;然后再输入javac;看指令能否识别
如果不能识别,报错:提示是外部命令
(二)编写一个JAVA程序 1.编写步骤(1).创建一个Java源程序。Java源程序用以.java作为扩展名,可以使用任意的文本编译器去创建和编写
(2).编译源程序去生成字节码文件。字节码文件的后缀名是.class文件
(3).运行字节码文件。
2.实例(1).打开记事本
(2).输入关键代码
(3).将文件以后缀名为.java保存
(4).测试运行
1. 进入命令提示行:
先找到Person.java文件所在的上一级的位置:
DOS命令:cd 进入下以及目录(输入第一个字符后,tab可以逐个查找;
cd 返回全部上级目录;dir查看当前目录下的文件
cd…返回上级目录;F:去往F盘;
本机的桌面的路径:C:Users86188Desktop
2.执行输入命令:
javac Person.java (生成了字节码文件)
报错:
提示:少了一个;
报错:表示GBK的不可映射字符,因为我们使用了中文字符
解决方案:
javac -encoding UTF-8 Person.java
java Person(这样就可以输出中文)
3.执行输入命令:java Person
(三)安装IDEA与使用 1.安装IDEA安装时勾上Java,和安装路径,快捷方式
2.使用1.新建项目
2.添加JDK
点击 ADD JDK,添加JDK所在路径,之后next,不选择模板
3.设置Project name与存储路径(不要放C盘)
4.右击文件new—package可以创建新的包
5.选中项目,再点击File—new—module,可以创建新的模块(module),模块就是工程里的子项目,工程(preject)是最大的工作单元
6.选中包,new—Java class
7.
File—Settings—Editor—Live Templates这里可以查看快捷的输入方式
比如打main就出public static void main(String[] args) {}
打cout就出System.out.println();
8.src文件夹下写代码(存放的是项目的源文件)
9.IDEA写代码不用保存
在IDEA中,项目>模块>包>类
1.变量的命名
Java中的标识符规则有4个:
(1).标识符由字符、数字、下划线(_)、或者$组成
(2).标识符的首字母以字母、下划线、美元符号开头,不能以数字开头
(3).标识符命名不能与关键字、布尔值(false、true)和null相同
(4).标识符区分大小写,没有长度限制、坚持以见名知义的有原则,使用驼峰命名法,如;studentName
2.关键字
- abstract: 用于声明抽象类,以及抽象方法。
- boolean: 用于将变量声明为布尔值类型,只有 true 和 false 两个值。
- break: 用于中断循环或 switch 语句。
- byte: 用于声明一个可以容纳 8 个比特的变量。
- case: 用于在 switch 语句中标记条件的值。
- catch: 用于捕获 try 语句中的异常。
- char: 用于声明一个可以容纳无符号 16 位比特的 Unicode 字符的变量。
- class: 用于声明一个类。
- continue: 用于继续下一个循环,可以在指定条件下跳过其余代码。
- default: 用于指定 switch 语句中除去 case 条件之外的默认代码块。
- do: 通常和 while 关键字配合使用,do 后紧跟循环体。
- double: 用于声明一个可以容纳 64 位浮点数的变量。
- else: 用于指示 if 语句中的备用分支。
- enum: 用于定义一组固定的常量(枚举)。
- extends: 用于指示一个类是从另一个类或接口继承的。
- final: 用于指示该变量是不可更改的。
- finally: 和 try-catch 配合使用,表示无论是否处理异常,总是执行 finally 块中的代码。
- float: 用于声明一个可以容纳 32 位浮点数的变量。
- for: 用于声明一个 for 循环,如果循环次数是固定的,建议使用 for 循环。
- if: 用于指定条件,如果条件为真,则执行对应代码。
- implements: 用于实现接口。
- import: 用于导入对应的类或者接口。
- instanceof: 用于判断对象是否属于某个类型(class)。
- int: 用于声明一个可以容纳 32 位带符号的整数变量。
- interface: 用于声明接口。
- long: 用于声明一个可以容纳 64 位整数的变量。
- native: 用于指定一个方法是通过调用本机接口(非 Java)实现的。
- new: 用于创建一个新的对象。
- null: 如果一个变量是空的(什么引用也没有指向),就可以将它赋值为 null,和空指针异常息息相关。
- package: 用于声明类所在的包。
- private: 一个访问权限修饰符,表示方法或变量只对当前类可见。
- protected: 一个访问权限修饰符,表示方法或变量对同一包内的类和所有子类可见。
- public: 一个访问权限修饰符,除了可以声明方法和变量(所有类可见),还可以声明类。main() 方法必须声明为 public。
- return: 用于在代码执行完成后返回(一个值)。
- short: 用于声明一个可以容纳 16 位整数的变量。
- static: 表示该变量或方法是静态变量或静态方法。
- strictfp: 并不常见,通常用于修饰一个方法,确保方法体内的浮点数运算在每个平台上执行的结果相同。
- super: 可用于调用父类的方法或者字段。
- switch: 通常用于三个(以上)的条件判断。
- synchronized: 用于指定多线程代码中的同步方法、变量或者代码块。
- this: 可用于在方法或构造函数中引用当前对象。
- throw: 主动抛出异常。
- throws: 用于声明异常。
- transient: 修饰的字段不会被序列化。
- try: 于包裹要捕获异常的代码块。
- void: 用于指定方法没有返回值。
- volatile: 保证不同线程对它修饰的变量进行操作时的可见性,即一个线程修改了某个变量的值,新值对其他线程来说是立即可见的。
- while: 如果循环次数不固定,建议使用 while 循环
java提供了注释有三种:1.单行注释、2.多行注释、文档注释
1.单行注释
最简单类型的注释,只能写在一行的注释,
快捷键:ctrl+/
单行注释语法:
以两个"/"开头
2.多行注释
多行主要用于说明比较复杂的内容,或者说复杂的程序逻辑和算法原理,当一般有多行类容需要被注释的时候,才使用
快捷键方式:ctrl+shift+/(是问好键下的斜杠)
语法:
以“/”开头,以“/”结尾,中间的内容都被注释
3.文档注释:
API文档一样,可以在编写代码时使用文档注释
在idea,输入/**,然后按enter键,iDEA会自动显示文档注释
在Settings----File and Code Templates----Includes中设置
设置后如图
Java是强类型的语言,在定义变量时,需要声明数据类型,在Java中主要分为两种数据类型:
基本数据类型、引用数据类型
基本数据类型整数型:(byte、short、int、long)
浮点型:(float、double)
字符型:char
步尔型:boolean
其中整数型和浮点型又叫数值型,int、double、long 等都是java定义的关键字
| 基本数据类型 | 大小 | 示例 | 取值范围 |
|---|---|---|---|
| boolean | 1字节,8位 | true | true、false |
| byte | 1字节,8位有符号整数 | -12 | -128~+127 |
| short | 2字节,16位有符号整数 | 100 | -32768~+32767 |
| int | 4字节,32位有符号整数 | 12 | -2147483648~+2147483647 |
| long | 8字节,64位有符号整数 | 1000 | -2147438648~+2147438647 |
| char | 2字节,16位Unicode | ‘a’ | 0~65535 |
| float | 4字节,32位浮点数(单精度) 有效数字6位 | 3.4f | -3.4E38~3.4E38 |
| double | 8字节,64位浮点数(双精度) 有效15位 | -2.1e3D | -1.7E308~1.7E308 |
概念:指Java中在程序运行中,不能改变量,称为常量
变量概念:与常量相对应,指程序中运行值可以改变的量。它是java程序中存储的一个基本单元
变量的语法格式:
变量类型 变量名 =[初始值]
变量的类型可以在数据类型中选择的
“变量名”是定义变量的名称,要遵循表示符命名的规则
中括号里面的值的内容为初始值,可选项
数据类型转换概念:
不同的基本数据类型之间进行运算时,需要类型转换,除布尔类型外,所有的基本数据类型进行运算时要考虑类型转换,主要应用在算术运算和赋值运算中
(1)自动类型转换
将低级别的类型赋值给高级别的类型时进行的自动转换
byte
(2)强制类型转换
将高级别的类型赋值给低级别的类型时,必须要进行的强制转换,在Java中,使用一对小括号进行表示强制类型转换,如:int a=1;byte num=(byte)a;
double a=3.14159;int n=(int)a
1.赋值运算
赋值运算符号“=”用于给变量指定变量的值,并可以和算术运算符结合起来,组成复合赋值运算符。复合赋值运算符:“+=”、“-=”、“*=”、“/=”、“%=”
2.算术运算
算术运算符包括:“+”,“-”,“*”,“/”,“%”、“++”、“–”
其中:++表示自增运算
--表示自减运算
j=i++是i先赋值给j,再自增
j=++i是i先自增,再赋值给j
对于除法运算,如果两个操作数都是整数,结果也是整数,会舍去小数部分,如果两个数,有一个是浮点数,将会进行自动类型转换,结果也是浮点数,保留小数部分
对于取模运算符,如果两个操作数均是整数,结果也是整数,如果两个操作数有一个浮点数结果也是浮点数,保留小数部分
3.关系运算符
关系运算符有时又叫比较运算符,用于比较两个变量或常量的大小,运行的结果是布尔值:true
或false;
Java中有6个关系运算符:“==”、“!=” “>”,“<”,“>=”;“<=”
注意:
(1)."="表示是赋值运算符;”==“表示等于运算符
(2).”>“;“<”,“>=”;“<=”;只支持数值类型的比较
(3).“==”、“!=”支持所有数据类型的比较,包括数值类型、布尔类型、引用类型
(4).关系运算符,运算后的结果是一个布尔值
(5).“>”,“<”,“>=”;“<=”;运算符的优先级高于”==“、”!=“
4.逻辑运算符
逻辑运算符用于对布尔类型操作数进行运算,其结果还是布尔值,逻辑运算如下
| 运算符 | 含义 | 运算规则 |
|---|---|---|
| & | 逻辑与 | 两个操作数都是true,结果才是true;不论左边取值,右边的表达式都会进行运算 |
| | | 逻辑或 | 两个操作数一个是true,结果也是true;不论左边取值,右边的表达式都会进行运算 |
| ^ | 逻辑异或 | 两个操作数相同,结果为false;两个操作数不同,结果为true |
| ! | 逻辑非 | 操作数为true,结果为false;操作数为false,结果为true |
| && | 短路与 | 运算规则同“&”,不同在于如果左边为fasle,右边表达式不会进行运算 |
| || | 短路或 | 运算规则同“|”,不同在于如果运算符左边的值为true,右边的表达式不会进行运算 |
注意:
(1).操作数类型只能是布尔类型,操作的结果也是布尔类型
(2).优先级别:”!“>“&”>“^”>“|”>“&&”>“||”。
(3).&与&&的区别:当“&&”的左侧为fasle时,将不会计算其右侧的表达式,即左边false则fasle;无论任何情况,“&”两侧的表达式都会参与计算
(4).逻辑或和短路或:的区别和逻辑与与短路与类似
5.条件运算(三目运算符)
是java中唯一需要3个操作数的运算符,又叫三元运算或三目运算
条件运算符的语法格式:
条件? 表达式1:表达式2
运算过程:
(1).先对条件进行判断,结果为true,则返回表示式1的值
(2).如果结果为false,则返回表达式2的值
6.运算符的优先级:
运算符的最低的级别是赋值运算,其次条件运算符
单目运算包括:”!“、”~“、”++“、”–“优先级最高的
可以通过”()“来控制表达式的运算顺序,”()“优先级别最高
总体而言:优先顺序为算术运算符>关系运算符>逻辑运算符
键盘录入1.导包
import java.util.Scanner;(在idea中自动完成)
2.创建对象
Scanner sc = new Scanner(System.in);
3.接受数据
int i = sc.nextInt();
sc.next(); 字符串(只要字)
sc.nextInt(); 整型
sc.nextDouble(); double类型
sc.nextLine(); 字符(全都要,包括空格)
Java中有三种流程控制结构:顺序结构、选择结构、循环结构
顺序结构:顺序结构指的是程序自上而下一次执行的每条语句,中没有任何的判断和跳转,前面所有的结构都是顺序结构
选择结构:
选择结构根据判断条件的结果来执行不同的代码
循环结构:
根据判断条件来重复执行某块代码。Java提供、while语句,do-while语句、for语句来实现循环结构
选择结构(1)if语句的语法格式如下:
if(表达式){
语句块
}
if是java中的关键字
表达式是布尔类型的表达式,其结果是true或false
(2)if-else语句的语法如下:
if(表达式){
语句块
}else{
语句2
}
当表达式为true时,执行语句块1;
表达式为false时,执行语句块2
(3)多分支if语句的语法格式:
if(表达式1){
语句块1
}else if(表达式2){
语句块2
}else{
语句块3
}
注意:Java中判断两个字符串是否相等,用equals()判断两个字符串的值是否相等,用“==”比较判断内存地址是否相等
(4) switch语句语法的格式:
switch(表达式){
case常量1:
语句
break;
case常量2:
语句
break;
…
default:
语句;
break;
}
switch、case、break、default都是java中的关键字
switch的表达式只能是字符型、枚举型、整数型
case用于表达式匹配
default是选择的,当其他不匹配时,执行default
循环结构 (1)while循环的语法格式:
变量的初始化
while(循环条件){
循环体
}
while语句的执行步骤:
1.首先对循环条件的结果进行判断,如果为真,则执行循环语句
2.执行完毕后,继续对循环条件进行判断,如果为真,继续执行
3.如果结果是假(false),跳出循环语句,去执行后面的语句
(2)do-while循环语句的语法格式如下:
变量初始化
do{
循环体
}while(循环条件)
注意:do-while先执行循环体,再执行循环条件,所以循环体至少执行一次,这点和while循环相反
(3)for循环的语法格式如下:
for(表达式1;表达式2;表达式3){
循环体
}
for语句的执行步骤:
1.首次执行表达式1,一般进行变量初始化的操作
2.然后执行表达式2,即对循环条件进行判断
3.如果结果为真,则执行循环体
4.循环语句执行完毕后执行表达式3,改变循环的变量的值,再次执行表达式2;
如果结果是真,继续循环
5.如果结果是假,终止循环,执行后面的语句
注意:使用fori或变量.fori可以直接出来
跳转语句Java语言中支持3种类型的跳转语句:continue语句、return语句,break;使用这些语句,可以把控制转移到循环甚至程序的其他地方。
(1).break语句
作用: 在循环种终止当前循环,在switch语句中终止switch语句
(2).continue语句
作用: 强制循环提前返回,也就是让循环跳过本次循环中剩余代码,然后进入下次循环
注意:在while循环和do-while循环中,continue执行完毕后,程序将直接判断循环条件,如果为true,则继续下次循环,否则,终止循环,而在for循环中continue使用程序先跳转到循环变量计算部分,然后再判断循环条件



