一名java培训生的学习笔记(基础部分1)

合集下载

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的面向对象编程--------课堂笔记面向对象主要针对面向过程。

面向过程的基本单元是函数。

什么是对象:EVERYTHING IS OBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。

能够做什么(方法):告诉外界对象有那些功能。

后者以前者为基础。

大的对象的属性也可以是一个对象。

为什么要使用面向对象:首先,面向对象符合人类看待事物的一般规律。

对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。

方法的定义非常重要。

方法有参数,也可能有返回值。

注意区分:对象(本身)、对象的实现者、对象的调用者。

分析对象主要从方法开始。

我们通过类来看待对象,类是对象的抽象。

其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。

对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。

这样才能使每个对象本身做成最好的。

对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。

实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。

可复用性是OOP的基础。

比较面向过程的思想和面向对象的思想:面向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。

面向过程是先有算法,后有数据结构。

面向对象是先有数据结构,然后再有算法。

在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。

开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。

从语法上来看,一个类是一个新的数据类型。

在面向对象编程中,除了简单数据类型,就是对象类型。

定义类的格式:class Student{代码}注意类名中单词的首字母大写。

局部变量:定义在方法之中的变量。

局部变量要先赋值,再进行运算,而实例变量均已经赋初值。

这是局部变量和实例变量的一大区别。

实例变量的对象赋值为null。

Java从入门到精通学习笔记

Java从入门到精通学习笔记

1、Java优点:Java接口取代了多重继承,取消了指针,自动垃圾收集。

2、环境变量设置:windows系统使用;(分号)间隔,Linux系统使用:(冒号)间隔。

3、Java关键字(自己不熟悉的关键字)strictfp:精确浮点、protecte串行化、volatile作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.、transient被标记的成员变量不参与序列化过程、synchronized线程锁、instanceof判断其左边对象是否为其右边类的实例。

4、短路与非短路运算符。

&&只判断左侧的表达式,&会将两侧的表达式都判断。

&&会节省计算机判断次数。

因此&&为短路运算符,&为非短路运算符。

||与|也是如此。

5、位运算符:~按位取反。

&按位与。

|按位或。

ˆ按位亦或。

>>>无符号右移(右移出的空位补0)6、流程控制:退出指定循环7、打印空心菱形8、数组填充:(1)相同数据填充:Arrays.fill(arr,8);(2)指定位置填充:9、数组复制:(1)copyOf(arr,int new length)方法:复制数组至指定长度。

NewLength是新数组的长度,超出部分用0或null补充。

(2)copyOfRange(arr,int formIndex,int toIndex)方法:将制定数组的指定长度复制到一个新数组中。

FromIndex是开始索引,toIndex是结束索引,结果不包含结束索引的值10、九宫格程序11、字符串创建方法:(1)String s = new String ();(2)Char a[] = {‘g’,‘g’,‘g’,‘g’};String s = new String(a);(3)String s = new String(a,1,3);//相当于数组截取12、字符串索引:(1)Str.indexOf(“a”) 获取第一次出现的位置(2)stIndexOf(“a”)获取最后一次出现的位置(3)Str.charAt(int index)获取指定索引出的字符(4)Str.trim()去除前后空格(5)StringToKenizer(String str,String delim)按指定字符分割字符串replaceAll(String regex,String replacement)替换字符串replace(String regex,String replacement)用于替换所有与制定字符串相匹配的字符串。

Java相关课程系列笔记之一Java学习笔记(建议用WPS打开)

Java相关课程系列笔记之一Java学习笔记(建议用WPS打开)

