day03——程序流程控制
day03——程序流程控制
各位同学,今天我们学习一个全新的知识——程序流程控制。什么是流程控制呢?说白了就是控制程序的执行顺序。
先给同学们介绍一下,程序有哪些流程控制、以及Java提供了哪些方案来控制程序的执行顺序?
程序的流程控制一般分为3种:顺序结构、分支结构、循环结构
顺序结构:就是不加任何控制,代码从main方法开始自上而下执行
分支结构:就是根据条件判断是true还是false,有选择性的执行哪些代码。在Java语言中提供了两个格式if
、 switch
循环结构:就是控制某一段代码重复执行。在Java语言中提供了三种格式,for、while、do-while
以上就是我们今天要学习的课程内容
一、分支结构
1.1 if分支
各位同学,接下来我们学习分支结构的第一种形式——if分支。
if它的作用,是用于对条件进行判断,判断的结果只可能有两个值true或者false,然后根据条件判断的结果来决定执行那段代码。
1. if分支的应用场景有哪些呢?
比如,在火车站、地铁站等公共场所,会对过往的旅客测体温。如果体温在37度以内,就属于正常 ...
day05——方法
day05——方法
各位同学,今天我们学习的内容是方法。方法也是Java语言中一个很重要的组成部分,在实际开发中几乎每时每刻都在使用方法。所以对于今天的课程一定要搞清楚。
我们先来学习一下方法是什么
一、方法概述
1.1 方法是什么
方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。这句话什么意思呢?意思是,把一段功能代码围在一起,别人都可以来调用它。
下图是方法的完整格式
我们看一个需求,比如现在张工、李工两个人都需要求两个整数的和。不使用方法,代码如下。
123456789101112// 1、李工。int a = 10;int b = 20;int c = a+b;System.out.println("和是:" + c);// 2、张工。int a1 = 10;int b1 = 20;int c1 = a1+b1;System.out.println("和是:" + c1);
阅读上面的代码,我们不难发现。两次求和的代码中,除了求和的数据不一样,代码的组织结构完全一样。
像这种做相同事情的代码,就可 ...
day04——Java数组
day04——Java数组
各位同学,今天我们学习一个Java中非常重要的技术——数组。
一、认识数组
先来认识一下什么数组
1. 什么数组
数组就是一个容器,用来存一批同种类型的数据的。
比如:想要存储 20,10,80,60,90 这些数据。 我们可以把代码写成这样
1int[] array = {20,10,80,60,90};
比如:想要存储 “牛二“,“西门“,“全蛋“
这些数据。我们可以把代码写成这样
1String[] names = {"牛二", "西门", "全蛋"};
2. 数组的应用场景
有变量,为什么还要有数组呢? 比如,我们要做一个点名器
如果用变量来做的话,代码是这样子的
如果用数组来做的话,代码是这样子的
一对比我们发现数组的写法比变量的写法更加简洁,所以我们可以得出一个结论
结论:遇到批量数据的存储和操作时,数组比变量更适合
二、数组的定义和访问
各位同学,我们已经知道数组是用来干什么的。那么如何使用Java ...
day06——Java编程案例(专题)
day06——Java编程案例(专题)
各位同学,前面我们已经学习过很多Java的基础知识了,主要有变量、数组、运算符、流程控制、方法等。但是对于这些知识点的运用,掌握得还不是很熟练,所以今天我们专门花一天时间,给同学们讲几个专项练习题,把前面所学习的知识巩固一下。
同时通过这些专项练习题,积攒大家的代码量,以便提升大家的编程能力和编程思维。这里所说的编程思维就是使用Java技术解决问题的思维方式;编程能力就是按照编程思维编写代码的能力。
想要提升编程思维和编程能力,在这里给同学们一些学习上的建议:
编程思维、编程能力不是一朝一夕形成的,需要大量思考,练习和时间的沉淀。
具体措施:前期,建议先模仿;后期,自然就能创新了;
勤于练习代码,勤于思考,孰能生巧。
中国的航空母舰、战斗机,这些技术都是先模仿,再创新的,而且的模仿的周期是非常长的。所以同学们在使用Java技术解决问题时,也是先模仿一些特定问题的解决思路,以后遇到同类型的问题,就采用同一种思维模式来做就行。
案例一:买飞机票
各位同学,我们先来学习第一个案例《飞机买票》,先仔细阅读一下案例需求
...
day07——面向对象基础
day07——面向对象基础
接下来,我们要学习的是Java中最核心的课程——面向对象编程。
一、面向对象入门
各位同学,为什么说面向对象是Java最核心的课程呢?因为写Java程序是有套路的,而面向对象就是写Java程序的套路;你如果不知道面向对象编程,那么你Java语言就算白学了。
那这种编程套路是咋回事呢?
接下来,我们通过一个案例快速的认识一下。
现在假设我们需要处理的是学生的姓名、语文成绩、数学成绩这三个数据,要求打印输出这个学生的总成绩,和平均成绩。
遇到这样的需求,我们以前都会定义方法来做,如下图所示
注意:这里每一个方法有三个参数
定义好方法之后,我们调用方法的时候,需要给每一个方法传递三个实际参数
在上面案例中,这种编程方式是一种面向过程的编程方式。所谓面向过程,就是编写一个的方法,有数据要进行处理就交给方法来处理。
但是实际上姓名、语文成绩、数学成绩三个数据可以放在一起,组合成一个对象,然后让对象提供方法对自己的数据进行处理。这种方式称之为面向对象编程。
总结一些:所谓编写对象编程,就是把要处理的数据交给对象,让对象来处理。 ...
day08——Java常用API
day08——Java常用API
一、今日内容介绍、API概述
各位同学,我们前面已经学习了面向对象编程,使用面向编程这个套路,我们需要自己写类,然后创建对象来解决问题。但是在以后的实际开发中,更多的时候,我们是利用面向编程这种套路,使用别人已经写好的类来编程的。
这就是我们今天要学习的内容——常用API(全称是Application Program
Interface
应用程序接口),说人话就是:别人写好的一些程序,给咱们程序员直接拿去调用。
Java官方其实已经给我们写好了很多很多类,每一个类中又提供了一系列方法来解决与这个类相关的问题。
比如String类,表示字符串,提供的方法全都是对字符串操作的。
比如ArrayList类,表示一个容器,提供的方法都是对容器中的数据进行操作的。
像这样的类还有很多,Java把这些类是干什么用的、类中的每一个方法是什么含义,编写成了文档,我们把这个文档称之为API文档。
1. 我们为什么要学习别人写好的程序呢?
在行业中有这么一句话:“不要重复造轮子”。这里所说的轮子就是别人已经写过的程序。意思就是不要写 ...
Python中Pickling和Unpickling的区别详解
Python中Pickling和Unpickling的区别详解
更新时间:2023年09月24日 08:25:37 作者:L
在本文中,我们将探讨 Python 中 pickling 和 unpickling
之间的主要区别,我们将详细讨论 Python pickling 和 unpickling
的概念,包括它们的目的、语法、用法以及安全可靠的 pickling 和 unpickling
操作的注意事项,
目录
Python Pickling
Python 中的 Unpickle
Pickling 和
Unpickling 的区别
Pickling是将Python对象转换为字节流的过程,以便可以将其保存到文件、数据库或通过网络传输。通过pickling,可以将复杂的对象转换为一系列字节,然后可以将这些字节重新转换回对象。这对于在不同的Python解释器之间传递对象或将对象永久保存在存储介质上都非常有用。
Unpickling是pickling的反向过程,即从字节流中恢复原始对象的过程。通过unpickling,可以将之前pickled的对象重新还 ...
常用API
day04——常用API
一、 StringBuilder类
StringBuilder代表可变字符串对象,相当于是一个容器,它里面的字符串是可以改变的,就是用来操作字符串的。
好处:StringBuilder比String更合适做字符串的修改操作,效率更高,代码也更加简洁。
1.1 StringBuilder方法演示
接下来我们用代码演示一下StringBuilder的用法
12345678910111213141516171819202122232425public class Test{ public static void main(String[] args){ StringBuilder sb = new StringBuilder("itehima"); //1.拼接内容 sb.append(12); sb.append("黑马"); sb.append(true); // ...
算法和数据结构(Lambda、方法引用、正则表达式)
day05-算法和数据结构
一、Arrays类
接下来我们学习的类叫做Arrays,其实Arrays并不是重点,但是我们通过Arrays这个类的学习有助于我们理解下一个知识点Lambda的学习。所以我们这里先学习Arrays,再通过Arrays来学习Lamdba这样学习会更丝滑一些^_^.
1.1 Arrays基本使用
我们先认识一下Arrays是干什么用的,Arrays是操作数组的工具类,它可以很方便的对数组中的元素进行遍历、拷贝、排序等操作。
下面我们用代码来演示一下:遍历、拷贝、排序等操作。需要用到的方法如下
1234567891011121314151617181920212223242526272829303132333435/** * 目标:掌握Arrays类的常用方法。 */public class ArraysTest1 { public static void main(String[] args) { // 1、public static String toString(类型[] arr): 返回数组的内容 ...
面向对象高级
day01——面向对象高级各位同学,接下来的三天课程中,我们继续学习面向对象的相关课程。面向对象是写Java程序的核心套路,如何你不懂面向对象,那就相当于Java你白学了。所以在接下来的三天时间里,各位同学也需要克服重重困难好好学习。
前面我们说过面向对象最核心的套路是:设计对象来处理数据,解决问题。 如果你把面向对象高级这一部分课程学好,你设计出来的对象将更加好用。
在正式学习面向对象高级课程之前,我给大家提一些学习上的建议。目前我们学习的面向对象高级部分的知识点,就像一个一个的螺丝钉,在学习过程中你可能并不知道这些螺丝钉是用在哪里的,解决的什么问题。必须等这些内容都学习完之后,才能知道用这些螺丝钉可以用来搞飞机、造航母、造火箭。
所以,现阶段我们在学习过程中,主要关注下面几点就可以了。等整个基础课程学习完之后,再慢慢感在到哪里用。
一、静态接下来,我们学习一下面向对象编程中很常见的一个关键字static.
static读作静态,可以用来修饰成员变量,也能修饰成员方法。我们先来学习static修饰成员变量。
1.1 static修饰成员变量Java中的成员变量按照有无static ...