JAVA基础读书笔记

合集下载

java阅读心得(10篇)

java阅读心得(10篇)

java阅读心得(10篇)短短的一个月很快就过去了,在这短短的一个月里,我学到了很多,了解了很多。

在这一个月里我学到了有关JAVA等方面的知识,了解了关于软件开发的流程。

了解了自己的不足,知道了自己努力的方向。

回顾这次的实训,这次或许是最后的实训机会。

我是一名大二的学生,明年或许就要出去实习了,所以我很珍惜这次的实训机会,因为它能够让我了解自己的不足以及以后自己努力的方向,同时也能让我了解软件开发的流程,增加一点软件开发经验和社会经验。

让我在以后的实习中会更好的融入到其中,增加自己的就业机会,因为纵观现在的就业形势很不让人乐观,由于之前的经济危机,就业机会越来越少,就业也越来越难,这就给了我们很大的压力,所以要是没有真本事,就业岗位就无从谈起,因此,在以后的学习中,我会更加好好努力。

通过这次的实训,我学到了很多:首先,对JAVA识比以前有了更深的了解。

在这之前由于种.种原因我JAVA学的很不好,编程我几乎写不出来。

但经过这次的实训,我对JAVA的理解,虽然还有很多都不懂,但我会在今后的实训和学习中加以学习了解,力求弄懂,增强自己对JAVA的理解。

其次,在这次的实训中我的动手操作能力有了一点的提高,刚开始的时候JDK的配置,数据库的安装都出现了一定的问题,JAVA 可实话开发工具的不熟悉,所以开始的时候进程很慢,时间都用在了JDK的配置,数据库的安装以及熟悉JAVA可视化开发工具上,但付出有了回报,成功的配置了JDK,安装了数据库,熟悉了JAVA可视化开发工具,总的说来,自己还是有一定的收获的。

因为自己的动手操纵能力得到了提高。

最后是团队协作。

在整个项目完成过程中团队协作有着不可替代的作用。

从在刚拿到项目时对项目的分析到最后的项目完结的都有一定的体现。

刚拿到项目时,我们团队进行了分析,并分配了各自的任务。

当我们其中一人遇到问题的时候,我们其他人都会去帮忙,效率提升了很多。

但可能由于不是一个宿舍的,大家彼此间都不是很了解,所以交流中还是存在了一定的问题。

java基础知识点笔记

java基础知识点笔记

java基础知识点笔记Java是一门非常重要的计算机语言,具有良好的跨平台性和易读性和易学性。

尤其是基于Java开发的移动端和Web端产品,其优秀的性能和可扩展性在行业中得到了广泛的青睐。

作为Java开发工程师,熟练掌握Java的基础知识非常重要。

一、Java基本语法Java程序包含一个或多个类,不同类可以相互调用使用。

每一个Java程序都需要有一个入口点,即main()函数。

在Java中,注释采用“//”或“/*...*/”的形式,可以单行或多行注释。

Java变量需要先声明再使用,可以定义基本类型变量和引用类型变量。

Java中的运算符包括算术运算符、逻辑运算符等。

二、Java面向对象编程Java是一门面向对象的编程语言,对象是Java程序的基本组成单元。

Java中的类封装了数据和方法,可以实现类的继承和多态。

在Java中,使用构造函数实例化对象,可以使用访问控制符来控制类成员的访问权限。

三、Java流程控制语句Java中的流程控制语句有条件语句(if、if-else、switch)、循环语句(while、do-while、for)等。

其中,if语句可以进行嵌套,switch语句可以使用break语句避免case穿透问题。

四、Java数组Java中的数组是一组相同类型的数据序列,从0开始编号,使用方括号表示。

在Java中可以使用foreach来遍历数组,也支持多维数组。

五、Java异常处理Java程序中的异常指的是程序出现的错误。

异常处理是Java程序中的一部分,可以使用try-catch语句来捕获并处理异常。

Java中的异常类型包括运行时异常和受检查异常。

六、Javaio编程Java中的文件和I/O操作称为io编程。

Java的io编程采用字节流和字符流,其中字节流用于处理二进制数据,字符流用于处理文本数据。

Java中的io操作需要进行文件的读取、写入等操作,可以使用File类来操作文件。

七、Java线程Java程序中,线程指的是一条执行序列,Java中的线程可以继承Thread类或实现Runnable接口。

java基础知识点

java基础知识点

java基础知识点
1、面向对象:Java语言是一种面向对象的编程语言,它使用Java类和Java对象来构建复杂的系统。

Java类包含方法(程序执行的语句)和属性(关于对象的信息)。

可以使用对象间的关系(如继承和实现)来“重用”代码。

2、语言基础:Java语言是一种类型安全的、健壮的和高效的编程语言,它具有静态类型系统、异常处理、泛型和沙箱安全机制等功能。

这种类型安全指的是Java可以通过显式声明变量的数据类型来确保变量的内容。

3、继承:Java支持继承机制,可以将多个类“组装”在一起,互相共享代码并复用属性和方法。