Java学习笔记Java相关课程系列笔记之一笔记内容说明4月18日的五天Java训练营(刘英谦老师主讲,占笔记内容10%);Java基础和面向对象(刘苍松老师主讲,占笔记内容40%);Java SE核心I 和Java SE 核心II(范传奇老师主讲,占笔记内容40%);其他视频及书籍资料(占笔记内容10%)目录一、Java技术基础 (1)1.1编程语言 (1)1.2 Java的特点 (1)1.3 Java开发环境 (1)1.4 Java开发环境配置 (2)1.5 Linux命令与相关知识 (2)1.6 Eclipse/Myeclipse程序结构 (3)二、Java语言基础 (4)2.1基础语言要素 (4)2.2八种基本数据类型 (4)2.3常量和变量 (5)2.4运算符与表达式 (5)2.5编程风格 (6)2.6流程控制语句 (7)2.7数组 (8)2.8字符串 (8)2.9方法三要素 (9)2.10插入排序 (9)2.11冒泡排序 (9)2.12冒泡排序:轻气泡上浮的方式 (10)2.13二分法查找 (10)2.14 Java系统API方法调用 (11)2.15二进制基础 (11)2.16 Java基础其他注意事项 (11)三、面向对象 (13)3.1类 (13)3.2对象 (13)3.3包 (14)3.4方法及其调用 (14)3.5引用 (14)3.6访问控制(封装) (14)3.7构造器 (14)3.8 super()、super.和this()、this. (15)3.9重载和重写 (16)3.10继承 (17)3.11 static (20)3.12 final (21)3.13多态 (22)3.14抽象类 (22)3.15接口 (22)3.16内部类 (23)3.17匿名类 (24)3.18二维数组和对象数组 (25)13.19其他注意事项 (25)四、Java SE核心I (27)4.1 Object类 (27)4.2 String类 (28)4.3 StringUtils类 (30)4.4 StringBuilder类 (30)4.5正则表达式 (31)4.6 Date类 (32)4.7 Calendar类 (32)4.8 SimpleDateFormat类 (33)4.9 DateFormat类 (33)4.10包装类 (34)4.11 BigDecimal类 (34)4.12 BigInteger类 (35)4.13 Collection集合框架 (35)4.14 List集合的实现类ArrayList和LinkedList (36)4.15 Iterator迭代器 (39)4.16泛型 (39)4.17增强型for循环 (40)4.18 List高级-数据结构:Queue队列 (40)4.19 List高级-数据结构:Deque栈 (41)4.20 Set集合的实现类HashSet (41)4.21 Map集合的实现类HashMap (43)4.22单例模式和模版方法模式 (45)五、Java SE核心II (46)5.1 Java异常处理机制 (46)5.2 File文件类 (48)5.3 RandomAccessFile类 (50)5.4基本流:FIS和FOS (52)5.5缓冲字节高级流:BIS和BOS (53)5.6基本数据类型高级流:DIS和DOS (53)5.7字符高级流:ISR和OSW (54)5.8缓冲字符高级流:BR和BW (55)5.9文件字符高级流:FR和FW (56)5.10 PrintWriter (57)5.11对象序列化 (57)5.12 Thread线程类及多线程 (58)5.13 Socket网络编程 (61)5.14线程池 (64)5.15双缓冲队列 (64)2一、Java技术基础1.1编程语言机器语言:0 1 在硬件直接执行汇编语言:助记符高级语言:(Java运行比C/C++慢)1)面向过程的高级语言:程序设计的基本单位为函数,如:C/C++语言。

达内java培训学习笔记

达内java培训学习笔记

达内java培训学习笔记达内Java培训学习笔记在这个信息化浪潮不断推动着科技技术的发展的时代,学习一门技能是非常有必要的。

其中,Java是一个广泛应用、高效稳定的开发语言,为各大公司提供了许多解决方案。

而达内Java培训就是一个非常好的学习途径,通过它我们能够更深入的了解Java,学习更高效的Java编程技术。

我的学习笔记主要涵盖了Java的基础知识和一些实际开发案例经验,以下是我对于Java培训课程的总结:1. Java语言基础Java语言基础课程非常重要,它包括了Java的基本数据类型、流程控制语句、面向对象编程等。

例如,Java基本数据类型包括int、boolean、double等,他们的作用在于描述程序中的数据类型和变量类型。

流程控制语句即if-else语句,switch-case语句等,通过这些语句我们可以实现程序的逻辑控制。

面向对象开发则是Java的核心思想,掌握好面向对象编程思想能够帮助我们有效的组织程序的结构。

建议在学习Java基础课程时多做练习,加深对基础知识的理解与掌握。

2. Java Web开发Java Web开发中,最重要的就是Servlet与JSP的开发。

Servlet负责用户请求的接受,JSP负责返回结果的展示,他们是Java Web开发的基础知识。

进一步地,学习Spring、Spring MVC和Mybatis等框架,这些框架能够提高Web开发的效率和代码的可维护性,也是我们开发Java Web应用所必备的技能。

3. Maven的使用Maven是一个Apache开发的项目管理工具,通过它能更方便的管理一个项目的构建,依赖等。

Maven的使用需要在掌握了Java语言基础之后,对于长期从事Java开发的人员,Maven的使用是必不可少的。

学习Maven需要了解一些常用的概念,例如: Maven通常依赖中央仓库、本地仓库和仓库管理。

通过练习一些Demo,可以很好的掌握Maven的基本使用方法。

java课堂笔记(全部基础知识)

java课堂笔记(全部基础知识)

java课堂笔记(全部基础知识)Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译: javac **.java运行 java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字 = 值 ;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejrelibsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符 =算数运算符 + - * / % ++ --+= -= *= /= %=关系运算符 > < >= <= == !=逻辑运算符 && || !条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:i f(num=5){}else{}大括号不省略多重if顺序问题注意:流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环w hile(条件){操作循环变量迭代}注意:代码缩进循环能否正常退出(2)do-while循环循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 54 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)2、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩例2:f or(int i=0;i<=6;i++){System.out.println(i);}i nt j=i;S ystem.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试设置断点Debug->单步运行 F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){s um+=score;}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称 = new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型i nt、double、float、char、boolean引用数据类型S tring、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮 + j比较次数:4 =4:length-1i:1第二轮 + j比较次数:3 =4:length-1i:2第三轮 + j比较次数:2 =4:length-1i:3第四轮 + j比较次数:1 =4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型i nt double char boolean 。

