java韩老师第一阶段(鱼皮推荐迟早看完我先去刷下狂神的别问问就是着急了)

补充:

补充:随机返回方法——>random

在这里插入图片描述
即,随机生成的double类型的数,在 [0,1)之间
在这里插入图片描述

补充:比较字符穿方法——>equals方法:字符串比较肯定不能用==用之无效但是字符可以,要用equal方法,

在这里插入图片描述
在这里插入图片描述

一一一java简介与开发环境

一,java运行环境与搭建

1.jdk与jre关系在这里插入图片描述
2.下载安装jdk后环境配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二,java的简介

	1.编译与运行

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.Java的基础规则

(1)学习思路
在这里插入图片描述

(2)Java规则

在这里插入图片描述
规则6演示 :可多个其他class
在这里插入图片描述

其他class类中也可以写main方法(规则8):
当其他类有入口main,可以给其他有入口的类单独运行,即只用Java后加要运行的类名。
在这里插入图片描述

在这里插入图片描述
(3)Java的转义字符
在这里插入图片描述
在这里插入图片描述
(4)Java的注释与“+”的使用
在这里插入图片描述
在这里插入图片描述
请添加图片描述

(5)Java的代码书写规则
在这里插入图片描述
(6)DOS介绍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一一二 java变量及详解

一,变量

请添加图片描述

请添加图片描述
示例:
请添加图片描述
请添加图片描述储存时即使是存储同一个字符,不同数据类型所占的空间不同请添加图片描述
请添加图片描述

二,变量详解

1.整形数据

请添加图片描述
以上四个类型都是整数类型,根据不同的数据大小选择合适的数据类型存储数据,可以节约存储空间。

整数类型细节:
请添加图片描述
示例:请添加图片描述

2.浮点数类型

请添加图片描述
浮点数详细细节:
请添加图片描述
实例:请添加图片描述
注意:浮点数的使用陷阱
请添加图片描述
请添加图片描述

补:API

请添加图片描述

请添加图片描述

3.字符类型

请添加图片描述
字符类型细节:请添加图片描述
实例:请添加图片描述
请添加图片描述
字符本质:
请添加图片描述

4.布尔类型

请添加图片描述
实例:请添加图片描述
请添加图片描述
布尔运用:请添加图片描述

三、数据转换

1.自动转换

请添加图片描述
实例:请添加图片描述
自动转换细节:请添加图片描述
实例:请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

2.强制类型转换

请添加图片描述
强转细节
请添加图片描述
实例:请添加图片描述
请添加图片描述

3.String(引用数据类型)与基本数据类型转换

常规,引用数据类型与(除char)基本数据类型转换

请添加图片描述

string变char类型

在这里插入图片描述

实例:请添加图片描述
请添加图片描述
请添加图片描述
String转换细节:请添加图片描述
实例:请添加图片描述

作业总结

请添加图片描述
2答:
请添加图片描述
3答:
请添加图片描述
请添加图片描述

4答:请添加图片描述

一一三 java各种运算符及其详解

1.运算符

1.1运算符的类型

请添加图片描述

2.各种运算符

2.1 ->算术运算符

请添加图片描述
请添加图片描述
算术运算符细节:请添加图片描述
细节演示:
请添加图片描述
请添加图片描述
请添加图片描述
++面试题请添加图片描述
自增例子:
请添加图片描述
算术运算应用练习:
请添加图片描述
请添加图片描述

2.2 ->关系运算符

请添加图片描述
请添加图片描述
关系运算符实例:
请添加图片描述
关系运算符使用细节:
请添加图片描述

2.3 ->逻辑运算符

请添加图片描述
请添加图片描述
逻辑运算符介绍:
请添加图片描述
短路与和逻辑与:
请添加图片描述
短路或和逻辑或:
请添加图片描述
取反和异或:
请添加图片描述
取反例子:请添加图片描述
逻辑运算练习:
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

2.4 ->赋值运算符

请添加图片描述
赋值运算符细节:
请添加图片描述
请添加图片描述

2.5 ->三元运算符

请添加图片描述
三元运算符运用:
请添加图片描述

2.6-> 位运算符

(1)反码补码原码关系:
请添加图片描述
(2)位运算符介绍:
请添加图片描述