继承是一种多态性,它允许每个类“定义”它自己独有的行为,但与同一父类共享相同接口。

4、包:Java使用java包来组织类和接口,它提供了独立的命名空间,可以将相似的类和接口组装在一起,以保持代码整洁和可维护性。

5、容器:容器是Java中的一种特殊数据类型,它可以储存和管理多个对象。

Java提供了多种容器,比如ArrayList,Map,HashMap 等,帮助程序员管理复杂的系统。

Java读书笔记

Java读书笔记

Java读书笔记第一篇:Java读书笔记读书笔记1、类和对象:类是用来定义一组对象共同具有的状态和行为的模版。

而对象是现实世界中个体或事物的抽象表示,并且封装了它们的属性和行为。

2、为了防止命名冲突,Java采用了管理类文件的机制,即类包机制。

(package)定义包名的语法格式:“package包名;”Java命名规则要求包的命名需要使用小写字母。

3、成员变量和成员方法:1成员变量是在类体中定义的变量即全局变量,○成员变量一般用于定义对象的状态。

成员变量是给对象使用的,每个对象被创建后都会有属于自己的属性,即成员变量。

通过修改这些属性,从而改变对象的某个状态。

2成员方法是对象行为的描述。

○定义成员方法的语法格式:“[修饰符] 返回值类型方法名([形参表]){······//方法体}”修饰符:可以是:publicprivateprotactedstaticfinall等;返回值类型:如果方法需要返回值,必须这里声明方法的返回值类型,可以是基本数据类型(int short double booleanvoid等),也可以是对象类型如:数组、字符串等。

形参表:(可选部分)说明方法被调用时应该向它传递的数据。

形参表可以有一个也可以有多个,当有多个形参时每个形参之间要用“,”隔开。

1创建对象:创建对象使用到new语句。

4、对象:○声明并创建对象的语法格式如下:“类名对象名=new 类构造方法()”构造方法:构造方法是类创建对象是必须执行的方法,用于构造一个新的对象并初始化对象属性。

2访问对象的属性:○语法格式:“对象名.属性”3执行对象的行为:○对象的行为就是对象的成员方法,通常说调用或执行对象的某个方法。

语法格式:“对象名.成员方法名();”4对象的销毁:Java提供了垃圾回收机制,对不再使用的对象会自动销毁,也可○以在程序中显式的为某个对象赋null值,使对象不再被使用。

java的读书心得(优秀8篇)

java的读书心得(优秀8篇)

java的读书心得(优秀8篇)java的读书心得(优秀8篇)java的读书心得要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的java的读书心得样本能让你事半功倍,下面分享【java的读书心得(优秀8篇)】,供你选择借鉴。

java的读书心得篇1转眼间,几个月的培训已经将近尾声了。

回想自己这几个月的经历,自己收获颇丰,觉得自己来到这培训是非常正确的。

想想自己刚刚考虑打算来这培训的时候那忐忑的心情,现在我已经有了答案:“我很庆幸自己选择了这条路”。

在这,我收获了硕果累累的知识果实。

我的培训方向是主攻Java 方向,后期还学习了当下比较流行的Android技术。

在培训期间,我们主要是通过实际操作具体的项目来学习并温顾所学知识。

这正是我们所需要的锻炼。

在学校里,我们虽然学习了很多专业的知识,但是我们并没有自己所擅长的方面,并且我们学的都是理论上的知识,实际动手能力是很差的。

所以,我们需要培养自己的动手能力。

同时,我们的老师都是操作过实际项目的,都有一定的工作经验,他们不仅给我们讲专业知识,还给我们传授职场上的技能。

培训就给我们提供了一个培养我们踏入职场所需要的东西的平台。

在这里,疯狂软件的老师们给了我一份详尽而合理的课程安排,在学习期间,我在这里学到了许多以前不会的知识,完善和补充了我已有的知识,使我从最初对Java开发懵懂、茫然变成有自己的知识体系,能够熟练而自信的开发互联网项目。

疯狂软件Java培训拥有良好的学习氛围,我在这里慢慢的踏实了下来,为自己将来更好的发展打下了坚实的基础。

在这四个月的学习中,每个人都有一台自己的电脑,可以随时上机实践,验证和实践自己的想法和所学知识,再有知识渊博的老师无私的解惑答疑,使每天的生活都很充实,知识在层面上也有了一个质的飞跃,虽然很累但是也很开心。

我了解到Java就业工资都很不错,所以我要努力奋斗,达到自己心中的目标。

总之,通过这次培训,我找到了自己的奋斗目标,找准了自己的职业道路。

狂神说Java--Java学习笔记(基础合集)

狂神说Java--Java学习笔记(基础合集)

狂神说Java--Java学习笔记(基础合集)笔记参考来源狂神说Java视频https:///video/BV12J41137hu 本篇笔记有点长,可以根据⽬录定位,建议配合视频学习。

预科什么是计算机1. 名称:Computer,全称电⼦计算机,俗称电脑。

2. 定义:能够按照程序运⾏,⾃动、⾼速处理海量数据的现代化智能电⼦设备。

3. 组成:由硬件和软件组成。

4. 形式:常见显⽰有台式计算机、笔记本计算机、⼤型计算机等。

5. 应⽤:科学计算、数据处理、⾃动控制、计算机辅助设计、⼈⼯智能、⽹络等领域。

硬件及冯诺依曼结构计算机硬件组成:CPU,主板,内存,电源,主机箱,硬盘,显卡,键盘、⿏标,显⽰器。

冯诺依曼结构软件及软件开发计算机软件Windows常⽤快捷键Alt+f4关闭窗⼝ Shift+Delete永久删除 ctrl+w⾃动保存死机:任务管理器结束进程基本的Dos命令打开CMD的⽅式1. 开始+系统+命令提⽰符2. win键+R+输⼊cmd (推荐使⽤)3. 在任意的⽂件夹下,按住Shift键+⿏标右击,打开命令⾏窗⼝4. 在资源管理器地址栏路径前⾯加 “cmd ”5. 管理员运⾏⽅式:命令提⽰符右键以管理员⾝份运⾏(最⾼权限运⾏)常⽤的Dos命令# 盘符切换 E:# 查看当前⽬录下所有⽂件 dir# 切换⽬录 cd /d E:\idea# 返回上⼀级⽬录 cd ..# 进⼊同级⽬录下的下⼀级⽬录 cd tmp(该⽬录下的⽂件名)# 清屏 cls (clear screen)# 退出终端 exit# 查看电脑当前IP地址 ipconfig# 打开计算器 calc# 打开画图 mspaint# 新建记事本 notepad# 在当前⽬录新建⽂件夹 md test(⽂件夹名)# 新建⽂件 cd> a.txt(⽂件名)# 删除⽂件 del a.txt(⽂件名)# 删除⽬录 rd test(⽬录名)# ping命令(复制链接进⼊Dos直接单击⿏标右键粘贴)ping 计算机语⾔发展史第⼀代语⾔:机器语⾔第⼆代语⾔:汇编语⾔第三代语⾔:⾼级语⾔⾼级语⾔C、C++、Java、C#、Python、PHP、JavaScript …⼤体上分为:⾯向过程与⾯向对象两⼤类C语⾔是典型的⾯向过程的语⾔,C++,Java是典型的⾯向对象的语⾔Java⼊门Java帝国的诞⽣Java特性与优势简单性⾯对对象可移植性⾼性能分布式多态性多线程安全性健壮性Java三⼤版本Write Once,Run AnywhereJavaSE: 标准版 (桌⾯程序,控制台开发…)JavaME: 嵌⼊式开发 (⼿机,⼩家电…),已经凉了JavaEE: E企业级开发 (Web端,服务端开发…),JavaSE为基础JDK JRE JVMJDK:Java Development Kit (Java开发者⼯具,包括 JRE,JVM)JRE:Java Runtime Environment (Java运⾏时环境)JVM:Java Virtual Machine (Java虚拟机,跨平台核⼼)安装开发环境卸载JDk1. 删除Java安装⽬录2. 删除环境变量JAVA_HOME3. 删除path下关于JAVA的⽬录4. Java -version安装JDK1. 百度搜索JDK8,找到下载地址2. 同意协议,下载电脑对应的版本,如64位操作系统下载 jdk-8u281-windows-x64.exe3. 双击安装JDK4. 记住安装路径5. 配置环境变量1. 我的电脑-》属性-》系统⾼级设置-》环境变量2. 系统变量新建–> JAVA_HOME 输⼊对应的jdk安装路径3. path变量–>% JAVA_HOME%\bin6. 测试是否成功 cmd–>Java -versionJava基础注释1. 单⾏注释 //2. 多⾏注释 /* */3. ⽂档注释 /** */标识符和关键字Java 所有的组成部分都需要名字。

JAVA笔记(根据马士兵的java视频整理)

JAVA笔记(根据马士兵的java视频整理)

JAVA视频教程尚学堂---手把手教程Call:86-主讲教师马士兵SCM系统--------Java+VC跨平台(电信宽带运营平台-------Java+WEB(J2EE)跨平台远程教学平台----Java+WEB(tomcat)VOD视频监控-----VCERP视频会议---------VC新闻发布系统-----Java+XML(模板)网上商城课堂内容、教学方法、学习方法、预备知识、教学资源JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要语法基础【变量、循环、分支】最核心的东西—原理--学好OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】基础类、常用类I/O StreamCollection/Generic【集合类】Thread【线程】TCP/UDP【网络底层】GUI【Graphic User Interface 图形化用户接口窗口】Meta Data【以后讲,与紧密相关】Regular Expression【正规表达式】JDK初步Java Web编程【主攻一个框架---讲原理,略讲其他框架】针对Web程序J2EE【一套标准,包含Java Web 、JDPC、JSP、SP、JB/开源框架—就分步式来说,目前(2005)无东西与之抗衡】(比较,,)企业级应用J2ME移动设备移动增值SP运营商3G,2.5G,要火爆起来【网络先铺起来,应用才能上来;3G的网络还没有铺开、火爆起来,讲3G的应用超前了】巨无霸式的教学理论举例理论回顾练习讲解【三片面包加两片肉】注重结合工程实践【完全结合】注重传授自学能力【自学的东西相当重要,授人以鱼,不如授人以渔;慢慢学会掌握一定基础后才有,灌输、背,融成血液里的一部分,心中无剑,手中有剑—前提—心中有剑手中也有剑;时间短,强度大,该背就背】个人能力分三个层次知识学习前人的知识---学习能力的一个表现,被动地接受—接受能力{自己学习了知识后考虑如何去应用,去---学习解决问题的方法【类似问题遇到过】灵活运用学到的知识【碰到什么问题采用什么方法】解决问题的思路【最高层次】创造解决问题的方法【思路掌握了,遇到新问题,自己拓展一条思路,解决问题,不可能一口吃成一个胖子,沿着这三个层次一点一点往上升首先打造自己学习知识的能力,先把该掌握的知识掌握了,再谈如何应用---如何教---教大家写项目每一个知识教太深—给项目留得时间特别短---不合适;自学一些东西,慢慢去培养解决问题的思路,试着朝这个方向去培养,工作后慢慢遇到新问题使劲去思考了积累起来逐渐会有这个能力,灵活一点、再灵活一点!基础知识要背—灵活应用的东西不能背,无一定之规,在实践中慢慢锻炼—实践的越多—敲的代码越多(掌握思路后自主敲代码,哪怕敲不出来再看别人的思路—收获远远不一样,学习要自主一点,多思考思路才能开阔—无捷径,努力锻炼自己的就业能力。

第一章-Java基础笔记

第一章-Java基础笔记

第⼀章-Java基础笔记Java语⾔的概述Java是⼀门⾯向对象的语⾔,Java相对于C语⾔来说学习相对简单,它主要的三⼤特点就是:封装、继承、多态,并且只需要进⾏⼀次源码编译,在任何装有对应版本的JVM 虚拟机环境的计算机下运⾏;Java的三个版本JavaSE主要⽤于桌⾯应⽤的开发JavaME主要⽤于嵌⼊式系统的开发JavaEE主要⽤于企业级的WEB端开发和服务器开发Java环境介绍JDK - 提供了开发者的⼀些⼯具包,并包含了[JRE和JVM]JRE - Java的运⾏环境,提供了运⾏时需要的类库,并包含了[JVM]JVM - Java的虚拟⼀块内存区域,⽤于执⾏Java的代码Java跨平台交互图Java代码的运⾏机制后缀点java的⽂件会通过 javac命令进⾏⽂件的编译成⼀个能够被JVM读懂的字节码⽂件,通过加载、校验、初始化的过程都内存中,通过JVM寄存器读取⽂件中的⾏号,进⾏执⾏相关代码;注释注释是为了在编写程序时对某个类、⽅法或是⼀段代码进⾏功能作⽤的说明,它不会被编译成代码执⾏,只是起到⼀个描述作⽤,便于对代码的理解;Java中的注释分为3种:单⾏注释://多⾏注释:/* */⽂档注释:/** */对注解的内容⽣成JavaDoc⽂档DOS命令进⼊到要⽣成Doc⽂档的层级⽬录,执⾏:javadoc -encoding UTF-8 -charset UTF-8 ⽂件名称/*** @Author JavaCat7* @Description 这是⼀个⽂档注释*/public class Demo{/*** @Parameter args 对参数的描述* @Description 这是⼀个⽂档注释*/public static void main(String[] args){//这是⼀个单⾏注释System.out.println("Hello Java");/*这是多⾏注释这是多⾏注释*/}}标识符每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;规范:每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;**规范:**1.严格区分⼤⼩写;2.开头可以是$ 或 _ 或 A-Z a-z的字母组成,也可以汉字(不会这么⼲);3.可以由数字、字母或者是 $ 或 _ 组成,但数字不能⽤于开始;4.不可以包含特殊字符;5.不能以Java语⾔中的保留字作为命名;6.类名采取⼤驼峰命名法;7.⽅法和变量采取⼩驼峰命名法;8.常量采取⼤学加_进⾏命名;基本数据类型Java是强类型计算机语⾔,所有的变量必须先定义才能使⽤,对于强类型⽽⾔主要就是指的数据安全,强类型的语⾔有很多,⽐如C、C++、python...计算机存储单位换算bit(位) - 是计算内部数据存储的最⼩单元,通过8个⼆进制位进⾏表⽰;byte(字节) - 是计算机中数据处理的基本单位,通常使⽤B来表⽰;8个bit(位) = 1B(字节)1024个B(字节) = 1KB1024个KB = 1MB1024个MB = 1GB....//整数类型byte a = 1;short b = 2;int c = 3;long d = 4L;//⼩数类型float e = 5.0f;duble f = 6.0d;//字符类型char g = 'a';//布尔类型boolean h = true;boolean i = false;数据类型的转换各数值相关数据类型⽀持类型上的转换,既可以把排序级别较低的类型转换成排序级别较⼤的类型,也可以把排序级别较⾼的类型转换成级别较低的类型(但会造成数据的丢失);数据的转换强制类型转换 - 在要转换的变量前使⽤:要转换的对应数据类型如- (int)⾃动类型转换 - 在不同的数值数据类型运算中,它会以排序级别较⾼的数据类型作为基础⾃动转换int number1 = 128;//正常byte的值是 -128 - 127,强制把int类型转换成byte会造成数据的不精确byte number2 = (byte)number1;int number3 = 519;float number4 = 1.0f;//在运算过程中因为float的排序级别⽐int⾼,那么它会⾃动转换成float类型在完成运算float number5 = number3 + number4;变量,静态变量,常量及作⽤域变量是指可以变化的值,通过数据类型和变量名可以在内存中申请⼀块存储的空间,通过内存的引⽤地址可以设置改变内存中存储的值或者修改值,所有的变量必须先赋值才可以使⽤;成员变量成员变量是指在类中与⽅法同级的位置中定义的成员变量,在该位置定义的变量可以不⽤设置值就可以使⽤,因为它会对类进⾏初始化,并完成初始化赋值,就算不给他们赋值也会有默认的初始值,他们的默认初始值都是最⼩的单元;作⽤域成员位置的变量,可以在⾮静态⽅法的所有位置使⽤,如果要在静态⽅法中使⽤,需要先创建对象;public class Variable{int a; //默认为:0float b; //默认为:0.0char c; //默认为:''boolean d; //默认为:false}局部变量局部变量是指在⽅法内部定义的变量,必须要先完成初始化后,才可以被使⽤;作⽤域局部位置的变量,外部⽆法使⽤,只能在⽅法内部使⽤,可以和外部的变量名称相同;public class Variable{int number;public void method(){int number = 3;//可以和成员位置的变量名称相同}}静态变量静态变量是指被static关键字修饰的变量,被修饰的变量⼜称为类变量;作⽤域静态变量可以作⽤域与所有⽅法中,静态变量只能定义在类的成员位置;public class Variable{static int number ;public static void main(String[] arags){System.out.println(number);}public void method(){System.out.println(numbe);}}常量常量是指不能被改变的值,它在创建到成员位置必须要先完成赋值,⼀旦被创建它的值是不允许被更改的;作⽤域它的作⽤域和成员变量相同public class Variable{final int NUMBER = 3.1415926;}静态常量静态常量是指从属于类的常量,在完成初始化以后是不可以被修改的,并且被public所进⾏修饰;作⽤域它的作⽤域和静态变量相同运算符算术运算符int a = 5;int b = 2;int number = a + b; //number = 7;int number = b - a; //number = 3;int number = a * b; //number = 10;int number = a / b; //number = 2,只取整数;double number = a / (double)b; //number = 2.5int number = a % b; //number = 1;⾃增⾃减运算符int a = 1;int b;b = a++; //b = 1; 先把a的值赋值给b,后a进⾏ +1 操作;b = a--; //b = 2; a前⾯进⾏了⾃增那么就是2,先把2赋值给b,然后进⾏ -1 操作;b = ++a; //b = 2; 前⾯a进⾏了⾃减那么就是1,先对a进⾏⾃增加1,然后在赋值给b;b = --a; //b = 1; 前⾯a是2,先对a进⾏⾃减1,在赋值给b;赋值运算符int a = 5;//把 5 赋值给 a;int b = 2;//把 2 赋值给 b;a += b; // a = 7(a+b的结果在赋值给a);a -= b; // a = 3;a *= b; // a = 10;a /= b; // a = 2;a %= b; // a = 1;关系运算符int a = 5;int b = 2;a > b; //truea < b; //falsea >= b; //falsea <= b; //truea == b; //falsea != b; //true逻辑运算符boolean a = true;boolean b = false;a &&b = false;//都true则true,第⼀个条件为false就不会在看第⼆个条件,直接返回falsea ||b = true;//⼀个条件为true则true,第⼀个条件为tre就不看第⼆个条件,直接返回true! a = false;//取反a &b = false;//2个条件都要执⾏a |b = true;三元运算符int a = 5;int b = 5;a ==b ? "等于":"不等于"; //为true返回第⼀个,为false返回第⼆个流程控制语句If语句if语句就是判断条件是否成⽴,成⽴就执⾏if中的代码,不成⽴就不进⼊;boolean flag = true;if(flag){System.out.println("...");}if...else语句if...else语句就是根据判断的条件是否成⽴,成⽴⾛if语句,不成⽴⾛else语句;boolean flag = true;if(flag){System.out.println("成⽴");}else{System.out.println("不成⽴");}if...else if语句if...else if⽀持多条件的判断,只会进⼊⼀个匹配的条件;boolean flag = true;boolean fail = false;if(flag){System.out.println("条件匹配");}else if(fail){System.out.println("条件匹配");}else{System.out.println("条件都不匹配");}switch条件控制语句witch语句从JDK1.7开始可以⽀持匹配:String字符串;注意事项:每个case 后⾯必须跟⼀个数值常量或字符串常量⽤于匹配;匹配的语句后⾯需要加上break关键字,防⽌case穿透;String week = "星期⼀";switch(week){case "星期⼀":System.out.println("今天是星期⼀");break;case "星期⼆":System.out.println("今天是星期⼆");break;case "星期三":System.out.println("今天是星期⼆");break;default:System.out.println("今天星期⼏都不是");}循环控制语句for循环语句for(初始值,条件表达式,更新)for(int i = 1 ; i <= 10 ; i++){System.out.println(i);}增强for循环for(接收类型的变量,表达式)int [] arrays = {1,2,3,4,5,6,7,8,9,10};for(int i : arrays){System.out.println(arrays);}while循环语句while(条件表达式)int number = 1;while(number <= 100){System.out.println(number);number ++;}do...while循环语句do{先把语句执⾏⼀遍}while(条件表达式);boolean flag = true;do{System.out.println("先执⾏⼀遍");flag = false;}while(flag);break和continue关键字break关键字结束循环的意思;for(int i = 1; i <= 100; i++){if(i == 10){System.out.println("打印10后结束循环");break;}}continue关键字跳过当前循环,进⼊下⼀次循环;for(int i = 1 ; i <= 10; i ++){if(i % 2 == 1){continue;}System.out.println("打印:"+i);}⽅法概述:⽅法就相当于使⽤多⾏代码进⾏组合去实现的⼀个功能⽚段,对代码进⾏封装利⽤,可实现多次调⽤;⽅法的定义修饰符返回值⽅法名称(形参形参名称){⽅法体}public class Function{public static void main(String[] arags){}public void method1(){}public void method2(String name,int age){}public static void method3(){}public int method03(){int a = 3;return a;}public int method04(int a,int b){if(a == b){System.out.println(a + "和" + b + "相等");return -1;}return a > b ? a : b;}}⽅法的重载⽅法的重载是指⽅法名称相同,传递的参数类型不同,个数不同,顺序不同与返回值⽆关;这样的⽅法被称为⽅法的重载;public class Function{public int max(int a,int b) {return a > b ? a : b;}public double max(double a,double b){return a > b ? a : b;}}形参和实参形参是指在()内部的参数,实参是指被真实传递的参数;public class Function{public static vid main(String[] args){Function function = new Function();function.max(3,5);}public int max(int a,int b) {return a > b ? a : b;}}可变参数在⽅法的()中我们有时候不知道要传递多少参数,那么我们可以传递⼀个数据类型紧跟后⾯加上...来表⽰;但需要注意的是⼀个⽅法中指允许⼀个可变参,如果有其他类型的参数,那么可变参数需要写在最后⾯;可变参数本质上就是⼀个数组;public class Function{public void method(String name,int... numbers){for(int num : numbers){System.out.println(num);}}}递归递归的本质就是⾃⼰调⽤⾃⼰,它可以解决⼀些业务,但效率和开销较⼤,对⼀些⽐较⼩的运算可以使⽤;//递归求3的阶乘public class Founction{public static void main(String[] args){}public int founction(int number){int result = 1;if(number == result){return result;}return number * founction(number - 1);}}数组数组就是⼀组数据的集合,Java中的数组必须存储和数据类型相符合的值,不允许与定义的数据类型不匹配;⼀旦数组被创建出来,它的长度就不允许被改变,数组有下标(索引)的概念,都是从0开始,如果操作的数据超过数组的长度那么就会报出下标索引越界异常[ IndexOutofBoundsException ];数组的定义int[] array = new int[3];int array[] = new int[3];int array[] = {1,2,3};数组的内存模型图数组的遍历⽅式int[] arr = new int[10];//⽅式⼀for (int i = 0; i < arr.length ; i ++) {System.out.println(arr[i]);}//⽅式⼆for (int num : arr) {System.out.println(num);}⼆维数组int[][] arr = new int[3][2];String[][] strArr = {{"hello","hello"},{"hi","hi","hi",{"java","java","java","java"}}Arrays⼯具类Arrays数组的⼯具类,是jdk已经帮我们提供好的⼀套数据⼯具类,⽅便我们对数据相关进⾏⼀些操作;int[] arr = {3,51,1,33,82,22,55,53};Arrays.toString(arr);//把数组变成⼀个字符串Arrays.sort(arr);//对数组内容进⾏升序排列Arrays.fill(arr,0);//把数组的内容全部进⾏替换为0常见算法冒泡排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//冒泡排序算法public static void popArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每次⽐较⼀轮,需要减少1次⽐较的次数for (int j = 0; j < arr.length - i - 1; j++) {//如果前⾯的数据⽐后⾯⼤,那么就交换位置if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}选择排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//选择排序public static void selectOrderArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每⽐较⼀次,需要减少1次⽐较的次数,会把⼩的先往前排for(int j = i+1;j<arr.length;j++){if(arr[i]>arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}⼆分查找public static int[] arr = new int[]{1, 2, 3 , 4, 6, 7, 8, 13, 19};//2分查找法public static void branchFind(int [] arr,int number){int startNode = 0;int endNode = arr.length-1;int middle = 0;while (startNode <= endNode){//中间的指针由开始节点和结束节点计算得来middle = (startNode+endNode)/2;if(number == arr[middle]){System.out.println("找到了");break;}else if(number < arr[middle]){endNode=middle-1;System.out.println(number+"⼩于中间值,结束节点变更为中间节点-1"); }else if(number > arr[middle]){startNode = middle+1;System.out.println(number+"⼤于中间值,开始节点变更为中间节点+1"); }else{System.out.println("没有找到该元素");break;}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java一.Java概述二.Java语言基础三.面向对象编程四.Java异常类处理机制五.数组六.Java常用类七.Java容器类八.Java流技术九.Java多线程机制十.Java网络编程十一.GUI编程Java概述一.Java语言的特点1.面向对象2.与平台无关,提供程序运行的解释环境3.健壮性。

吸收了C/C++的优点,但去掉了其影响健壮性的部分(如:指针、内存的申请与释放等)。

二.Java程序运行机制及运行过程Java两种核心机制:Java虚拟机(JVM)、垃圾收集机制1.Java虚拟机1)Java虚拟机可以理解成一个以字节码为机器指令的CPU。

2)对于不同的平台运行平台有不同的虚拟机。

3)Java虚拟机机制屏蔽了底层运行平台的差别,实行了“一次编译,随处运行”。

2.垃圾收集机制1)不再使用的内存空间应回收——垃圾收集。