第一章-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;}}}。

JAVA学习笔记基础知识.doc

JAVA学习笔记基础知识.doc

JDK :可以开发编译与运行JAVA程序的工具。

JRE:可以运行JAVA程序的工具。

JVM:java虚拟机,是在一台计算机上山硬件或软件模拟的计算机。

它的功能是读取并处理编译过的字节玛文件(class文件)环境变量:path:JDK 中bin 目录classpath:.java_home:JDK 的路径homc_path: JDK 的路径开始一>Sitj->cnid->java -versionJavaSE—Oraclc 今JavaEEJava版木:JavaSE:J2SEJavaEE:J2EEJavaME:J2MEJAVA文件类型:.java文件:源文件,保存JAVA源代码,文本文件。

.class文件:类文件,保存字节码,二进制文件。

使用javac命令将java文件编译为class文件:javac文件名.java (DOS文件名不区分大小写)使用java命令运行class文件:java类名(类名区分大小写)1.在一个JAVA文件中可以有多个类2.在个JAVA文件中只能有一个公有(public)的类3.公有的类的名字必须与文件名-样(包括大小写)4.JAVA代码区分大小写5.niain()是程序的入口6.通常情况下main()应该放在公有的类中7.每句代码后面用分号表示结束8.不允许在代码中直接书写中文的标点注释:1.单行注释:〃2.多行注释:/*注释内容*/3.文档注释第三章数据类型:有两种。

基本数据类型(简单数据类型),引用数据类型。

基本数据类型:有8种数字类型:整型,浮点型1.整型:表示十进制,八进制(0开头),十六进制(用Ox或0X头),在JAVA中没有无符号的数字a)byte:字节类型,1个字节-27—27-1b)short:短整型,2 个字节-215—215-10 int:整型,4个字节在JAVA中整数默认为讪,-231—231-1d) long:长整型,8个字节,-263—263.1,在数字后加1或L2.浮点型:a)Ooat:单精度,在数字后面加F或仁4个字节b)double:双精度,在JAVA中-个浮点型的数字默认为double类型。

JAVA学习完整版详细笔记

JAVA学习完整版详细笔记

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基础学习笔记资料

Java基础学习笔记资料

(一)Java编程基础1.Java语言的跨平台是通过针对不同的操作系统,提供不同的jvm来保证的。

2.JDK,JRE,JVM的作用及关系1)作用JVM:保证Java语言跨平台JRE:Java程序的运行环境JDK:Java程序的开发环境2)关系JDK:JRE+工具JRE:JVM+类库3.为了使程序能够独立运行,必须定义main方法main方法是程序的入口被jvm自动调用4.原码,反码,补码正数的原,反,补码都相同负数的反码为原码符号位不变,按位取反负数的补码为原码符号位不变,按位取反,末位加一5.关键字1)被Java语言赋予特定含义的单词2)特点:全部小写。

3)注意事项:A:goto和const作为保留字存在。

B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记6.标识符1)就是给类,接口,方法,变量等起名字的字符序列2)组成规则:A:英文大小写字母B:数字C:$和_3)注意事项:A:不能以数字开头B:不能是java中的关键字C:Java语言严格区分大小写7.常见的命名规则(见名知意):username,password等A:包名全部小写单级包:小写举例:cn,com多级包:小写,并用.隔开举例:com.baidu,com.renrenB:类名或者接口一个单词:首字母大写举例:Student,Demo多个单词:每个单词首字母大写举例:HelloWorld,StudentNameC:方法或者变量一个单词:首字母小写举例:name,main多个单词:从第二个单词开始,每个单词首字母大写举例:studentAge,showAllNames()D:常量全部大写一个单词:大写举例:PI多个单词:大写,并用_隔开举例:STUDENT_MAX_AGE8.注释1)就是对程序进行解释说明的文字2)分类:A:单行注释// 注释内容B:多行注释/* 注释内容 */C:文档注释/** 注释内容 */D:单行注释可以嵌套使用,但是多行注释不可以嵌套使用9.常量1)在程序执行的过程中,其值不发生改变的量2)分类:A:字面值常量B:自定义常量3)字面值常量A:字符串常量 "hello"B:整数常量12,23C:小数常量12.345D:字符常量'a','A','0'E:布尔常量true,falseF:空常量null4)在Java中针对整数常量提供了四种表现形式A:二进制由0,1组成。

java基础知识点总结[参考]

java基础知识点总结[参考]

