毕向东java基础总结黑马入学考试知识点
- 格式:doc
- 大小:704.50 KB
- 文档页数:141
黑马程序员JavaEE基础班知识点整理天地玄黄,宇宙洪荒。
如果你也和我一样看过不少网络小说,那你的想象力肯定很丰富,这点作为程序员是很重要的。
如果你和我一样喜欢《黑客帝国》《银河系漫游指南》《钢铁侠》《三体》《西部世界》。
那有可能科幻就是你坚持钻研技术的动力来源。
虽然我们暂时不能像黑客帝国里一样进入虚拟世界,不能像邓肯一样到宇宙尽头餐馆吃饭,没有贾维斯的智能管家系统,也不能把机器人做的无法分辨真伪,但是如果没有人们对未来的想象我们的技术就没有了追求。
这些追求促使我们不断的学习,让技术不断的前进,我相信这些电影电视小说里的情节一定会实现。
抱有这样的期待和好奇很多同学来到黑马学习技术,首先接触的就是黑马的基础班。
视频课程,讲义是必须的,但是我们还要有知识的梳理。
今天我们就整理了基础班的一下问答和笔试题供大家交流学习。
希望大家梳理一下自己的基础知识,基础知识是我们技术飞船的主架,主架坚固才能让我们在宇宙里航行的更远~理论知识点一、基础概念1、面向对象的理解并举例2、面向对象的三大特性,并分别阐述对每个特性的理解3、阐述成员变量和局部变量的区别4、构造方法的概念和作用,和一般方法的区别5、静态代码块、构造代码块、构造方法的特点及执行顺序6、描述类和对象的关系7、创建对象的步骤等二、IO流理论知识点:1、io流的基本流都有哪些,简单说说基本流的体系2、字节流和字符流的使用场景3、拷贝文本文件一般会用到哪个流?为什么?4、在io流中拷贝文件一般会用哪几个流?5、在io流的拷贝过程中,通过while 循环读取字节进行拷贝,需要通过哪个流的什么方法读取字节6、File类的常用方法都有哪些?7、遍历指定目录下的文件的所有名称,一般用什么方法?8、在io流中一般常用的字符编码集都有哪些?简单阐述几种9、在字符流中,带缓冲区的包装流都有哪一些?具体阐述一下。
10、为什么read()方法返回值是int类型?11、标准输入流和输出流是什么?三、集合理论知识点1、集合的由来2、数组和集合的使用场景3、数组和集合的区别4、集合的遍历5、在迭代集合中元素时,可不可以通过集合对象的方法操作集合中的元素?6、 List的三个子类的特点7、栈和队列数据结构8、 List有三个儿子,在不同的场景分别应该使用谁呢?9、 HashSet保证元素唯一的原理10、 TreeSet两种排序方式11、 list集合和set集合有什么区别?12、双列集合获取键和值的两种方式13、 HashMap和Hashtable的区别14、 Collection和Collections的区别?四、反射理论知识点1、反射概述2、获取类的字节码文件三种方式五、线程理论知识点1、线程的生命周期。
【黑马程序员】Java基础总结黑马程序员的javaEE课程主要分为2个部分:java基础+java就业。
今天就简单的给大家总结一下咱们java基础的知识。
注:Java采用Unicode符号集,每个字符占2个字节,无论英文还是中文还是其他字符。
标识符为变量、类或方法起的名称以字母,下划线、或者$符号开头由字母、数字、下划线或者$符号开头区分大小写,没有长度限制,不能使用关键字尽量取得容易辨识,见名知意如:identifier、userName、user_Name、_sys_varl、$change基本数据类型Java定义了8中基本数据类型[AppleScript] 纯文本查看复制代码?1 2 3 4 5 6 7/*** @author 传智播客*/布尔值----boolean(只有true和false两种类型)字符-------char ( 16 位的Unicode字符用单引号( '' )标注;'a'表示字母a '\t' 表示制表符 '\u????'中?用确切的代替申明并且初始化: char c = 'A' 申明变量 char ch1,ch2)整数--------byte (8位) short(16) int(32) long(64)【以0开头表示八进制;以0x开始表示16进制】浮点型-----float double变量必须在类的内部【可以在方法外也可以在方法类】在方法类定义的变量叫做局部变量,需要显示的初始化成员变量和类变量【对象】自动初始化【数字初始化为0,对象初始化为null】常量在程序运行中,其值保持不变的量不同数据类型间的相互转换【封装Wrapper类】Java中类的定义:[AppleScript] 纯文本查看复制代码?1 2 3 4 5 6 7 8/*** @author 传智播客*/<修饰符> Class <类名>{ <属性申明>;<构造器申明>;<方法申明>;}成员变量申明:[AppleScript] 纯文本查看复制代码?1<修饰符> <类型> <名称>;修饰符:[AppleScript] 纯文本查看复制代码?1 2 3 4 5/*** @author 传智播客*/final:修饰常量,常量的值不能被修改【例如 final int CONSTANT = 50;】static:申明静态变量[类变量] static int nCount;方法的申明:[AppleScript] 纯文本查看复制代码?1 2/*** @author 传智播客3 4 5 6*/<修饰符> <返回值类型> <名称>[参数列表]{语句;}方法参数的传递方式:1、值传递:形参是基本数据类型,方法调用时,实际参数把值传递给形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容;是两个不同的存储单元,所以方法执行中,形式参数值的改变不会影响实际参数的值。
java知识点总结毕向东Java是一种面向对象的编程语言,由Sun Microsystems于1995年首次发布。
自从诞生以来,Java已经成为了世界上最流行的编程语言之一。
它具有跨平台、面向对象、强类型、自动内存管理、异常处理等特性,使其成为了各种类型的应用程序和系统的首选语言。
本文将从语法基础、面向对象、多线程、集合框架、IO流等方面对Java知识点进行总结,希望读者在学习和使用Java过程中有所帮助。
语法基础Java语言的语法基础包括了基本数据类型、变量、表达式、运算符、控制语句、数组等内容。
Java的基本数据类型包括整型、浮点型、字符型、布尔型,分别对应int、float、char、boolean等关键字。
在Java语言中,变量在使用前必须进行声明,声明变量的方式包括直接声明、赋初值、常量声明等。
表达式是由运算符、操作数和分隔符构成的符合逻辑的字符序列,运算符是用来操作操作数的符号,常用的有算术运算符、关系运算符、逻辑运算符等。
控制语句包括了条件语句、循环语句、跳转语句等,通过这些语句可以对程序的执行流程进行控制。
数组是一种引用类型的数据结构,用于存储多个相同类型的数据。
除此之外,Java还提供了很多其他的语法基础知识,如字符串操作、异常处理等方面,这些都是编写Java程序的基础。
面向对象面向对象是Java语言的核心特性,通过面向对象的编程方法,可以更好地组织代码,提高代码的可读性、可维护性和可扩展性。
Java语言中的面向对象包括了类、对象、封装、继承、多态等概念。
类是面向对象的基本单位,用来描述对象的属性和行为,对象是类的实例化。
封装是将数据和方法封装到一个类中,通过访问权限控制符来保护数据的安全性,使得类的实现细节对外部隐藏。
继承是一个类的定义可以建立在另一个类的基础之上,通过继承可以实现代码的重用,提高代码的可维护性。
多态是通过父类类型的引用指向子类对象,实现了不同对象对同一消息做出不同的响应。
Java基础知识总结(超详细整理)Java语⾔的特点1.⾯向对象⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。
⾯向对象的概念:⽣活中的⼀切事物都可以被称之为对象,⽣活中随处可见的事物就是⼀个对象,我们可以将这些事物的状态特征(属性)以及⾏为特征(⽅法)提取并出来,并以固定的形式表⽰。
2.简单好⽤Java语⾔是由C和C++演变⽽来的,它省略了C语⾔中所有的难以理解、容易混淆的特性(⽐如指针),变得更加严谨、简洁、易使⽤。
3.健壮性Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。
另外,在Java语⾔中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的⾃动收集等),有效地减少了错误,使得Java应⽤程序更加健壮。
4.安全性Java通常被⽤在⽹络环境中,为此,Java提供了⼀个安全机制以防恶意代码的攻击,从⽽可以提⾼系统的安全性。
5.平台⽆关性Java平台⽆关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束⽽在任意计算机环境下正常运⾏。
6.⽀持多线程在C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设计,⽽ Java 语⾔却提供了多线程⽀持。
多线程机制使应⽤程序在同⼀时间并⾏执⾏多项任务,该机制使得程序能够具有更好的交互性、实时性。
7.分布式(⽀持⽹络编程)Java语⾔具有强⼤的、易于使⽤的⽹络能⼒,⾮常适合开发分布式计算的程序。
java中提供了⽹络应⽤编程接⼝(),使得我们可以通过URL、Socket等远程访问对象。
8.编译与解释共存Java语法基础标识符: ⽤来标识类名、对象名、变量名、⽅法名、类型名、数组名、⽂件名的有效字符序列。
合法的标识符:由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且⾸字符不能是数字。
不能把java关键字和保留字作为标识符。
标识符对⼤⼩写敏感。
关键字:Java语⾔中已经赋予了特定含义的保留字: const、goto,Java版本中尚未使⽤,但以后版本可能会作为关键字使⽤变量:程序运⾏期间可以被改变的量。
Java基础知识总结写代码:1,明确需求。
我要做什么?2,分析思路。
我要怎么做?1,2,3。
3,确定步骤。
每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。
用具体的java语言代码把思路体现出来。
学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。
demo4,该技术什么时候用?test。
-----------------------------------------------------------------------------------------------一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。
2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdkpath=%JAVA_HOME%\bin2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
Java基础知识总结写代码:1,明确需求。
我要做什么?2,分析思路。
我要怎么做?1,2,3。
3,确定步骤。
每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。
用具体的java语言代码把思路体现出来。
学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。
demo4,该技术什么时候用?test。
-----------------------------------------------------------------------------------------------一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。
2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdkpath=%JAVA_HOME%\bin2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
Java基础学习笔记1.JRE和JDKJRE(Java Runtime Environment ):Java运行环境,包括Java虚拟机和Java所需的核心类库等。
JDK(Java Development Kit):Java开发工具包,供开发人员使用,JDK中包括了JRE。
其中的开发工具包括:编译工具(javac.exe )、打包工具(jar.exe等)2.静态(static)用法:修饰符用来修饰成员(成员变量、成员函数)static修饰内容被对象所共享。
被static修饰的成员可以直接被类名调用(类名.静态成员)特有数据随对象存储static特点:1.随着本类的加载而加载,随着类的消失而消失。
2.优先于对象存在(静态先存在,对象后存在)。
3.被所有对象所共享。
4.可以直接被类名所调用。
实例变量和类变量区别:1.存放位置:类变量随类的加载存在于方法区中。
实例变量随对象的建立而存在于堆内存中。
2.生命周期:类变量生命周期长随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
静态使用注意事项:1.静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问非静态。
2.静态方法中不可以定义this super关键字,因为静态优先于对象存在所以静态方法中不可以出现this。
3.主函数是静态的。
静态的利弊:利:对对象的共享数据进行单独空间的存储节省空间;可以直接被类名调用;弊:生命周期过长;访问出现局限性。
什么时候使用静态?1.当对象中出现共享数据时,该数据被静态所修饰。
对象中的特有数据要定义成非静态存在于堆内存中。
什么时候定义静态函数?当功能内部没有访问到非静态数据(对象的特有数据那么该功能可以定义成静态的)每一个应用程序中都有共性的功能可以将这些功能进行抽取独立封装以便复用。
将方法都静态后可以方便使用但该类还可以被其他程序建立对象为了严谨强制让该类不能建立对象可以通过将构造器函数私有化完成。
静态代码块:static{ 静态代码块中执行的语句} 特点:随着类的加载而执行用于给类进行初始化。
Java基础软件与人的交互方式•图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
•命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。
较为麻烦,需要记录住一些命令。
命令行方式•dir : 列出当前目录下的文件以及文件夹•md : 创建目录•rd : 删除目录•cd : 进入指定目录•cd.. : 退回到上一级目录•cd\: 退回到根目录•del : 删除文件•exit : 推出dos命令行•echo: 创建文件,echo ddd>1.txtJava语言的特性1.跨平台性说法:通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。
由JVM来负责Java程序在该系统中的运行。
搭建开发环境JRE(Java Runtime Environment Java运行环境)包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK:JDK(Java Development Kit Java开发工具包)JDK:(Java Development Kit Java开发工具包)是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。
所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等PATH:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path 的环境变量指定的目录中查找。
●可不可以在任何目录下都可以执行java的工具呢?根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序。
Java笔记1、构造函数:对象一建立就会调用与之对应的构造函数。
构造函数的作用:可以用于给对象进行初始化。
构造函数的小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
当在类中自定义了构造函数后,默认的构造函数就没有了。
构造函数和一般函数在写法上有不同。
在运行上也有不同。
构造函数是在对象一建立就运行。
给对象初始化。
而一般方法是对象调用才执行,给是对象添加对象具备的功能。
一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
2、this语句this语句:用于构造函数之间进行互相调用。
this语句只能定义在构造函数的第一行。
因为初始化要先执行。
3、主函数主函数:是一个特殊的函数。
作为程序的入口,可以被jvm调用。
主函数的定义:public:代表着该函数访问权限是最大的。
static:代表主函数随着类的加载就已经存在了。
void:主函数没有具体的返回值。
main:不是关键字,但是是一个特殊的单词,可以被jvm识别。
(String[]arr):函数的参数,参数类型是一个数组,该数组中的元素是字符串。
字符串类型的数组。
主函数是固定格式的:jvm识别。
jvm在调用主函数时,传入的是new String[0];4、静态静态:static。
用法:是一个修饰符,用于修饰成员(成员变量,成员函数).当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用:类名.静态成员。
static特点:1、随着类的加载而加载。
也就说:静态会随着类的消失而消失。
说明它的生命周期最长。
2、优先于的对象存在明确一点:静态是先存在。
对象是后存在的。
3、被所有对象所共享4、可以直接被类名所调用。
实例变量和类变量(静态的成员变量)的区别:1、存放位置:类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
2、生命周期:类变量生命周期最长,随着类的消失而消失。
目录概述:错误!未指定书签。
语法基础错误!未指定书签。
面向对象错误!未指定书签。
常用错误!未指定书签。
集合框架错误!未指定书签。
5.0新特性错误!未指定书签。
流错误!未指定书签。
网络编程错误!未指定书签。
反射技术错误!未指定书签。
正则表达式错误!未指定书签。
数据库错误!未指定书签。
语句错误!未指定书签。
数据设计语言错误!未指定书签。
字段类型错误!未指定书签。
表操作:错误!未指定书签。
数据操作语言错误!未指定书签。
插入记录:错误!未指定书签。
更新记录:错误!未指定书签。
删除记录:错误!未指定书签。
数据查询语言错误!未指定书签。
排序错误!未指定书签。
聚合错误!未指定书签。
分组错误!未指定书签。
概述:1991 年公司的等人开始开发名称为的语言,希望用于控制嵌入在有线电视交换盒、等的微处理器;1994年将语言更名为;的三种技术架构::,开发企业环境下的应用程序,主要针对程序开发;:,完成桌面应用程序的开发,是其它两者的基础;:,开发电子消费产品和嵌入式设备,如手机中的程序;1,:,的开发和运行环境,的开发工具和。
2,:,程序的运行环境,运行的所需的类库(虚拟机)。
3,配置环境变量:让\目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:1):永久配置方式:安装路径%\\\2):临时配置方式::\ \\\特点:系统默认先去当前路径下找要执行的程序,如果没有,再去中设置的路径下找。
的配置:1):永久配置方式::\:\2):临时配置方式::\:\注意:在定义环境变量时,需要注意的情况如果没有定义环境变量,启动后,会在当前目录下查找要运行的类文件;如果指定了,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:1):如果的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。
一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
4,命令和命令做什么事情呢?要知道是分两部分的:一个是编译,一个是运行。
:负责的是编译的部分,当执行时,会启动的编译器程序。
对指定扩展名的文件进行编译。
生成了可以识别的字节码文件。
也就是文件,也就是的运行程序。
:负责运行的部分.会启动.加载运行时所需的类库,并对文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是函数.语法基础进制1、进制一种进位方式,x进制,逢x进一2、表现形式【掌握】A:二进制0bB:八进制0C:十进制默认D:十六进制0x 0-9,3、进制转换A:任意进制> 十进制公式:系数* 基数的权次幂相加:074 = 7*8^1 + 4*8^0 = 56 + 4 = 60 B:十进制> 任意进制公式:除基倒取余:84/8 = 10 (4)10/8 = 1 (2)1/8 = 0 (1)C:8421码1 1 1 1 1 1 1 1128 64 32 16 8 4 2 1:011011007401001010原反补码1、正数:原码、反码、补码都一样2、负数:原码:最高位是1,其余位代表数值位反码:最高位符号位不变,其余位逐位取反补码:反码+1反码0 0000111 + 7(反码)1 0000111 - 7(源码)1 1111000 - 7(反码)补码0 0000111 + 7 (补码)1 1111000 - 7(反码)1 1111001 - 7(补码)注意:计算机在对数据进行存储和运算的时候,都是以补码形式操作的。
A:已知原码求补码:0b10110100 11001100B:已知补码求原码: 0b11101110 10010010进制的由来二进制转换成任意进制任意进制到十进制的转换命名规则1,关键字:其实就是某种语言赋予了特殊含义的单词。
保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
2,标示符:其实就是在程序中自定义的名词。
比如类名,变量名,函数名。
包含0-9、、$、_ ;注意:1),数字不可以开头。
2),不可以使用关键字。
3,常量:是在程序中的不会变化的数据。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
作用:方便于运算。
因为有些数据不确定。
所以确定该数据的名词和存储空间。
特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?1,这个空间要存储什么数据?数据类型。
2,这个空间叫什么名字啊?变量名称。
3,这个空间的第一次的数据是什么?变量的初始化值。
变量的作用域和生存期:变量的作用域:作用域从变量定义的位置开始,到该变量所在的那对大括号结束;生命周期:变量从定义的位置开始就在内存中活了;变量到达它所在的作用域的时候就在内存中消失了;数据类型1):基本数据类型:、、、、、、、2):引用数据类型: 数组、类、接口。
级别从低到高为:(这三个平级)>>>>自动类型转换:从低级别到高级别,系统自动转的;强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;运算符号1)、算术运算符。
+ - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
+:连接符。
2)、赋值运算符。
= *=3)、比较运算符。
特点:该运算符的特点是:运算完的结果,要么是,要么是。
4)、逻辑运算符。
& | ^ !逻辑运算符除了! 外都是用于连接两个类型表达式。
&: 只有两边都为结果是。
否则就是。
|:只要两边都为结果是,否则就是^:异或:和或有点不一样。
两边结果一样,就为。
两边结果不一样,就为.& 和区别:& :无论左边结果是什么,右边都参及运算。
:短路及,如果左边为,那么右边不参数及运算。
| 和区别:|:两边都运算。
:短路或,如果左边为,那么右边不参及运算。
5)、位运算符:用于操作二进制位的运算符。
& | ^<< >> >>>(无符号右移)练习:对两个变量的数据进行互换。
不需要第三方变量。
a = 3 = 5>b = 3 = 5;a = a + b; a = 8;b = a - b; b = 3;a = a - b; a = 5;a = a ^b = a ^ = a ^ b ^ b = aa = a ^ = a ^b ^ a = b;练习:高效的算出2*8 = 2<<3;循环语句和判断语句这些语句什么时候用?1)、当判断固定个数的值的时候,可以使用,也可以使用。
但是建议使用,效率相对较高。
(变量){值:要执行的语句;…:要执行的语句;}工作原理:用小括号中的变量的值依次和后面的值进行对比,和哪个后面的值相同了就执行哪个后面的语句,如果没有相同的则执行后面的语句;细节:1):是可以省略的,如果省略了就一直执行到遇到为止;2):后面的小括号中的变量应该是四种类型中的一种;3):可以写在结构中的任意位置;如果将语句放在了第一行,则不管及中的是否匹配,程序会从开始执行直到第一个出现。
2)、当判断数据范围,获取判断运算结果类型时,需要使用。
3)、当某些语句需要执行很多次时,就用循环结构。
和可以进行互换。
区别在于:如果需要定义变量控制循环次数。
建议使用。
因为循环完毕,变量在内存中释放。
:作用于,和循环语句,用于跳出,或者称为结束。
语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。
当循环嵌套时,只跳出当前所在循环。
要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
:只作用于循环结构,继续循环用的。
作用:结束本次循环,继续下次循环。
该语句单独存在时,下面不可以定义语句,执行不到。
方法为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是中的函数(即方法)。
函数就是体现之一。
中的方法的定义格式:修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数1,…){执行语句;返回值;}当函数没有具体的返回值时,返回的返回值类型用关键字表示。
如果函数的返回值类型是时,语句可以省略不写的,系统会帮你自动加上。
的作用:结束函数。
结束功能。
如何定义一个函数?函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。
2)、在实现该功能的过程中是否有未知内容参及了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。
方法的作用:1)、用于定义功能。
2)、用于封装代码提高代码的复用性。
注意:函数中只能调用函数,不能定义函数。
主方法:1)、保证该类的独立运行。
2)、因为它是程序的入口。
3)、因为它在被调用。
函数定义名称是为什么呢?答:1)、为了对该功能进行标示,方便于调用。
2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。
重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。
如何区分重载:当函数同名时,只看参数列表。
和返回值类型没关系。
(方法名相同参数不同及返回值类型无关)数组用于存储同一类型数据的一个容器。
好处:可以对该容器中的数据进行编号,从0开始。
数组用于封装数据,就是一个具体的实体。
如何在中表现一个数组呢?两种表现形式。
1)、元素类型[] 变量名= 元素类型[元素的个数];2)、元素类型[] 变量名= {元素1,元素2...};元素类型[] 变量名= 元素类型[]{元素1,元素2...};二分查找法。
必须有前提:数组中的元素要有序。
2([] ){;= 0;= 1;= ()>>1; ()/2;([]){(>[]){= + 1;}(<[])= - 1;(<)-1;= ()>>1;};}内存分了5片内存。
1:寄存器。
2:本地方法区。
3:方法区。
4:栈。
5:堆。
栈:存储的都是局部变量( 函数中定义的变量,函数上的参数,语句中的变量);只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体。
啥是实体啊?就是用于封装多个数据的。
1:每一个实体都有内存首地址值。
2:堆内存中的变量都有默认初始化值。
因为数据类型不同,值也不一样。
3:垃圾回收机制。
面向对象三:面向对象:★★★★★思想特点:1:将复杂的事情简单化。
2:面向对象将以前的过程中的执行者,变成了指挥者。
3:面向对象这种思想是符合现在人们思考习惯的一种思想。
过程和对象在我们的程序中是如何体现的呢?过程其实就是函数;对象是将函数等一些内容进行了封装。