2)在C/C++等语言中,由程序员负责回收无用内存。

3)Java语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪存储空间的分配情况。

在JVM空闲时,检查并释放那些可被释放的存储器空间。

4)垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。

三.Java开发环境的下载、安装、配置1.下载JDK2.安装3.在系统属性高级标签中配置path&classpath环境变量path:windows系统执行命令时要搜索的路径(bin文件夹)如:“%path%;c:\jdk\bin”classpath:java在编译和运行时要找的class所在的路径如:“.;c:\jdk\lib”注:路径可以为多个(因为一台电脑可以安装多个JDK),但从第一个路径开始找。

在DOS中键入“java-version”可以看当前所用的JDK版本。

4.验证在DOS中输入javac、java命令进行验证,出现一长串代码表示环境变量配置成功。

javac:java编译器,编译java程序。

将java源代码文件(.java)转换成字节码文件(.class)。

java:java解释器,运行java程序。

用来执行javac编译成的字节码。

四.Java Application初步例:简单的helloworld程序。

public class helloworld{public static void main(String args[]){//输出“helloworld”System.out.println(“helloworld”);}}此程序用DOS编译运行方法:命令javac后面跟文件名命令java后面跟主类(含有main方法)主类不一定是public类1.Java源程序以“java”为扩展名。

源文件的基本组成部分是类(class),如本例中的helloworld类。

2.一个源文件最多只能有一个public类,其他类的个数不限。

如果源文件文件包含一个public类,它必须按该类名命名。

3.Java应用程序的执行入口是main()方法。

它有固定的书写格式:public static void main(String args[]){……}4.Java语言严格区分大小写。

5.Java方法有一条条语句构成,每个语句以分号结束。

6.Java语言有三种注释方式:附:程序员电脑的设置1.文件夹显示方式为“详细信息”模式并“应用到所有文件夹”。

2.显示所有文件和文件夹。

3.不要隐藏文件类型。

4.在地址栏里显示完整路径(用于copy路径)。

五.常见Java开发环境编辑器:UltraEdit、EditPlus集成开发环境:JBuilder、Eclipse、Sun One Studio、WSADJava语言基础内容:标示符、关键字、Java基本数据类型、运算符、表达式和语句、分支、循环、方法、变量的作用域、递归调用。

一.标示符1.Java对各种变量、方法和类等要素命令时使用的字符序列称为标识符。

凡是自己可以取名字的地方都叫标识符,都遵守标识符的规则。

2.Java标识符命名规则1)标识符由字母、下划线“_”、美元符“$”或数字组成。

2)标识符应以字母、下划线、美元符开头(数字不能作为开头)。