JAVA基础知识点总结第1章 Java程序设计概述1)开发Java语言的公司?Sun (Sun Microsystems)太阳微电子公司开发2)Java的3个版本?J2SE(Java2 Standard Edition) 标准版J2EE(Java 2 Platform,Enterprise Edition) 企业版J2ME(Java 2 Micro Edition) 微小版在5.0以后新版本中称作:JavaSE JavaEE JavaME3)Java语言的几个主要特点?平台无关性:能运行于不同的平台上安全性:去掉了指针操作,内存由操作系统分配面向对象:利用类使程序更加利于维护分布式:可以使用网络文件和使用本机文件一样容易健壮性:检查程序编译和运行的错误4)Java的三大核心机制虚拟机机制:利用虚拟机解释字节码执行java程序实现跨平台垃圾收集机制:自动内存回收代码安全性机制:加载代码后校验代码后再执行代码第2章 Java语言的开发环境1)JDK是什么?JDK(Java Development Kit)Java开发工具包。

包括了JRE,是开发Java的人员必备的开发运行Java程序的工具。

2)JRE是什么?JRE(Java Runtime Environment)Java运行环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

3)JVM是什么?JVM (Java Virtual Machine) Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

4)安装JDK的操作系统问题?必须针对于不同的操作系统下载安装不同的JDK,例如windows下安装针对于windows的JDK,linux下安装针对于linux的JDK。

5)需要配置的相关环境变量?path:用于搜索外部命令,例如编译程序的javac命令,执行程序的java命令classpath:用于搜索类,即class文件,例如可以在不同的位置执行类文件6)配置环境变量的方式?有两种:临时配置和持久配置临时配置:在命令行下用set 变量名=变量值,仅在当前命令行窗口有效持久配置:在我的电脑——属性中配置,持久有效7)可以编写Java程序的常见开发工具?记事本,EditPlus,ULTRAEDIT,Eclipse,Jbuilder,NetBeans8)Java文件的类型?有两种:扩展名为java的文件:是Java源文件,属于编译之前的纯文本文件,存储java源代码。

java 基础笔记

java 基础笔记

Java 是一种广泛使用的编程语言,具有丰富的特性和强大的功能。

以下是一些Java 基础知识的笔记:基本语法:Java 是一种面向对象的编程语言,使用类和对象的概念。

基本的语法包括变量、数据类型、运算符、控制流语句(如if、for、while 等)和异常处理。

类和对象:类是对象的模板,定义了对象的属性和方法。

对象是类的实例,具有类定义的属性和方法。

Java 中的类通常包含构造函数、属性和方法。

封装:封装是面向对象编程的一个重要特性,它隐藏对象的内部状态并保护对象的状态。

通过将数据和操作数据的代码封装在类中,可以控制对数据的访问和修改。

继承:继承是面向对象编程的另一个重要特性,它允许一个类继承另一个类的属性和方法。

子类可以继承父类的属性和方法,并且可以添加自己的属性和方法。

多态:多态是指一个接口可以有多种实现方式。

在Java 中,多态通过继承和接口实现。

通过使用多态,可以将父类类型的引用指向子类对象,并在运行时确定实际类型。

集合框架:Java 提供了一套丰富的集合框架,用于存储和操作对象集合。

集合框架包括List、Set、Queue 和Map 等接口和实现类。

这些接口提供了丰富的操作集合的方法,如添加、删除、查找等。

输入输出流:Java 提供了一套丰富的输入输出流类,用于处理数据的输入和输出。

输入流用于从文件或网络读取数据,而输出流用于将数据写入文件或网络。

异常处理:Java 提供了一套异常处理机制,用于处理程序中的错误和异常情况。

异常是程序运行时可能出现的问题,如文件找不到、数组越界等。

通过使用try-catch 语句块,可以捕获和处理异常。

泛型:泛型是Java 5 中引入的一个新特性,它允许在编译时指定类、接口或方法的参数类型。

通过使用泛型,可以提高代码的可重用性和安全性。

多线程编程:Java 支持多线程编程,允许多个线程同时执行代码。

通过实现Runnable 或Callable 接口,可以创建线程并控制线程的执行。

Java学习笔记(张平)

Java学习笔记(张平)

