一、jdk概述
1. JDK是提供给Java开发人员使用的,其中包含了java的开发工具。
2. JDK:JRE+JAVA的开发工具,JRE 包含 核心类库和JVM。
3. jdk 的跨平台原理是因为实现跨平台需要依赖Java的虚拟机 JVM。
二、dos命令的操作:
1.win+r进入dos操作界面,exit可以退出。
2 .转换更目录盘的命令:列如C盘换D盘 C:\d: +回车
3.dir可以查询出当前盘的所有文件
4. cd + 可以打开此文件夹,进入指定的目录,cd后面也可以加多级目录,如此便可以进入多级目录文件夹。
5 .cd.. 可以返回上一级的目录
6. cd/ 可以返回根目录
7 .cls 清屏
三、环境配置:
1. 在系统环境变量中创建一个变量名称:JAVA_HOME
2.为JAVA_HOME添加变量值:JDK安装目录
3.在path环境变量最前面添加 %JAVA_HOME%\bin; 就可以了。
环境变量配置的意义:配置环境变量的原因是使java.exe 和Javac.exe在任何目录下都能运行。
四、关键字
关键字的概述:被Java语言赋予特定含义的单词
关键字特点:组成关键字的字母全部小写,常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。
五、常量
概述:在程序执行的过程中,其值不可以发生改变的量
常量分类:
字符串常量 整数常量 小数常量 字符常量 布尔常量 空常量
变量
在程序执行的过程中,在某个范围内其值可以发生改变的量
数类型
四类八种
标识符: 用来给包、类、变量起名字的
组成规则:由字符,下划线_,美元符$组成
注意事项:
不能以数字开头
不能是Java中的关键字
六、运算符:
运算符
对常量和变量进行操作的符号称为运算符
表达式
用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
常用运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
++,--运算符:
对变量做加1或者减1的操作。++或者--既可以放在变量的后面,也可以放在变量的前面。
单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的。
参与操作的时候:
如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
赋值运算符:
基本的赋值运算符:=
关系运算符:
符号:==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
逻辑运算符:
逻辑运算符有:
&,|,^,!
&&,||
注意:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
&&和&的区别:
1.最终结果一样。
2.&&具有短路效果。左边是false,右边不执行。
3.&是无论左边是false还是true,右边都会执行
||和|的区别?
1.最终结果一样
2.||具有短路效果.左边是true,右边不执行
3.|是无论左边是false还是true,右边都会执行
三元运算符:
格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
七、键盘录入:
键盘录入数据的步骤:
1.导包(位置放到class定义的上面)
import java.util.Scanner;
2.创建对象
Scanner sc = new Scanner(System.in);
3.接收数据
int x = sc.nextInt();
八、if语句概述:
1.if语句第一种格式:
if(关系表达式) {
语句体
}
2.if语句第二种格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
3.if语句第三种格式:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
Switch语句概述:
表达式的取值:byte,short,int,char
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
注:switch 语句中还有一个case穿透,就是如果不加break,执行流程就会继续执行下一句,直到遇到break
While循环:
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
do …while循环:
基本格式
do {
循环体语句;
}while((判断条件语句);
扩展格式
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
九:跳出循环语句:
1.break:
在选择结构switch语句中
在循环语句中
离开使用场景的存在是没有意义的
break的作用:
跳出单层循环
2.Continue:
在循环语句中
离开使用场景的存在是没有意义的
continue的作用:
单层循环对比break,然后总结两个的区别
break 退出当前循环
continue 退出本次循环
十、 Random随机数生成的用法:
第一步:导包
import java.util.Random;
第二步:创建对象
Random r = new Random();
第三步:获取随机数
int number = r.nextInt(10);
产生的数据在0到10之间,包括0,不包括10,
里面的数字是可以变化的。
十一、数组:
1.一维数组概念:数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
数组定义的格式:
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
数组的初始化:
Java中的数组必须先初始化,然后才能使用。
初始化的方式:
格式:数据类型[] 数组名 = new 数据类型[数组长度];
注:静态初始化由你定义元素,系统定义长度;动态初始化由自己定义长度。
2.一维数组的遍历:
使用for循环遍历
例如:
public static void main(String[] args) {
// 定义数组
int[] arr = { 11, 22, 33, 44, 55 };
for (int x = 0; x < arr.length; x++) {
System.out.println(arr[x]);
}
2.二维数组:
概述:二维数组:就是元素为一维数组的数组。
定义格式:
1.数据类型[][] 数组名;
2.数据类型 数组名[][];
3.数据类型[] 数组名[];
二维数组的遍历:
遍历思想:首先使用循环遍历出二维数组中存储的每个一维数组,然后针对每个遍历到的一维数组在使用循环遍历该一维数组中的元素
例子:
public class ArrayArrayTest {
public static void main(String[] args) {
// 定义二维数组
int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
for(int y=0; y<arr.length; y++) {
for (int x = 0; x < arr[y].length; x++) {
System.out.print(arr[y][x] + " ");
}
System.out.println();
}
}
}
3.数组的反转
举例说明如下:
public class test02 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
for(int x=0; x<arr.length; x++) {
System.out.println("前"+arr[x]);
}
change(arr);
for(int x=0; x<arr.length; x++) {
System.out.println("后"+arr[x]);
}
}
public static void change(int[] arr) {
for(int x=0; x<arr.length; x++)
{
if(arr[x]%2==0)
{
arr[x]*=2;
}
}
}
}
十二、方法的概述
1.概述:方法就是完成特定功能的模块。
定义格式:
修饰符 返回值类型 方法名(参数类型1 参数名1,参数类型2 参数名2,……){
方法体;
return 返回值;
}
写方法有两个明确:
返回值类型 明确功能结果的数据类型
参数列表 明确有几个参数,以及参数的类型
2.Void 修饰方法的概述:
没有明确返回值时的函数调用,而且只能单独调用
3.方法重载的概述
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点:
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
4.方法中的参数传递
方法的参数是基本类型的时候: 形式参数的改变不影响实际参数。
形式参数:用于接收实际数据的变量
实际参数:实际参与运算的变量
十三、断点调试
作用:可以查看程序中的运行流程和发现程序中的bug。
概述和使用:
断点实际说就是一个标记,在想要设置断点的地方双击即可,运行方法就是右键 -- Debug as -- Java Application
F6,或者点击也可以,一次看一行的执行过程F5可以进入方法。
如果想要将断点去除,再次双击即可,或者 找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
十四、面向对象
概述:就是创建一个对象,然后使用对象去完成想要做的事情。
面向过程:就是直接面向具体的每一个步骤,亲自把每一件事情完成,然后相互调用,完成功能。
对象与类:
概述:类是一组相关的属性和行为的集合
概述:对象是该类事物的具体体现
Java中最基本的单位是类,Java中用class描述事物也是如此
成员变量 就是属性
成员方法 就是行为
定义类就是定义类的成员(成员变量和成员方法)
1.成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
2.成员方法 和以前定义方法是一样的,把static去掉
十五、面向对象之封装
1.封装概述
是面向对象三大特征之一,是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。就像刚才说的年龄。
2.封装原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
成员变量private,提供对应的getXxx()/setXxx()方法
3.好处:
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
4.private
它是一个权限修饰符,可以修饰成员,被修饰的只有本类中才能访问,否则要提供get和set方法才能访问,常用于修饰成员变量。
5.this关键字
它代表所在类的对象引用
方法被哪个对象调用,this就代表那个对象
在局部变量和成员变量重名时使用
6.构造方法
作用:主要用来给对象的数据进行初始化
构造方法格式
1.方法名与类名相同
2.没有返回值类型,连void都没有
3.没有具体的返回值
注意事项:
如果你不提供构造方法,系统会给出默认构造方法
如果你提供了构造方法,系统将不再提供。构造方法也是可以重载的,重载条件和普通方法相同
|
|