Java基础笔记田宝贝

javaEE是企业标准(面向Internet的应用程序):京东、淘宝….

javaME(移动设备、小型嵌入开发):手机上的软件

3、三步骤:

编写源程序(程序以.java结尾)

编译(使用javac指令编译源程序,编译后的文件以.class结尾)

运行(使用java指令运行编译后的文件)

4、使用Myeclipse开发java程序步骤:

1)创建项目

2)编写源代码

3)编译

4)运行

5、外层框架

Publicclass类名{

}

注意:类名和文件一致

6、内层框架

Publicstaticvoidmain(String[]args){

注意:方法名必须是main

主方法四要素:publicstaticvoidString[]args

7、输出指令

System.out.println(“女”);

System.out.println(“18’);

注意:System首字母大写,

Println和print区别:println输出后换行;print只输出不换行

(建议用Println)

8、\n和\t

(1)\n换行;

(2)\t制表位,4个字符作为一个单位

9、注释:

1)//单行注释以//开始到行末结束

2)/**

*

*/文本注释

3)\*……*\多行注释多行用于注释代码块

Javascriptjquerymysql前台

jspservlethibernetspringstruts2后台

orcale……数据库

第二章:变量、数据类型和运算符

1、变量:存储数据的一个基本单元。

变量名=值;price=1000;

3、数据类型2种:

(1)基本数据类型8种:

1)byte长度:-128~127(-2的7次方到2的7次方减1)

2)short-2的15次方到2的15次方减1

3)int-2的31次方到2的31次方减1

4)long-2的63次方到2的63次方减199l

5)foat99f

6)double双精度doubleprice=32.5;

7)boolean真(true)假(false)boleanisBrand=true

8)char一个字符,两个字节范围0~65535参照ASCII字符编码表charsex=’男’;charnum=65;(输出A)

(2)引用数据类型:

1)String字符串例:Stringname=”张三”;

2)类

3)接口

4)数组

4、变量命名规范:

(1)英文单词或拼音

(2)首字母:以字母、下划线、$开头;

(3)当多个单词组成的变量名:以驼峰式命名法取名,例:studentName

(4)变量名要起到见名知义的效果

5、赋值运算符:=把右边的值赋给左边

6、算术运算符:+-*/%(取余)

7、num++;//num=num+1;num+=1;

num--;//num=num-1;num-=1;

System.out.println(--num);//先计算再输出,(++num同理)

System.out.println(num--);//先输出再计算,(num++同理)

8、doubleavg=(90+99)/3.0发生自动类型转换

自动类型转换的条件;

1)类型兼容:(int和double都是数值型)

2)目标类型大于源类型

9、强制类型转换:(数据类型)变量名(数据类型)值

例:doublenum=5.5;intresult=(int)num;

或者intresult=(int)5.5;

第三章:运算符和条件结构

1、保存真或假,使用boolean变量

boolean有两个值:true真、false假

2、从控制台接受输入信息,通过创建扫描器

Scannerinput=newScanner(System.in);

Intage=input.memtInt();//接受int类型

Stringname=input.next();//接受String类型

3、关系运算符

>、<、>=、<=、==、!=

4、==和=的区别

==比较,=赋值

5、条件判断if

if(表达式){

语句

}//当表达式为true真时执行语句

6、运算符分为单目、双目、三目

单目:!++--

双目:=+-*/%|||&&&==

三目:://intsign=java>901:0;三目表达式

7、逻辑运算符

|、&、||、&&、!

优先级顺序:()>!>算术运算符>&&>||>赋值运算符=

多使用()控制优先级

8、if—else

if(表达式){

语句1;

}else{

语句2;

当表达式为真,执行语句1;当表达式为假,执行语句2

9、多重if—elseif—else

if(条件1){

}elseif(条件2){

}elseif(条件3){

语句3;

语句4;

10、switch(表达式){

case值1:

Break;

case值2:

case值3:

default:

jdk版本在1.7或者1.7以上,表达式是值可以是String类型;值不能相同;

break的作用是跳出switch结构。

11、多重if结构和switch结构的使用场合:

多重if判断区间值,switch判断等值

第四章:循环结构(一)

1、while循环:

语法:while(循环条件){

循环操作;

特点:先判断,在执行。

2、==:用于数字比较,比较的是地址;

.equals:用于字符串比较,比较的是字符;

(如:!anwer.equals(“y”))

3、dowhile

语法:do{

}while(循环条件);

特点:先执行,再判断

4、while和dowhile的区别:

除了语法上不同外;

当条件不满足时:while一次都不执行;而dowhile至少会执行一次

5、调试方法:设置断点、单步执行、观察变量

6、调试步骤:

1)猜测出错位置,设置断点

2)单步运行

3)观察变量的值

4)发现问题