Java编程语言基础第一章:初识java(1)相关知识JDK:目录结构(安装到java.home)JVM:管理内存、不同的操作系统需要对应不同版本的JVMJRE:Java程序运行环境的根目录Bin:编译器、解释器、各种工具、存放文件Lib:库文件Demo:演示例子Include:本地方法文件虚拟机:多线程索引定位:已知类和方法Ctrl+alt+↓(复制向下)(2)java技术平台介绍ME:移动端、安卓方向SE:标准版、基础核心、银行软件、安全性高EE:企业版、主要用于互联网程序开发(3)java编码的规范一行一条代码、注意换行和缩进、类名不可用void{}的使用位置,开始的{跟在一行代码的末尾,结束的}另起一行放置(4)编译三步走(写.java 译.calss行)一次编译,随处运行写:记事本编辑,后缀为 .java译:javac HelloWorld.java行:java HelloWorld①反编译方式:javap-c、eclips②格式要求public static void或static public void(三个不能少)String[]args 是数组,可以写成s③输出:计算未声明,就取整④有ln换行输出,无ln不换行(5)3种注释单行:// 多行:/* */ 文档注释:/** */(6)转义符换行:\n 水平制表格:\t【例】“STB\tJAVA” stb+“\t”+java 【变分非合】(7)ascII码表①排序:A对应65,a对应97【大小中文】第二章:变量、数据类型和运算符(1)命名规范①类名:大大(帕斯卡式) HelloWorld②变量:小大大(驼峰式) int myMoney=2000;③常量:final大大_ final int MY_MONEY = 2000;只能被赋值一次,从始至终不变(2)变量命名规则①首字母只能是字母_美元(钱),后面用字母_美元(钱)、数字②不能使用关键字(3)数据类型:【byte short int long、fdcb(1248,482不定 1字节=8bit)】①基本数据类型byte :字节型 short:短整型 int:整型 long:长整型(整数)float:单精度浮点型(整数、小数) double:双精度浮点型char:字符型单个字符 boolean:布尔类型②引用数据类型:String、数组、用户自定义、接口③Java中所有小数默认为double类型,如需赋值给float变量,后面加f 【例】float f =2.11f或2.11F小数④boolean可以为null⑤数据类型转换自动转换:兼容、目标大于源类型一个操作数为double,其他自动提升为double强制转换:(类型名)表达式,强制转换会丢失数据精度【例】double a = 3.14; int b =(int)a;(4)关系运算符(用来比较运算结果,只能用boolean判断正误)【例】boolean isBig = 5<7; 【含有重新录入、结束、退出,用boolean】(5)条件运算符(三元运算符,可以放在输出代码中)int min = 5<7?5:7;String result = Score >90? “奖励”:“惩罚”(6)自增自减num++即num+1、num--即num-1、num+=2即num=num+2++i(先加后用)、i++(先用后加)(7)取数【除余】int geWei = num%10int shiWei = num/10%10int baiWei = num/100%10int qianWei = num/1000(8)控制台录入【4步:13随机合法、2数组声明分配for】导包:import java.util.Scanner;int random =(int)(Math.random()*10); 产生随机创建对象:Scanner intput =new Scanner (System.in);数组:声明分配 for 提示输入:System.out.println(“”);if (input.hasNextInt()==true) 输入字符是否合法调用: String a= input.next(); 接受Stringint a= input.nextInt(); 接受intdouble a= input.nextDouble(); 接受double(1)结构化程序:顺序结构、循环结构、选择结构(2)if结构的种类①if——简单组合多条if、if、if,可执行多条②if、else——简单组合的分支③if、else if 、else——复杂组合的分支满足一个即退出、从小到大或从大到小④嵌套if(包含if、else)、else(包含if、else)——复杂逻辑判断(1)switch【用于数字】int a =1; 也可放入String类型switch(a){case 1:System.out.println(“”);break; 无break,显示匹配往后case 2:System.out.println(“”);break;Default:default默认在前面和后面,并不影响流程判断System.out.println(“”);break;(1)程序调试①Eclipes和MyEclipse共同特征:设置断点,启动调试②是针对运行有误。

java基础入门读书笔记

java基础入门读书笔记

java基础入门读书笔记
笔记内容:
1.java概述
java是一种面向对象的编程语言,最初由Sun Microsystems于1995年发布。

它被设计成一种具有高度可移植性的语言,可以在任何支持java的平台上运行。

java拥有丰富的类库,使得开发人员可以快速地编写出功能强大的程序。

2.java基础语法
java语言的基础语法包括变量、数据类型、运算符和控制流等。

其中,变量是用来存储数据的容器,数据类型则规定了变量可以存储的数据的种类。

运算符则可以对变量进行各种运算操作。

控制流则用来控制程序的执行流程。

3.类与对象
类是对象的模板,它定义了对象的属性和方法。

对象则是类的实例,拥有类所定义的所有属性和方法。

在java中,通过new关键字可以创建对象。

4.继承与多态
继承是面向对象编程的一个重要特性,它使得子类可以继承父类的属性和方法,并且可以扩展自己的属性和方法。

多态则是允许一个接口被多种数据类型实现,或者一个对象可以被多种类型引用。

5.异常处理
异常处理是java中用于处理错误的重要机制。

当程序中出现错误或者异常情况时,系统会抛出一个异常,开发人员可以通过try-catch语句来捕获并处理这个异常。

6.输入输出流
输入输出流是java中用于数据输入输出的重要机制。

通过输入输出流,开发人员可以方便地读写文件、网络数据等。

java提供了丰富的输入输出流类库,使得开发人员可以方便地进行各种输入输出操作。

java从入门到精通读书笔记(一)

java从入门到精通读书笔记(一)