请添加图片描述
请添加图片描述

位运算符实例:请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
注意:左移不分正负的情况都在地位补0:当操作数的正负号改变时,表明错误。因为只是左移,即,只成2不会改变正负,当正负改变时说明错误。
请添加图片描述
注意:右移有正负号之分,给高位补的就是他们的正负号数。正补0,负补1。
请添加图片描述
请添加图片描述
无符号右移注意:也同样没正负情况之分,都在高位补0
请添加图片描述

三元运算符实例:注意(1)前++是先加一,赋值再进行下一步(2)后++是先背用一次再加一请添加图片描述
三元运算符细节:
请添加图片描述
细节演示:
请添加图片描述
三元练习:
请添加图片描述

3. 运算符相关规则,规范

3.1 运算符优先级

请添加图片描述

3.2 运算符命名

请添加图片描述
规则,规范
请添加图片描述
规则实例:
请添加图片描述
请添加图片描述

补充:关键字,保留字

请添加图片描述
请添加图片描述

补充:键盘输入

请添加图片描述
键盘输入例子:
请添加图片描述
请添加图片描述

补充:进制与转换

请添加图片描述
进制例子:
请添加图片描述
进制转换:
请添加图片描述
其他进制转十进制:
请添加图片描述
请添加图片描述
请添加图片描述
十进制转其他进制:
请添加图片描述
请添加图片描述
请添加图片描述
二进制与八进制,十六进制:
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

本章作业

请添加图片描述
请添加图片描述
请添加图片描述

一一四 程序控制结构

在这里插入图片描述

控制分类

请添加图片描述

一.顺序控制:

即,正常按程序先后顺序走。
请添加图片描述

二.分支控制

2.1 if分支

1 if单分支:

请添加图片描述
请添加图片描述

2 if双分支

请添加图片描述
*此例子,记得前面导入Java.util.Scanner包双分支:

请添加图片描述

# if单双分支练习:

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

3 多分支

请添加图片描述
多分支注意:结果只有一个有一个成立就会跳过后面的分支判断,只执行此分支成立时的目的代码块
请添加图片描述

# if多双分支练习:

练习1:
请添加图片描述
在这里插入图片描述
练习2:
注意:“==”是比较,而“=为赋值”;
if多分支只有一个结果出口,一个符合后执行完他的目的块,其后面的分支将不会执行

请添加图片描述

4 if嵌套分支

请添加图片描述

请添加图片描述

# if嵌套分支练习:

请添加图片描述
练习1:
请添加图片描述
注意:字符的接受其实是字符串的接收,然后把字符串的第一个字符转换成字符类型------>zifuchuan.charAt(0)
请添加图片描述

2.2 switch分支

1 switch基本语法

switch语句注意:表达式是一个值但是这个值可以是用一个式子
表示

在这里插入图片描述
入门示例:

在这里插入图片描述
在这里插入图片描述

2 细节

请添加图片描述
细节一详解:表达式和case理应是匹配的关系,所以表达式代表的值必须和case的常量类型一样

在这里插入图片描述
在这里插入图片描述
细节二详解:switch中的表达式,常熟数据围绕着有限的几个数据类型才能运行
在这里插入图片描述

在这里插入图片描述
细节三详解:即,表达式是因,常量是果,因是变量,果是定数(常量)
在这里插入图片描述
细节四详解:

在这里插入图片描述
细节五详解:无跳出,会从符合的case运行到完

在这里插入图片描述

# switch随堂练习

在这里插入图片描述

练习1:

在这里插入图片描述
在这里插入图片描述
注意:字符接收 zifuchuan.next().charAt(0

练习2:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里注意这种字符函数的思想。

练习3:使用穿透

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:switch中只有对 byte short int enum 可以用

2.3 分支if和switch的比较

在这里插入图片描述

三.循环控制

3.1 for循环

1 for基本语法

请添加图片描述
在这里插入图片描述

2 细节详解

在这里插入图片描述

细节2详解:细节2如果i在for里面定义的话,在for外面不可以使用i,因为i的作用域在for内,所以有时会把i写在for外

在这里插入图片描述

细节3详解:初始值与迭代句可不唯一

在这里插入图片描述

# for随堂练习:涵盖老师编程独家秘笈

在这里插入图片描述

练习1:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

练习2:

在这里插入图片描述
在这里插入图片描述

3.2 while循环

1 while基本语法

在这里插入图片描述

2 while细节详解

在这里插入图片描述

# while随堂练习

在这里插入图片描述

练习1

在这里插入图片描述
在这里插入图片描述
注意:i应为多少

练习2

在这里插入图片描述
和练习一一样;只要把范围变下,把被除数改下。

3.3 do while循环

1 do while基本语法

在这里插入图片描述

# 2 do while细节以及练习

在这里插入图片描述

练习3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

练习4:注意:字符串比较肯定不能用==用之无效但是字符可以,要用equal方法,这里不用break,用了和没用一样(还是跳出就近默认的if),应该用return直接结束

在这里插入图片描述
在这里插入图片描述

3.4 for,while,do while区别(流程图表示)

for

在这里插入图片描述

while

在这里插入图片描述

do while

在这里插入图片描述

3.5 多重循环

1 多重循环基本语法

在这里插入图片描述

2 多重循环讲解示例

在这里插入图片描述

# 多重循环练习

在这里插入图片描述

练习1,2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

课后作业,自己写答案

请添加图片描述

四、break

4.1 基本语法及功能图示:即,符合某个条件后跳出“指定”(有指定标签的话跳出指定标签;没有的话跳出默认最近的代码块)代码。

在这里插入图片描述

4.2 快速入门示例

补充:随机返回方法——>random

在这里插入图片描述
即,随机生成的double类型的数,在 [0,1)之间
在这里插入图片描述

1 入门例子

在这里插入图片描述

在这里插入图片描述

4.3 break细节:主要是跳转到指定标签的具体分析

在这里插入图片描述

break默认跳转:跳出最近的代码块

在这里插入图片描述

break有标签跳转:跳出指定的代码块

在这里插入图片描述

# 课堂练习

在这里插入图片描述

练习1:for循环回顾,注意i的作用范围

在这里插入图片描述

练习2:
补充:比较字符穿方法——>equals方法

在这里插入图片描述
在这里插入图片描述

思路及其代码

在这里插入图片描述
在这里插入图片描述

五 continue

5.1 基本语法及功能图示

在这里插入图片描述
在这里插入图片描述

5.2 快速入门示例

在这里插入图片描述

5.3 continue细节:主要是跳转到指定标签的具体分析

continue默认跳转:在最近的代码块中跳过此次循环进行下次循环

在这里插入图片描述

continue有标签跳转:指定代码块中跳过此次循环进行下次循环

在这里插入图片描述

六 return

6.1 基本语法

在这里插入图片描述

本章作业666666

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

一一五 数组排序查找

目录

在这里插入图片描述

一 数组(引用类型)

1.1 数组基本语法:注意数组也是一种数据类型,引用数据类型。即,一个数组和它的组成元素不一样,因为其为数组类型,元素应为一些别的同类型元素,例如int,String等(就算如果元素也是数组,那麽此数组为多维数组类型。)

引出数组及介绍数组

在这里插入图片描述

在这里插入图片描述

数组的动态初始化 之 声明初始化一体:int a[] =new int[10] 等于 int[] a = new int[10]。

这样是声明初始化一起来。在哪里声明就确定了其作用域,所以要注意作用域。
在这里插入图片描述

数组的动态初始化 之 声明初始化分开

先声明再动态初始化,因为涉及到变量的作用范围问题
在这里插入图片描述

两种动态分配例子

在这里插入图片描述

静态初始化:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
两种都可以

1.2 数组的细节

在这里插入图片描述

# 数组练习:注意数组也是一个数据类型,所以数组的数据类型与其包含的某个变量类型不一样。注意数据类型转换,char类型加int结果是int类型所以要强转。

在这里插入图片描述
在这里插入图片描述

1.3 数组的赋值机制与普通的赋值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4 数组的常用功能

1 数组的拷贝(与数组的赋值不同拷贝代表有着各自的独立的储存空间而不是两个都是同一个地址存储)

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/f53ff55cf3104307a9e0496ab992fd6a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5byA5b-D5ZCR5YmN,size_20,color_FFFFFF,t_70,g_se,x_16

数组拷贝代码
在这里插入图片描述
在这里插入图片描述

2 数组的反转:有两种方法一种利用前后互换;一种用新的数组来反向承接再把旧的那个数组指向新的数组,旧数组会因为没有指针指向它而被系统除去。

方法一:
在这里插入图片描述

方法二:新数组的反转与回收

在这里插入图片描述

3 数组的添加(扩容):即,创建新的更大容量数组并承接旧数组的值再回收回收旧数组。

数组添加:
在这里插入图片描述
扩容思想以及代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 练习:数组缩减(与数组的扩容一样)

在这里插入图片描述

二 排序

2.1 排序介绍

在这里插入图片描述

2.2 冒泡排序及其思想

在这里插入图片描述在这里插入图片描述

2.3 冒泡代码实现

在这里插入图片描述

三 查找

3.1 查找介绍

在这里插入图片描述

3.2 查找代码

在这里插入图片描述
在这里插入图片描述

四 二维数组

4.1 引出二维数组及其基本语法(二维数组是引用类型)

引出:

在这里插入图片描述

初始化图示:

在这里插入图片描述

二维数组图示

1 声名赋值一体化的动态初始化 注意:这个每个一元数组元素都是一样的元素类型与数量

在这里插入图片描述

2 声明赋值分开的动态初始化 注意:这个每个一元数组元素也都是一样的元素类型与数量

在这里插入图片描述
在这里插入图片描述

3 动态初始化666 注意这个每个一元数组元素都是不一样的元素类型与数量——即,列数不确定

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意System.out.print()不换行,如果用 System.out.println()就会每输出一次就换行
在这里插入图片描述

4 静态初始化 注意:每个元素都应该带{}因为每个子元素都是一维数组类型,如果不加{}他的子元素就不是数组类型是其他的数据类型从而报错

在这里插入图片描述

在这里插入图片描述

# 二维数组遍历

在这里插入图片描述
在这里插入图片描述

# 二维数组杨辉三角练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 二维数组细节

1 韩老师细节解读

在这里插入图片描述

2 细节

在这里插入图片描述

4.3 # 二维数组与一维数组的关系的练习

在这里插入图片描述

本章作业 666

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一一六 面向对象(初)

错过:

1 方法调用的错误:错在“{}”弄错,test公共类和aa类混用“{}”

在这里插入图片描述
改:在这里插入图片描述

目录

在这里插入图片描述

一 类与对象

1.1 引出对象

在这里插入图片描述
如果用以前的技术来实现的话
在这里插入图片描述

在这里插入图片描述
实例化来解决上面的问题
在这里插入图片描述

在这里插入图片描述

2.2 类与对象介绍

1 类与对象的关系示意图

在这里插入图片描述
在这里插入图片描述

2 类与对象的区别:即,类是模板,对象是模板的具体化

在这里插入图片描述

3 对象的内存图示

注意String,(对象,数组)都是引用类型所以当对象通过地址到栈后,有String类型的话栈中会存他在方法区中的常量池的地址,常量池里的是存的才是真数据。如果对象中是其他基本类型那麽直接在栈对其数据存储,而且在存储过程中会给把对象的属性和方法都存在方法区(如果属性方法不变以后就不用再存了)
在这里插入图片描述
在这里插入图片描述

4 对象的分配机制

在这里插入图片描述

5 对象的创建过程(注意:栈,堆,方法区存放什么)

在这里插入图片描述

2.3 成员变量(属性和就是成员变量)

1 属性和就是成员变量

在这里插入图片描述

属性示例:

在这里插入图片描述

2 属性的注意事项

在这里插入图片描述

2.4 如何创建对象与访问对象的属性

1 如何创建对象

在这里插入图片描述

2 访问对象的属性

在这里插入图片描述

二 成员方法

2.1 成员方法的基本介绍

在这里插入图片描述
在这里插入图片描述

# 成员方法快速入门练习 注意:有返回值的方法应该有一个同类型或者可以使返回值自传的类型或者强转类型,来接收返回值。;而void的类型的方法不用接引直接接受就可。

在这里插入图片描述

练习1(方法的调用注意:同一类中调用方法可以直接用方法名调用“方法名”,不同的类中要调用方法的话要先创建对象的实例化,即先new再才可以“实例名.方法名”调用)

在这里插入图片描述
在这里插入图片描述
练:调用无返回类型方法输出文字在这里插入图片描述

练习2,3

在这里插入图片描述
在这里插入图片描述

练习4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 方法的调用机制

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3 引出方法

1 使用方法的好处

在这里插入图片描述
数组遍历方法示例:
在这里插入图片描述

在这里插入图片描述

2.4 方法的细节

1 方法的返回类型方面细节

在这里插入图片描述

细节一:一个方法只会有一个返回值,如果想返回多个值可以用数组返回(把想返回的值放数组中)

在这里插入图片描述

细节二:(返回类型可任意),三(有返回类型的方法):返回类型的接应值(返回的值可以是一个式子回顾switch那个的‘值’)可自传为接应值类型或者两个同类型或者强转为同一类型

在这里插入图片描述

细节四:在方法为void的类型时如果写return就只能写“return;”此时它可以理解为结束不可返回东西

在这里插入图片描述

2 方法的形参的细节,与方法体的细节:方法体内无方法

在这里插入图片描述

细节2-可自传为接应值类型或者两个同类型或者强转为同类型

在这里插入图片描述

# 方法的随堂练习

在这里插入图片描述

练习1

在这里插入图片描述
在这里插入图片描述
练:传参给无返回类型方法判断奇偶
在这里插入图片描述

练习2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 方法的传参机制细节(重点)

细节一:基本数据类型的传参机制,即,值传递时是传参数给形参的在别的方法中运用所属的局部变量的范围不一样所以值传递的话互不影响。

在这里插入图片描述
例子:
在这里插入图片描述

在这里插入图片描述

细节二:引用类型{其实传参传送的变量过去后就已经和调用该方法的类无关了只不过因为引用类是地址传递即,传过去的是本类中的对象的地址所以被调用的类中方法的直接改变会影响,但是一旦更改了对象的地址和原来的主类中的方法没有丝毫的关系了}(对象,数组,字符串等)传参的是地址所以本身形参和实参相传递的就是同一个数据的地址所以值会相互影响

在这里插入图片描述

引用类型传参类型1 用数组当例子,即,直接传参数组不修改作为传递变量的数组使子函数直接使用:(附有传参图)引用类型传参(对象也是引用类型的),所以方法传给形参的是也是地址所以本质就是同一个。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引用传参图:

在这里插入图片描述

引用类型传参类型2(引用类型传递过去后滞空)

看“测试题”
在这里插入图片描述
答,即,滞空的是形参而已对主方法中的对象无影响的还是原来的 {其实传参传送的变量过去后就已经和调用该方法的类无关了只不过因为引用类是地址传递即,传过去的是本类中的对象的地址所以被调用的类中方法的直接改变会影响,但是一旦更改了对象的地址和原来的主类中的方法没有丝毫的关系了}
在这里插入图片描述

引用类型传参类型3(引用类型传递过去后重new给形参) ——————答:对象测试2过程是:开始确实传递过去是实参形参同地址,但是形参随后new后重新在堆中创建个新的不同地址的。所以此时开始两者就毫无关系。之后在次调用方法类中改变的是它自己指向的那个,并不影响实参中的。当执行完子方法后因为在主方法中调用p所以盗用的是主函数的p即,没有改变的10

在这里插入图片描述
内存图示:

在这里插入图片描述

# 传参练习:
1 子方法一个二位数遍历的方法

在这里插入图片描述

2 克隆

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
克隆图示:
在这里插入图片描述

补:递归

递归的定义(补,递归调用定义,注意其实递归应该是一个if,else的一个判断当是出口时return出口值,当不是出口值时就应该是递归的那个规则,即与上一层调用的关系公式)

在这里插入图片描述

递归可以解决的问题:

在这里插入图片描述

方法的递归调用规则:

在这里插入图片描述

递归举例:

在这里插入图片描述
阶乘练习:

在这里插入图片描述

递归举例图示:

在这里插入图片描述

# 随堂练习:

在这里插入图片描述

斐波那契练习1

在这里插入图片描述

在这里插入图片描述

猴子偷桃代码2

在这里插入图片描述

在这里插入图片描述

3 迷宫

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值