3)Java标识符大小敏感,长度无限制。

3.约定俗成:Java标识符选取应“见名知意”且不能与Java语言的关键字重名。

二.关键字1.Java中一些赋以特定的含义,用作专门用途的字符串称为关键字(keyword)。

大多数编辑器会将关键字用特殊方式标出。

2.所有Java关键字都是小写英文。

3.goto和const虽然从未使用,但也被作为Java关键字保留。

Java常量1.Java的常量值用字符串表示,区分为不同的数据类型。

1)如整型常量123堆栈5.Java变量的分类1)按被声明的位置划分局部变量:方法或语句块内部定义的变量。

成员变量:方法外部、类的内部定义的变量。

注意:类外面(与类对应的大括号外面)不能有变量的声明。

2)按所属的数据类型划分基本数据类型变量引用数据类型变量6.Java局部变量与成员变量1)方法体内部声明的变量(包括形参)称为局部变量。

方法体内部是指与方法对应的大括号内部。

2)在方法体外、类体内声明的变量称为成员变量。

五.Java数据类型的划分Java中定义了4类8种基本数据类型:逻辑型—boolean文本型—char整数型—byte、short、int、long浮点数型—float、double1.逻辑型booleana)boolean类型适于逻辑运算,一般用于程序流程控制。

b)boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false,这点和C语言不同。