java从入门到精通读书笔记(一)Java从入门到精通笔记入门篇•熟悉Java发展历史•安装JDK、Eclipse•编写Hello World程序•了解Java基本语法•掌握变量、数据类型、运算符、控制语句面向对象编程•了解面向对象的特点•掌握类和对象的概念•学习继承、封装、多态等基本概念•实现类的定义和对象的创建•学习重载和重写集合和IO•学习Java中的容器类•掌握ArrayList、HashSet、HashMap等集合的使用•熟悉Java中的IO操作•了解文件操作、序列化等内容网络编程•掌握socket通信•理解TCP/IP协议•学习HTTP协议•实现客户端和服务器高级Java特性•学习反射、注解等高级特性•掌握多线程编程•熟悉JVM架构•学习异常处理JavaWeb编程•掌握Servlet、JSP等技术•学习MVC框架•熟悉Web应用服务器•学习数据库编程总结•学习Java需要不断积累•遇到问题可以通过搜索引擎解决•不断实践,多写代码•持续学习新技术,保持竞争力入门篇Java语言是面向对象的编程语言,是一种广泛使用的计算机编程语言。

Java语言从1996年开始被发布,现在已被广泛应用于客户端和服务器端程序的开发。

在学习Java之前,需要先了解Java的发展历史。

安装JDK、EclipseJava的开发需要安装JDK和Eclipse。

JDK是Java开发工具包,其中包含了Java编译器等工具。

Eclipse是一款常用的Java IDE(集成开发环境),可以用于编写,调试和运行Java代码。

编写Hello World程序在学习Java语言之前,需要先学会编写Hello World程序,这是一个非常简单的程序,可以帮助初学者快速上手Java编程。

public class HelloWorld {public static void main(String[] args){System.out.println("Hello World!");}}了解Java基本语法Java是一种强类型的语言,需要对数据类型进行明确的定义。

一名java培训生的学习笔记

一名java培训生的学习笔记

