1.Java概述
1.1java发展
java语言发展史等信息。
课程使用的jdk版本为11.0。
1.2java跨平台
Java跨平台:程序不能直接运行。
①java编辑器把java源程序编译为字节码文件(class文件)
②java虚拟机(JVM)对字节码文件解释执行。
1.3JRE和JDK
JRE(JAVA运行环境):包含JVM和Java API(核心类库)
JDK(Java开发工具):包含JRE和开发工具。
1.4JDK安装目录介绍
2.第一个演示程序
2.1常用DOS命令
2.2Path环境变量配置
需要新建一个JAVA_HOME环境变量,增加一个path变量下的jdk存储地址。
编译:javac文件名.java
执行:java 类名
3.java基础语法
3.1注释、关键字和常量
注释:有单行注释(//)和多行注释(/* */)(但不能嵌套使用)。
关键字:必须小写,和C、Python语言类似
常量:null不能直接用输出语句输出。
3.2数据类型和变量
数据类型:基本数据类型(整数类型、浮点类型、字节类型和布尔类型)
默认类型(int和double)
内存占用:整数类型(byte(1)、short(2)、int(4)、long(8));
浮点类型(float(4)、double(8))
字符类型char(2)
布尔类型boolen(1)
数值范围:主要在仔细想想浮点类型数据的数值范围,该如何记忆。
变量的定义:
定义格式:
数据类型 变量名=初始化值; //声明变量并赋值
int age=18;
System.out,println(age);
//先声明,后赋值(使用前赋值即可)
数据类型 变量名;
变量名=初始化值;
double money;
money=55.5;
System.out.println(money);
使用变量时注意事项:
使用前必须初始化,
long类型变量需要后面加L(或l)
float类型变量需要后面加F(或f)
3.3标志符和类型转换
标志符:(类、方法、变量、常量等)
规则:字母、数字、下划线、美元符组成(和C、Python语言有所区分)
强调:有小驼峰、大驼峰命名约定。
标志符命名最好能见名知意。
类型转换:自动(小->大)和强制(大->小)
4运算符
4.1算术
同C语言算术即可
等级顺序:byte,short,char
–> int --> long --> float --> double
字符串”+”操作,是字符串连接符,并不是算术运算
4.2赋值、自增自减
赋值:同C语言的赋值操作,赋值运算符隐含了强制类型转换
自增自减:同C语言的自增自减操作
4.3关系、逻辑、三元
关系:同C语言关系操作
关系:关系运算符的结果都是boolean类型,要么是true,要么是false。
逻辑:增加一个^(异或)运算,其他同C语言( &、|和! )
短路逻辑运算符
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
三元:同C语言三元
5.数据输入
1.导包:Scanner类
import java.util.Scanner;
2.创建Scanner对象:
Scanner sc=new
Scanner(System.in);
3.接收数据:
int i=sc.nextInt(); (前后根据数值的类型进行变化)
注意:字符串和字符接收数据情况;
字符串:String i=sc.nextLine();
字符:char i=sc.next().charAt(0);
6.流程控制语句
同C语言流程控制语句
7.switch、for循环、while循环语句
continue只能在循环中进行使用!
循环嵌套同C语言循环嵌套理解即可。
8.Random
Random类似与Scanner
使用步骤:
1. 导入包:
import java.util.Random;
2. 创建对象
Random r=new Random();
3. 产生随机数
Int num=r.nextInt(10);
字符串和字符随机数,暂时不懂
9.数组
数组动态初始化:int[] arr=new int[10];
int arr []=new
int[10];
数组静态初始化:
完整格式:int[] 数组名=new 数据类型[]{元素1,元素2,…};
简化格式:int arr[]={元素1,元素2,…};
数组遍历:将数组中的每个元素分别获取出来,就是遍历。也是数组操作的基石。
10.方法
10.1概念、定义和调用。
概念:将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
定义和调用:
先定义,后调用
Public
static void 方法名(参数1[XG1] ){
方法体;
}
每个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部代码调用完毕之后,会从栈内存中弹栈消失。
10.2注意事项
第一、不能嵌套定义
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据。
通用格式:
public
static 返回值类型 方法名(参数){
方法体;
return 数据;
}
调用方法时的注意:
void类型的方法,直接调用即可
非void类型的方法,推荐用变量接收调用
10.3方法重载、参数传递
方法重载:同一个类中定义的多个方法之间的关系。
满足条件:①同一个类
②方法名相同
③参数数量和类型不同
重载仅对应方法的定义,与方法的调用无关。
重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关。
参数传递:形参和实参
基本数据类型的参数,形式参数的改变,不影响实际参数
对于引用类型的参数,形式参数的改变,影响实际参数的值
可写可不写,方法分为无参和带参