5)修正代码,重新运行

6)解决问题

第五章:循环结构(二)

1、for语法

for(1参数初始化;2条件;3参数叠加){

//4循环操作

特点:先判断,再执行

顺序:1243

2、break:改变程序的控制流,多用于循环中;结合条件结构和分支结构,跳出整个循环

Continue:只能用在循环中;跳过循环体剩下的语句去执行下一个循环,结束当前的循环,进行下一步循环

3、while、do-while、for的区别:

(1)while语法:while(循环条件){循环操作}

特点:先判断再执行

(2)do-while:do{循环操作}while(循环条件);

特点:先操作再执行

(3)for语法:for(参数初始化;条件;参数改变){循环体}

使用场景:确定循环次数

4、使用循环的步骤:

(1)确定循环条件和循环体

(2)套用语法

(3)检查能否正常退出

第六章:数组

1、数组:是一个变量,存储相同数据类型的一组数据。

2、数据优点:减少代码量,容易查找

3、数据的步骤:

(2)开辟空间:例:scores=newint[5];

(3)赋值:例:scores[0]=100;

(4)使用:例:scores[0]=scores[0]+20;//最终的结果是:scores[0]=120;

(1)Intnum[]=new[4]{1,2,3,4};

(2)int[]num=newint[4];

(3)intnum[]={1,2,3,4}

5、引用数组元素的方式:

数据名称[下标];

例:num[0];

6、值传递和引用传递的区别:

值传递:不同的变量会分配不同的存储空间;不同的变量会分配不同的存储空间。

引用传递:赋值是把原对象的引用传递给另一个引用;两个引用指向同一块内存空间。

7、二维数组:

语法:数据类型[][]数组名=new数据类型[一维数组的长度][二维数组的最大长度];

数据类型数组名[][]=new数据类型[一维数组的长度][二维数组的最大长度];

例:intscore[][]=newint[5][10];//int[][]score=newint[5][10]

结论:二维数组实际上是一个一维数组,它的每一个元素又是一个一维数组

8、赋值方式:scores={{1,5,8,9,10},{123,120}};

第七章:类和对象

1、对象的特征→指:类的属性(每个对象的每个属性都有特定的值)

对象的操作→指:类的方法

2、封装

对象同时具有属性和方法两项特性。

对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相成,不能分割。

3、类和对象的区别:

类:是抽象的概念,仅仅是一个模子,确定了对象的属性和方法;

对象:能够看得见摸得着的实物,具有静态和动态特性。

4、定义类的步骤:

(1)定义类名

(2)定义类的属性:访问修饰符属性类型属性名称=默认值;

(3)定义类的方法:访问修饰符返回值类型方法名称(){

方法体;

5、成员变量和局部变量:

成员变量:上级是类,作用域是整个类中

局部变量:上级是方法,作用域是当前的方法

6、类名命名规则:

(1)不能使用Java的关键字

(2)首字母可以是字母,也可以是_或$

(3)不能包含空格和标点符号

7、创建对象:关键字:new

类名对象名=new类名();

例:YuntuSchoolBeijing=newYuntuSchool();

8、使用对象:关键符号:.

对象名.属性=值;例:beijing.schoolName=”云图智联北京中心”;

对象名.方法;例:beijing.showInfo();

9、面向对象的优点:

(1)便于程序模拟现实世界中的实体;

(3)可重用

可以通过类的模板,创建多个类的对象。

10、类是引用数据类型:

在传值时,对象2=对象1传的是地址,一个改变,另一个也变;

对象2.name=对象1.name;传的是值,相互独立。

第八章:类的方法(一)

1、类的方法语法:

访问修饰符返回值类型方法名(){

方法主体;

2、方法名的规范:

1.必须以字母、“_”或“$”开头

2.可以有数字,但不能以数字开头。

3.如果方法名是多个单词组成,第一个单词的首字母小写,其后单词首字母单词大写。

4.方法名一般都采用动词。

3、方法的返回值

1.有返回值:必须告知返回值的数据类型,并且返回相应的值。

例:publicStringgetName(){

return"张三";

2.无返回值:void

例:publicvoidshowInfo(){

4、调用方法:

1.不同类中:对象名.方法名();

2.同类中:方法名();

方法之间可以相互调用

6、包的命名规范:

(1)包名由小写字母组成,不能以远点开头或结尾

(2)自己设定的包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名javagroup.net

(3)自己设定的包名部分依据不同机构各自内部的规范不同而不同

7、包的命名方式:package

公司的网址倒过来写,后加上项目名称,再加上所属的文件夹名称。

com.zhaopin.ts.entity

com.zhaopin.ts.servlet

com.zhaopin.ts.dao

com.zhaopin.ts.dao.imp1

com.zhaopin.ts.biz

com.zhaopin.ts.biz.imp1

8、doc注释:多用于注释类的信息

/**开始

*/结束

第九章:类的方法(二)

1、带参的语法:

访问修饰符返回值类型方法名称(参数列表){

例:publicStringgetFuirt(Stringfuirt){

Stringzhi=fuirt+m+"汁";

returnzhi;

2、调用带参方法:

同类中,非静态方法,方法名(参数列表);

不同类中,对象.方法名(参数列表);

3、带参方法的参数需要注意:

1.形参的数据类型和实参的数据类型一致。

2.方法形参的数量和调用方法实参的数量要一致。

第十章:字符串

(1)Strings=”您好”;

(2)Strings=newString(你好);

2、字符串是长度:

字符串.length();

3、equals比较的是值,一般用于字符串的比较;

==比较的是地址,一般用于数字的比较。

4、字符串的方法比较:

(1)equlasIgnoreCase()比较时忽略大小写

例:name.equlasIgnoreCase()

(2)toLoerCase()转换成小写

例:name.toLoerCase()

(3)toUpperCase()转换成大写

例:name.toUpperCase()

5、\叫转义符

6、拼接字符串:

用”+”或”concat()”方法,当原字符串是有效字符串时,在其后拼接新的字符串时,会创建副本。

例如:Stringstr=”你好”;str=str+”北京”;

Stringstr=newString(“你好”);str.concat(“北京”);

特点:使用”+”和”concat()”方法,会造成内存浪费,性能比较差,线程安全。

7、indexOf(参数);获取字符或字符串的下标;

(1)indexOf(intch)

例如:str.indexOf(’你’);

(2)indexOf(Strings);

例如:str.indexOf(“.java”);

8、lastIndexOf(参数);获取最后一个字符或字符串的下标

(1)lastIndexOf(intch);

例如:lastIndexOf(’你’);

(2)lastIndexOf(intch);

例如:lastIndexOf(“.java”);

9、subString(参数);截取字符串

(1)subString(intindex);

下标从0开始,从index开始截取到最后结束。

(2)subString(intbeginIndex,intendIndex);

下标从0开始,从beginIdex开始截取,包括beginIdex位置,到endIdex结束,不包括endIndex位置。

10、trim()方法:去掉字符串前后空格。

11、split()方法:分割字符串,返回数组

例如:Stringst="长亭外-古道边-芳草碧连天-天外天-人外人";

String[]wor=st.split("-");

for(inti=0;i

System.out.println(wor[i]);

12、StringBuffer类:用于频繁拼接字符串时使用。

例如:StringBuffersb=newStringBuffer(“你”);

Sb.append(“好吗?”);

Sb.insert(1.”们”);

Stringword=sb.toString();

System.out.println(word);//你们好吗?

特点:在自身上追加字符串,不会产生副本,所以节省内存,性能高,线程安全。

13、StringBuilder类:用于频繁拼接字符串时使用。在自身上追加字符串,不会产生副本,所以节省内存,性能高,线程不安全。

14、String、StringBuffer、StringBuilder三者间的区别:

1)原理:

String频繁拼接时产生大量对象(副本),

StringBuffer和StringBuilder都是在当前对象上操作,所以不会产生大量对象(副本);

2)性能:

String

3)线程:

String和StringBuffer安全,StringBuilder非安全。

15、小结:

if(操作的数据较少){

String

If(多线程){

StringBuffer

StringBuilder

第十一章:抽象和封装

1、面向对象设计和开发程序的好处:

(1)交流更加流畅

(2)提高设计和开发效率

2、从现实中抽象出类分三步:

(1)找出它的种类————(类名)

(2)找出它的属性————(字段的名称)

(3)找出它的行为————(方法名)

3、抽象的原则:

(1)根据面向对象的思想抽象出类。

4、类图的好处:

(1)直观

(2)容易理解

5、构造方法:

(1)系统默认的无參构造:

例如:publicDog(){}

注意:当程序写了自定义构造方法时,系统自带的无參构造将消失。

(2)自定义的无參和有參构造:

a.自定义无參构造:

例如:publicDog(){

this.name=”大黄”;

this.love=100;

b.自定义的有參构造:

例如:publicDog(Stringname,intlove){

特点:a.访问修饰符是public

b.无返回值

c.构造函数方法名和类名一致

语法:

访问修饰符函数名称([参数列表]){

[方法体;]

}//[]代表可以省略(不写)

5、this的含义:当前对象的引用。

this的使用:

this.属性

this.方法

this()构造函数:

例如:this();调用了无參构造

this.(参数1[参数列表]);调用了有參构造

6、static静态的,可以修饰属性、方法、代码块。

被static修饰过的属性、方法的调用方法:

类名.属性

类名.方法

被修饰过的代码块:类加载时,就加载代码块。

注意:方法里的变量不能被static修饰。

7、Final最终的,可修饰属性,被修饰后叫常量。常量的是不可以被修改的。

常量的命名方式全部大写。

8、在开发中,一般一个完整的实体类包括:

(1)私有化的属性

(2)创建gettersetter方法[有參/无參]

(3)给gettersetter方法添加控制语句

(4)创建[有參/无参]构造方法

第十二章:继承

1、使用继承:

1)方便修改代码

2)减少代码量

2、super继承object类:

super访问父类的无参构造;super指的是object的无参构造。

例:子类调用父类:super.属性/super.方法

注意:子类不能继承父类私有属性;得用set、get方法来调用;

super只能写在代码块的第一句;super只能调用非私有的方法;

super只能出现在子类的方法和构造方法中。

3、不能被继承的父类成员:

private成员、子类与父类不在同包,使用默认访问权限成员,构造方法。

THE END
1.Java:主要特点应用领域架构工具未来Java是一种广泛使用的编程语言和计算平台,由Sun Microsystems(现为Oracle公司)于1995年首次发布。Java的设计理念是“编写一次,处处运行”(Write Once, Run Anywhere),使得Java程序可以在任何安装有Java虚拟机(JVM)的设备上运行,具有高度的跨平台性。以下是有关Java的深入介绍,包括其特点、应用领域、相关技术框架等。 https://blog.csdn.net/Kemo_/article/details/144429671
2.设计模式概述北风飕飕的技术博客设计模式是软件开发中一类被广泛使用的解决方案,用于应对常见的编程问题。在 Java 编程中,设计模式帮助开发者构建高效、可扩展、易于维护的系统。本文将介绍几种常见的设计模式,并通过示例代码帮助大家理解如何在实际项目中使用这些模式。 1. 设计模式概述 https://blog.51cto.com/u_12795311/12750575
3.《Java:持续闪耀的编程之星》腾讯云开发者社区在当今的编程世界中,Java无疑是一颗耀眼的明星。它作为一种广泛使用的编程语言,一直处于热点之中,吸引着众多开发者的关注。 Java 的强大之处在于其高度的可移植性。无论是在桌面应用、服务器端开发还是移动应用领域,Java 都能展现出其卓越的性能。这使得开发者能够轻松地在不同的平台上部署他们的应用程序。 https://cloud.tencent.com/developer/article/2475023
4.备战金九银十,腾讯T4梳理2020年最全999道Java岗必备面试题答案23、类型通配符? 24、类型擦除 Java异常面试题 1、Java中异常分为哪两种? 2、异常的处理机制有几种? 3、如何自定义一个异常 4、try catch fifinally, try里有return: finally还执行么? 5、Exepti on与Error包结构 6、Thow与thorws区别 7、Error与Excepti on区别? https://maimai.cn/article/detail?fid=1676715301&efid=le0vn010vvt6jXpw7rrt0A
5.Java必备基础知识点(超全)JSE: 是SUN公司针对桌面开发和低端商务计算方案开发的版本。为笔记本电脑、PC机设计的; JEE: 是一种利用JAVA 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。 为企业级的、服务器端的高端应用而设计的; 5、 描述Java技术的主要特性 http://www.360doc.com/content/17/0511/17/40605730_653044218.shtml
6.H5手机App开发入门:技术篇如果已经掌握了 Web 技术,这个技术栈就主要学习容器提供的 API Bridge,网页通过它们去调用底层硬件的 API。 (3)跨平台 App 技术栈(cross-platform technology stack) 跨平台技术栈指的是使用一种技术,同时支持多个手机平台。它与混合技术栈的区别是,不使用 Web 技术,即它的页面不是 HTML5 页面,而是使用自己的语http://www.ruanyifeng.com/blog/2019/12/mobile-app-technology-stack.html
7.基于大数据的智能医院建设项目二期附件(3)技术商务部分 ①标的说明一览表 ②技术和服务要求响应表 ③商务条件响应表 ④投标人提交的其他资料(若有) ⑤招标文件规定作为投标文件组成部分的其他内容(若有) 10.3投标文件的语言 (1)除招标文件另有规定外,投标文件应使用中文文本,若有不同文本,以中文文本为准。 (2)投标文件提供的全部资料中,若原件属于https://zfcg.czt.fujian.gov.cn/upload/document/20210909/8617c11d53c640fcb9bcfb1c5e66cf37.html
8.Java开发web的几种开发模式(4)Java计算,基于Java技术的企业Internet/Intranet信息系统以及其他应用系统。 四、结语 Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮,显示了“鹏程万里”的美好前景。作为一种与底层硬件无关的、“编写一次,到处运行”的高级语言和计算平台,Java天生就具有将网络上的各个平台连成一体的能力https://www.yjbys.com/edu/jisuanjidengji/300226.html
9.IT技术交流分享平台JAVA+Vue+SpringBoot+MySQL码农集市专业分享根据您提供的项目信息,这是一个基于Java、Vue.js和SpringBoot的IT技术交流分享平台。该平台分为管理后台和用户网页端,可以给管理员和普通用户提供服务。平台包含以下模块: 1. 笔记类型模块:用于创建和管理不同类型的笔记。 2. 笔记档案模块:用于存储和管理用户的笔记。 3. 笔记分享模块:用于分享和管理笔记的分享https://www.coder100.com/index/index/content/id/4310056
10.达内教育IT培训官网IT培训班选达内IT培训机构专注IT培训22年,开设Java、云计算、网络安全、人工智能、物联网、WEB前端、软件测试、AI大模型、鸿蒙、智能办公、商业视效、商业变现、UI、新媒体电商等IT培训课程及IT培训证书相关课程,关注官网了解课程详解及优惠(www.tedu.cn)https://www.tedu.cn/
11.搜狗搜索引擎搜狗搜索是全球第三代互动式搜索引擎,支持微信公众号和文章搜索、知乎搜索、英文搜索及翻译等,通过自主研发的人工智能算法为用户提供专业、精准、便捷的搜索服务。https://www.sogou.com/
12.MES可重构平台技术基于MAS技术框架,可以MES系统中建立多种Agent类型,如管理Agent、加工任务Agent、资源Agent、监控Agent等,每个Agent可以对应一个具有分布式自主决策能力的业务功能模块,它们在分布式环境下实现信息共享和互操作,协同实现MES车间生产过程的管控功能。 图3所示是基于MAS的可重构MES体系结构。基于多智能体技术的MES系统具有良好https://www.clii.com.cn/lhrh/hyxx/202203/t20220330_3953477.html
13.23Java图形化编程AWT(Abstract Window Toolkit)是抽象窗口工具包,AWT是Java 程序提供的建立图形用户界面最基础的工具集。AWT支持图形用户界面编程的功能包括:用户界面组件(控件)、事件处理模型、图形图像处理(形状和颜色)、字体、布局管理器和本地平台的剪贴板来进行剪切和粘贴等。AWT是Applet和Swing技术的基础。 https://www.jianshu.com/p/9c6e86672618
14.Java核心技术(第12版)开发基础+高级特性(套装共2册)原版PDF电子书书籍类型:国产软件 书籍授权:免费软件 书籍类别:java电子书 应用平台:PDF 更新时间:2023-12-26 购买链接:京东异步社区 网友评分: 360通过腾讯通过金山通过 41.6MB 详情介绍 Java核心技术(第12版)由获Jolt大奖并拥有20多年教学与研究经验的资深Java技术专家撰写,针对Java 17进行了全面更新。 https://www.jb51.net/books/919300.html