c)用法举例:boolean flag;flag=true;if(flag){//do sth.}2.字符型chara)char型数据用来表示通常意义上的“字符”b)字符常量为用单引号括起来的单个字符,例如:Char m=‘a’;char n=‘中’;c)Java字符才用Unicode编码,每个字符占两个字节,因而可用十六进制形式表示,例如:char c1=‘\u0061’;注:Unicode是全球语言统一编码d)Java语言中还允许使用转义字符’\’来将其后的字符转变为其它的含义,例如:char c2=‘\n’;//’\n’代表换行符e)补充:2进制、10进制、16进制之间的转换A.10进制转2进制:除2取余,逆序排列小数部分:乘2取整,顺序排列用十进制整数去除2,可得到一个商和余数;再用商去除2,又会得到一个商和余数,如此进行,直到商为0时为止,逆序排列余数用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。

或者达到所要求的精度为止。

B.10进制转8进制、16进制与转成2进制方法相同,但基数是8或16。

C.2进制转换为8进制从小数点开始,将二进制数的整数和小数部分每三位分为一组,不足三位的分别在整数的最高位前和小数的最低位后加“0”补足,然后每组用等值的八进制码替代,即得八进制数。

例:(11010111.0100111)2=(327.234)8D.二进制数与十六进制数的相互转换由于16=2的4次方,所以在将二进制数转换成十六进制数时,从小数点开始将,二进制数的整数和小数部分每四位分为一组,不足四位的分别在整数的最高位前和小数的最低位后加“0”补足,然后每组用等值的十六进制码替代,即得目的数。

十六进制数转换成二进制数时正好相反,一位十六进制数用四位二进制数来替换。

对于有小数的数,要分小数和整数部分处理。

例:(111011.10101)2=(3B.A8)16E.八进制转成十六进制可先转成二进制再转成十六进制转换表:注:Java里没有无符号的整数,所有的数都带符号,符号占一位。

5.基本类型数据转换A.boolean型不可以转化为其它的数据类型。

B.整型、字符型、浮点型的数据在混合运算中相互转换应遵循以下原则:a.容量小的类型自动转换为容量大的数据类型byte,short,char->int->long->float->doublebyte,short,char之间不会相互转换,它们在计算时首先会转换为int型b.容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出,使用时要格外注意c.有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那一种数据类型,然后再进行计算d.实数常量(如:1.2,0.1)默认为doublee.整型常量(如:123)默认为intpublic static void main(String args[]){int I=1,j;float f1=0.1;float f2=123;long l1=12345678,l2=888888888888;double d1=2e20,d2=124;byte b1=1,b2=2,b3=129;//b3超出取数范围,需加强制转换符(byte)或更改为int型byte b=b1–b2;//系统强制转换为int后再运算,需加强制转换符(byte)j=j+10;//j在使用前应赋值i=i/10;i=i*0.1;//有小数先转换为double再运算,所得加强制转换符(int)char c1=‘a’,c2=125;char c=c1+c2–1;//系统强制转换为int后再运算,需加强制转换符(char)float f3=f1+f2;float f4=f1+f2*0.1;//0.1默认为double,需加强制转换符double d=d1*i+j;float f=(float)(d1*5+d2);}附:格式应该注意的问题:a.大括号对齐b.遇到{缩进,Tab键c.程序块之间加空行d.并排语句之间加空格e.运算符两侧加空格(有特定条件)f.{前面有空格g.{}成对编程六.运算符1.Java运算支持如下运算符:2.自加和自减运算符3.逻辑运算符!—逻辑非&—逻辑与I—逻辑或^—逻辑异或&&—短路与II—短路或4.赋值运算符(=)A.当“=”两侧数据类型不一致时,可以使用默认类型转换或使用强制准换类型转换原则进行处理:long m=100;int n=(int)m;B.注意:可以将整型常量直接赋值给byte、short、char等类型变量,而不需要强制类型转换,只要不超出其表数范围。

5.字符串连接符(+)A.“+”除用于算数加法运算外,还可用于对字符串进行连接操作。

int id=800+90;String s=“hello”+“world”;B.“+”运算符两侧的操作数只要有一个是字符串类型(String),系统会自动将另一个操作数转换为字符串然后再进行连接。

相关文档
最新文档