一名java培训生的学习笔记授课教师:学生:第一节HashMap类常见的方法及其用法public class Test {public static void main(String[] args) {//创建5个Bean的对象b1-b5并对它们进行初始化Bean b1=new Bean();b1.setAge(23);b1.setName("Bob");Bean b2=new Bean();b2.setAge(23);b2.setName("Bob");Bean b3=new Bean();Bean b4=new Bean();b4.setAge(30);b4.setName("Jack");Bean b5=new Bean();b5.setAge(29);b5.setName("wang");HashMap h=new HashMap();//创建HashMap类型对象h;//并调用put方法,将它们取个key名(外号),加入到Map中h.put("1",b1);h.put("2",b2);h.put("3",b3);h.put("4",b4);h.put("5",b5);h.remove("3");//调用remove()方法,将key值为"3"的元素移除HashMapSystem.out.println(h.size());//输出Map中的元素数Bean temp=(Bean)h.get("5");//将key值为"5"的元素取出来,并复原其Bean身份,并其引用返回给tempSystem.out.println(temp.getAge());System.out.println(temp.getName());//输出key值为"5"的属性值}}第二节equals方法和hashCode方法的重写在处理两个对象之间关系时,有时会需要判定两个对象是否相等,如果他们的引用指向的是同一个对象,那么它们是相等的。

java培训的基础知识

java培训的基础知识

java培训的基础知识java培训的基础知识在java语言的培训和学习中,有哪些基础知识是需要掌握的呢,下面店铺为大家带来了关于java培训的基础知识,欢迎大家阅读! java培训的基础知识1. JVM相关对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。

不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。

JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。

我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。

当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。

在JVM这个大类中,我认为需要掌握的知识有:JVM内存模型和结构GC原理,性能调优调优:Thread Dump,分析内存结构class 二进制字节码结构, class loader 体系, class加载过程,实例创建过程方法执行过程:Java各个大版本更新提供的新特性(需要简单了解2. Java的运行(基础必备)这条可能出看很简单,java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java 程序呢?很多人并不了解。

这个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完了,IDE用上了,就把这个都忘了。

为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。

这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。

在这里需要掌握的知识有:javac 编译java文件为 class 文件java 命令的使用,带package的java类如何在命令行中启动java程序涉及到的各个路径(classpath,java。

java成长笔记

java成长笔记

java成长笔记Java是一门强大而广泛应用的编程语言,它在软件开发领域扮演着重要的角色。

我的Java 成长之路始于对编程的热爱和对技术的好奇心。

通过不断学习和实践,我积累了一些宝贵的经验和教训,愿意与大家分享我的Java 成长笔记。

1. 初识JavaJava是一门面向对象的、跨平台的编程语言。

初学者应该先了解基本语法、数据类型、控制流程等基础知识。

在这个阶段,我学到了:面向对象思想:Java是一门面向对象的语言,深入理解类、对象、封装、继承和多态等概念对于正确使用Java至关重要。

基本语法:学会如何声明变量、编写条件语句、循环语句,以及使用数组等基础语法。

2. 深入学习核心概念Java中有一些核心概念,包括异常处理、多线程、IO操作等。

深入了解这些概念对于编写高质量、健壮的应用程序至关重要。

异常处理:学会使用try-catch块来处理异常,理解受检异常和运行时异常的区别,提高代码的稳定性。

多线程:Java是一门支持多线程的语言,但多线程编程需要小心谨慎。

学会使用线程池、同步机制,避免死锁和竞态条件。

3. 设计模式设计模式是解决特定问题的经验总结,学习并掌握设计模式有助于写出更灵活、可维护的代码。

常见设计模式:学习单例模式、工厂模式、观察者模式等,理解它们的用途和实现方式。

适度使用设计模式:设计模式不是越多越好,要根据实际需要来灵活运用。

4. 框架和开发工具学会使用一些流行的Java框架和开发工具,能够提高开发效率,更好地组织和管理项目。

Spring框架:了解IoC(控制反转)和AOP(面向切面编程)的概念,学习Spring Boot简化开发流程。

Maven或Gradle:学会使用构建工具来管理项目的依赖和构建过程。

5. 单元测试和调试编写高质量的代码不仅需要良好的设计,还需要充分的测试和调试。

JUnit或TestNG:学习单元测试框架,编写测试用例,保证代码的可靠性。

调试技巧:熟练使用IDE提供的调试工具,快速定位和解决问题。

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

第一章2007年6月3日星期日授课教师:老刘学生:王洪峰第一节JDK的安装一、在安装前,先打开控制面板,点击添加删除程序,检查列表中是否已安装过JDK 如果已经安装过JDK的会有JRE与JDK两个程序在列表中出现,如下图一所示。

图一分别删除卸载这2个程序。

二、安装前先关闭杀毒软件,以免安装过程中有些程序被误判为病毒, 双击安装文件,如图二所示。

选择accept.点击Next.图二三、选择安装路径,NEXT以后.出现图三所示的界面,系统默认的的路径是C盘的跟目录。

四、点击change改变安装路径如图四。

最好安装在某一盘符的跟目录下图四五、选择OK进行程序安装,如图五。

图五六、安装过程结束,出现图六的界面,是否将IE做为默认浏览器。

图六七、安装完毕,如图七。

图七第二节配置环境变量JDK安装完毕后,开始构筑JA V A开发环境,配置环境变量。

右键点击我的电脑→→属性→→高级→→系统环境变量配置两个变量Path 和ClasspathPath 变量已经有设置了,点击编辑,需要添加JDK的bin目录。

点击编辑添加完成后,系统会在这个目录下找到JA V AC可执行程序来进行JA V A文件的编译,并生成.class文件Classpath 变量需要添加,点击添加,把一些经常用的路径以及跟目录加上去。

其中还包括lik文件夹下的dt和tools两个jar包。

当变量值有多个路径的时候用分号分隔;注意,最后一个路径后不要有分号。

另外,已经设置好了系统环境变量以后就不要再设置用户的环境变量了,以免他们设置相同的内容而发生冲突。

已经设置的最好删除。

配置好以后请重新运行命令提示符。

第三节编译并运行JA V A程序以验证环境变量设置正确一、打开命令提示符可以用几种不同的方法1 开始→→程序→→附件→→命令提示符;2 开始→→运行,如下图,打上cmd回车;3 使用快捷键WIN+R。

二、用一些常用DOS命令CD DIR等,将目录转换到存放JA V A文件所在的文件夹下,用JA V AC命令将JA V A文件编译,生成class文件。

然后再用JA V A命令来运行class文件。

注意文件名的大小写。

第二章2007年6月4日星期一授课教师:老刘学生:王洪峰第一节用记事本编写JA V A小程序首先建立一个文本文档,将名字改为Laoliu.java。

然后打开文件,编写如下代码public class Laoliu {public static void main(String[] args) {"听老刘的话,一定能掌握Java。

");}}编写完成后保存、编译、并运行。

打印出一段话:“听老刘的话,一定能掌握Java。

”在JA V A程序中,代码的单元叫做类,.JA V A文件叫源文件。

.Class文件叫类文件。

注意事项:1、文件应建立在classpath设置的目录中,改名的时候要注意显示扩展名。

文件名要和类名保持一致。

2、public class要小写,类名Laoliu的第一个开头字母最好要大写。

然后打上{大括号};3、程序的下一行是一个JA V A程序的入口函数——main方法。

一个方法同样得有{大括号}扩起来,它的格式是固定的,注意这里的String的开头字母S要大写。

4、第三行要注意System中的开头字母要大写,(””)中的内容就是程序的结果。

如果要输出中文不要使用中文的“”。

在每个语句结束后,记得加上分号。

第二节eclipse中文版的基本操作一、在eclipse下建立项目在导航器中点击右键→→项目→→JAVA→→JAVA项目→→下一步。

配置缺省值,在文件夹选项中分别写出源文件夹名src和输出文件夹名classes→→应用→→确定→→下一步→→完成。

二、在项目中创建java文件,编写程序,然后运行。

在src上点击右键→→新建→→类在名称中填写类名,并创建程序入口main方法,然后点击完成。

如果没有显示出行号可按照以下步骤执行。

窗口→→首选项→→JAVA→→编辑器→→显示行号→→确定。

在main方法中写上"听老刘的,一定能掌握Java。

");按快捷键Ctrl+S保存并生成class文件。

如果在程序中有错误,会以红色标记出来。

在大纲下显示出类名右键点击类名→→运行→→1 JAVA应用程序。

在控制台中会显示出运行结果使用eclipse时一些应该注意的地方:1、尽量不要把eclipse文件夹放在桌面上,由于桌面是中文目录,容易产生一些错误。

2、eclipse需要JDK1.4以上版本的支持,早期的版本在运行是会出错。

第三节面向对象的程序设计一、基本概念数据:可以在计算机中存储的信息称为数据。

变量:程序在计算机中数值可变的数据称为变量,变量包括变量名和变量值。

类:类是有共同特性事物的抽象集合。

对象:某一事物的具体实例。

类的结构:类包括数据成员(又称字段、域、属性),方法和构造方法。

类的功能:存储数据和实现某个操作。

二、分别用几个程序来实现类的功能1、存储数据public class Student{int age=18;int name;}可以用以下程序来测试:public class Studenttest{Student stu=new Student();;}在eclipse中编辑并运行,可得到18这个结果,可以证明类可以存储数据。

2、实现某个操作首先定义一个Cat类,这个类中只有一个方法。

public class Cat{public void zhualaoshu(){"猫抓到一只老鼠。

");}}然后在Cattest这个测试类中测试public class Cattest{Cat mimi=new Cat();mimi.zhualaoshu();}在eclipse中编辑并运行,可以看到打印出“猫抓到一只老鼠。

”实现了抓老鼠的操作,可以证明类可以实现某一操作。

3、既可以存储数据又可以实现一些功能首先定义一个Person这个类,在这个类中定义两个数据成员和吃饭这个方法。

public class Person{int age=22;int name;public void eat(){"eating");}}在另外一个Persontest这个类中来测试public class Persontest{Person whf=new Person();(whf.age);whf.eat();}在eclipse中编写以上两个类,运行结果如下图。

可证明一个类既可以存储数据又可以实现某一操作。

第四节包的概念和导入包一、JA V A语言中每个类都会生成一个类文件.class。

为了有效管理这些类文件,JA V A 提供了包的概念,一个包就相当于操作系统的文件夹,包中的类就相当于文件。

定义包:用关键字package创建一个包package+包名+分号package china;包也可以有类似文件夹的层次结构,用“.”来分隔。

package ;二、导入包:当想要使用一个包中的类时,应该使用包名加类名的形式,这种方法非常不方便。

为此可以使用import关键字来导入一个包中的类。

import ;三、在eclipse中创建包和导入包首先创建一个类:Xindongfang,它在编写以下代码:package ;public class Xindongfang{public int studentnum;public int teachernum;public void shouxuefei(){"我交了13300。

");}}在test包中创建Xindongfangtest这个类,用来测试。

编写代码如下:package test;import ;public class Xindongfangtest{public static void main(string[] args){Xindongfang yibo=new Xindongfang();yibo.studentnum=150;yibo.teachernum=22;;;yibo.jiaoxuefei();}}第三章2007年6月5日星期二授课教师:老刘学生:王洪峰第一节处理数据成员的两种方式和构造方法一、处理数据成员的两种方式1、int age; 只定义成员数据的类型2、int age=0; 定义的同时给它赋值二、测试其他类型数据成员的默认值测试程序入下public class Moren{byte b;short s;int i;long l;float f;double d;char c;boolean bool;}public class MorenTest{public static void main(String[] args){Moren m=new Moren();;;;;;;;}}三、构造方法构造方法是一个特殊的方法。

1、默认的构造方法:如果一个类没有构造方法,系统会默认一个与类名相同的方法,(例如:Xindongfang() )它的作用是创建一个对象。

当我们用以下命令创建一个对象的时候就使用的系统默认的构造方法:Xindongfang yibo=new Xindongfang();2、有参数的构造方法:他的作用是创建对象的同时为它的数据成员赋值。

例如:public Xindongfang(int a,int b){studentnum=a;teachernum=b;}当我们创建对象的时候就可以直接赋值给studentnum和teachernum。

Xindongfang yibo=new Xindongfang(140,33);注意:如果写了有参数的构造方法,系统就不提供默认的构造方法了Xindongfang yibo=new Xindongfang(); error.如果有多个构造方法时,其形式可以多样化。

这里要注意创建一个对象时,要与构造方法中的类型、顺序、个数都一致。

举一个实际例子:package ;public class Xindongfang{public int studentnum;public int teachernum;public Xindongfang(){//默认的构造方法}public Xindongfang(int a,int b){//有参数的构造方法studentnum=a;studengnum=b;}public void shouxuefei(){"我交了13300。

");}}第二节怎么样读程序写注释经常读一些程序可以提高阅读编码的速度,使自己对程序中的概念更加清晰,可以在理解的基础上为java代码写注释,有助于java的学习。

相关文档
最新文档