java基础知识笔记.docx

上传人:b****2 文档编号:2223161 上传时间:2023-05-02 格式:DOCX 页数:61 大小:34.97KB
下载 相关 举报
java基础知识笔记.docx_第1页
第1页 / 共61页
java基础知识笔记.docx_第2页
第2页 / 共61页
java基础知识笔记.docx_第3页
第3页 / 共61页
java基础知识笔记.docx_第4页
第4页 / 共61页
java基础知识笔记.docx_第5页
第5页 / 共61页
java基础知识笔记.docx_第6页
第6页 / 共61页
java基础知识笔记.docx_第7页
第7页 / 共61页
java基础知识笔记.docx_第8页
第8页 / 共61页
java基础知识笔记.docx_第9页
第9页 / 共61页
java基础知识笔记.docx_第10页
第10页 / 共61页
java基础知识笔记.docx_第11页
第11页 / 共61页
java基础知识笔记.docx_第12页
第12页 / 共61页
java基础知识笔记.docx_第13页
第13页 / 共61页
java基础知识笔记.docx_第14页
第14页 / 共61页
java基础知识笔记.docx_第15页
第15页 / 共61页
java基础知识笔记.docx_第16页
第16页 / 共61页
java基础知识笔记.docx_第17页
第17页 / 共61页
java基础知识笔记.docx_第18页
第18页 / 共61页
java基础知识笔记.docx_第19页
第19页 / 共61页
java基础知识笔记.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java基础知识笔记.docx

《java基础知识笔记.docx》由会员分享,可在线阅读,更多相关《java基础知识笔记.docx(61页珍藏版)》请在冰点文库上搜索。

java基础知识笔记.docx

java基础知识笔记

关键字:

1.关键字概述:

被java语言赋予特定含义的单词

2.关键字特点:

组成关键字的字母全部小写

3.注意事项:

注意事项:

goto、const作为保留字,目前不使用

标识符:

1.概述:

就是给类、接口、方法变量等起名字时使用的字符序列

2.组成规则:

2.1:

英文大小写字母

2.2:

数字和字符

2.3:

$和_

3.注意事项

3.1:

不能以数字开头

3.2:

不能是java里面的关键字

3.3:

区分大小写

4.常见的命名规则:

4.1包:

全部小写

举例:

com

4.2类或者接口

一个单词:

首字母大写Demo,Student

多个单词:

每个单词的首字母大写HelloWorld

4.3常量:

全部大写

一个单词:

大写PI

多个单词:

大写,单词之间用_隔开

注释:

概述:

用于解释说明程序的文字。

分类格式:

1.单行注释:

//注释的文字

2.多行注释:

/*注释的文字*/

3.文档注释:

/**注释的文字*/

优点:

将我们的思想通过注释体现出来,正在用代码体现

常量:

1.概述:

在程序执行的过程中,其值不发生改变的量

2.分类:

2.1字面值常量

2.2自定义常量

3.字面值常量

3.1字符串常量:

”hello”

3.2整数常量:

12,13,23

3.3小数常量:

12.222

3.4字符常量:

”a”

3.5布尔常量:

true,false

3.6空常量:

null

4.自定义常量:

5.在java中针对整数常量提供了四种表现形式:

5.1二进制:

由0和1组成,0b开头

5.2八进制:

由0,1,……7组成,

5.3十进制:

由0^9组成

5.4十六进制:

由0^9,A-F组成,0x开头

变量:

1.概述:

在程序执行过程中,其值在某个范围内可以发生改变的值

2.变量的定义格式:

2.1数据类型变量名=初始化值;

2.2变量名=初始化值;(当本次的数据类型和上面的一致,数据类型可以省略)

数据类型:

1.概述:

java是一种强类型的语言,针对每种数据都提供对应的数据类型

2.分类:

2.1基本数据类型:

4类8种

2.2引用数据类型:

类,接口,数组

3.基本数据类型:

3.1整型:

占用字节数

Byte1

Short2

Int4(默认)

Long8

3.2浮点型占用字节数

Float4

Double8(默认)

3.3字符型占用字节数

Char2

3.4布尔型占用字节数

boolEAN1

类型转换(掌握):

1.boolEAN类型不参与转换

2.默认转换

2.1从小到大

2.2byte,short,char——int——long——float——double

注意:

byte,short,char不能相互转换

3.强制转换

3.1从大到小

3.2可能会有精度的丢失,一般不建议使用

3.3格式:

目标数据类型变量名=(目标数据类型){被转换的数据类型}

运算符(掌握):

1.算数运算符:

+,-,*,/(常用),++,--,/,%

1.1++:

自加(前):

a=2;b=++a;结果:

a=3,b=3

(后)a=2;b=++;结果:

a=3,b=2

1.2--:

自减(前):

a=2;b=-a;结果:

a=1;b=1;

(后):

a=2;b=a-;结果:

a=1;b=2

2.关系运算符:

==,!

=,<,>,instanceof:

检查是否相等

注意事项:

2.1结果都是boolEAN型

3逻辑运算符:

&:

与false&ture结果:

false

|:

与false|true结果:

true

^:

异或true^false结果:

true

&&(短路):

false&&true结果:

true

||(短路):

false||true结果:

true

注意:

3.1在java中3

3.“&”“&&”的区别

3.1单&时,左边无论真假,右边都进行运算

3.2双&&时,如果左边为真,右边参与运算,如果为假,右边不参与运算

3.3“|””||”;如果为双或,左边为真,右边不参与运算

3.4“|””^”的区别:

当左右都为true,结果为false

4.位运算符:

直接二进制进行运算

运算符运算例子注意事项

<<左移3<<2=12:

3*2*2空位补0,被移除的最高位丢弃

>>右移3>>1=1:

3/2=1被移除的二进制最高位是0,右移后,空位补0,最高位是1,就补1

>>>无符号右移3>>>1=1:

3/2=1被移位的二进制最高位无论是0还是1,空位都用0来补

&与运算6&3=2任何二进制位和0进行&运算,结果都是0,和1进行&运算结果是原值

|或运算6|3=7任何二进制位和0进行|运算,运算结果是原值,和1进行运算,结果为1

^异或6^3=5任何二进制位和0进行^运算,相同为0,不相同为1

~反码~6=-7

00000110原码

11111001反码

11111001补码转换成反码

11111000反码

10000111原码-7

思考:

请用最有效的方法写出计算2乘以8的结果

三目运算符

(关系表达式)?

表达式1;表达式2;

结果条件为true,运算后的结果是表达式1

反之表达式2

举例:

获取表达式中最大的值

Intx=3,y=4,z;

Z=(x>y)?

x:

y;

语句(掌握):

流程控制语句:

在一个程序执行过程中,各条语句的执行顺序对程序的结果又直接影响,其实是程序的流程对运行结果有直接影响,必须掌握每条语句的执行流程

1.顺序结构

概述:

是程序中最基本的流程控制,并没有特定的语句结构,按照代码的先后顺序依次执行。

开始---->语句A---->语句B---->结束

2.选择结构

2.1概述:

也被成为分支结构

2.2特点:

有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码

2.3if语句

2.3.1if语句表现的三种格式

1)If(关系表达式)

/*语句体:

正常的逻辑代码*/

语句体

2)if(关系表达式){

语句体1

}else{

语句体2

}

执行的流程:

1.判断关系表达式,看其结果是true还是false

2.如果是true执行语句体

3.如果是false不执行语句体

3)if(关系表达式){

语句体1

}elseif(关系表达式){

语句体2

}

……

Else{

语句体3

}

注意事项:

1.关系表达式无论是简单还是复杂,其结果都是boolean

2.If语句控制的语句如果是一条语句,大括号可以省略(一般不建议)

3.一般来说有左大括号就没有分号,有分号就没有大括号。

2.4switch语句

1.格式:

switch(表达式){//表达式值:

byte/short/int/char

//jkd5以后加入枚举,1.7以后加入String

case值:

//和表达式进行比较的值

语句体1

break;//结束switch语句,穿透

case2:

//语句体2

break;

default:

//上面所有的语句都不匹配时,执行这行语句

//语句体n+1

break;

}

2.流程:

2.1计算表达式的值

2.2和case依次进行比较,一旦有对应的值,就会执行相应的语句

2.3如果和所有的case都不匹配,执行default这行语句

3.注意事项:

1.case后面只能是常量,不能是变量,多个case后出现的值不能相同

2.default可以省略(一般不建议),可以放在switch语句的任意位置

3.break也可以省略

 

3.循环结构(遍历)

循环语句的组成:

1.初始化语句:

一条或者多条语句,这些语句完成一些初始化的操作

2.判断语句:

是一个boolean类型的表达式,这个表达式能解决是否执行循环体

3.循环体语句

逻辑代码,多次要执行的语句

4.控制条件语句

在一次循环体结束后,下一次循环判断条件执行之前通过控制条件语句中的变量,使循环在合适的时候结束

3.1for循环

格式:

For(初始化语句;判断条件语句;控制条件语句){

循环体语句}

执行流程:

1.执行初始化语句

2.执行判断语句,看其结果是true还是false

True:

继续执行

False:

循环结束

3.执行循环体语句

4.执行控制条件语句

5.回到第二步

注意事项:

1.判断条件语句是一个boolean类型

练习:

求1~100之和

求1~100之间偶数和

3.2while循环

格式:

While(判断条件语句){

循环体语句

}

扩展格式:

初始化语句:

While(判断条件语句){

循环体语句;

控制条件语句;

}

练习:

输出10次“helloworld”

For和while区别:

1.For针对一个范围判断进行操作

2.While适合判断次数不明确的操作

3.3do…while循环语句

1.格式:

do{

循环体语句

}while(判断条件语句):

扩展版:

初始化语句:

Do{循环体语句;

控制条件语句;

}while(判断条件语句)

循环结构(区别和注意事项)

1.三种循环其实都可以完成同样的功能,也可以等价交换

区别:

1.do…while循环至少执行一次循环体

2.for和while循环当判断条件成立时才执行循环体语句

注意事项:

1.写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环

2.For死循环:

for(;;){

循环体语句;

}

While死循环:

while(true){循环体语句;

}

跳转控制语句:

Break:

中断

Continue:

继续

Return:

返回

Break的使用场景:

1.在选择结构switch语句中

2.循环语句中

3.离开使用场景没有存在的意义

Break的作用:

1.跳出单层循环

2.可以跳出多层循环

2.1带标签的跳出

2.2标签名名要符合Java命名规则

Continue的使用场景:

1.循环语句中

2.离开使用场景没有存在的意义

Continue的作用:

1.单层循环对比break的区别

1.1break退出当前循环

1.2退出本次循环

Return:

关键字,功能:

结束一个方法,退出一个方法

方法:

概述:

完成特定功能的代码块,Java里面的函数指的是方法

格式:

修饰符返回值类型方法名(参数的类型参数名1,参数的类型参数名2……)

函数体:

Return返回值:

修饰符:

publicprivateprotected

返回值类型:

用于限定返回值的数据类型

方法名:

一个名称,为了便于开发者调用

参数名:

是一个变量,接受调用者传进来的参数

函数体:

完成功能的代码

Return:

结束方法以及返回方法指定类型的值

方法注意事项:

1.方法不调用不执行

2.方法与方法是平级关系,不能嵌套定义

3.方法定义时参数之间用用逗号隔开

4.方法在调用时不能传递数据类型

5.如果方法有明确的返回值,一定要有带return带回一个值

练习:

键盘录入一个数据n(1<=n<=9)输出对应的nn乘法表

键盘录入:

创建一个对象newScanner()

要求:

输出对应的nn乘法表

两个明确:

1.确定返回值的类型:

void

2.明确参数列表:

intn

publicclasstest1{

publicstaticvoidmain(String[]args){

/**

*键盘录入一个数据n(1<=n<=9)输出对应的nn乘法表

*需求:

输出对应的nn乘法表

两个明确:

1.确定返回值的类型:

void

2.明确参数列表:

intn

*/

//创建键盘录入对象

Scannersc=newScanner(System.in);

//提示用户输入对应的值

System.out.println("请输入n的值:

(1~9)");

//获取n

intn=sc.nextInt();

//封装方法,调用

printNN(n);

}

publicstaticvoidprintNN(intn){

for(intx=1;x<=n;x++){

for(inty=1;y<=x;y++){

System.out.print(y+"*"+x+"="+y*x+"\t");

}

System.out.println();

}

}

}

数组:

概述:

可以存储多个变量的容器,里面的变量的数据类型要一致

存储的数据类型:

基本数据类型,引用数据类型

格式:

1.数据类型[]数组名;

   2.数据类型数组名[];

   

   数组的初始化过程:

   1.动态初始化,初始化时只指定数组的长度,由系统为数组分配初始值

   格式:

数组类型[]数组名=new数据类型[数组长度]

   Int[]arr=newint[3];

简介版:

int[]arr={12,22,33,44};

   

   2.静态初始化,初始化时指定每个元素的初始值,由系统决定数组的长度

   

   

   练习:

   获取数组中的最大值

   Int[]arr={11,22,445,576,7878};

/**

*获取数组中的最大值

*

*@authorAdministrator分析:

1.定义一个数组,并对数组中的元素进行静态初始化

*2.从数组中找任意一个元素作为参照物(一般取第一个),默认为他就是最大值3.遍历其他元素,一次和参照物进行比较,如果大就留下来,小就离开

*4.最后参照物里面保存的就是最大值

*/

publicclasstest1{

publicstaticvoidmain(String[]args){

//定义一个数组

int[]arr={34,98,10,25,67};

//获取数组中的最大值

intmax=getMax(arr);

//控制台打印最大值

System.out.println("Max:

"+max);

//获取数组中的最小值

intmin=getMin(arr);

System.out.println("min:

"+min);

}

/**

*获取最小值的方法

*

*@paramarr

*@return

*/

publicstaticintgetMin(int[]arr){

//从数组中找任意一个元素作为参照物

intmin=arr[0];

//遍历数组

for(intx=1;x

//一次进行比较

if(arr[x]

min=arr[x];

}

}

returnmin;

}

/**

*获取最大值的方法

*

*@paramarr

*@return

*/

publicstaticintgetMax(int[]arr){

//从数组中找任意一个元素作为参照物

intmax=arr[0];

//遍历数组

for(intx=1;x

//一次进行比较

if(arr[x]>max){

max=arr[x];

}

}

returnmax;

}

}

   

面向对象:

   概述:

基于面向过程的编程思想

   特点:

1.是一种更符合思想习惯的一种思想

   2.可以将复杂的事情简单化

   3.可以将我从原来的执行者变成指挥者

   面向对象开发:

   不断的去创建对象,使用对象,指挥对象做事情

   面向对象设计:

   在管理和维护对象之间的关系

   面向对象的特征:

   封装:

   多态:

继承:

   抽象:

   

   类与对象的关系:

   属性:

该事物的描述信息

   行为:

该事物能够做什么

   类:

   是一组相关属性和行为的集合

   对象:

   该事物的具体表现

   举例:

   类:

学生

   对象:

班长,学委

   Java中class描述事物

   成员变量就是事物的属性

   成员方法就是事物的行为

   

   成员变量和局部变量的区别:

   1.在类中的位置不同

   成员变量类中方法外

   局部变量方法内或者方法声明上

   2.在内存的位置不同

   成员变量堆内存

   局部变量栈内存

   3.生命周期不同

   成员变量随着对象的存在而存在,对象的消失而消失

   局部变量随着方法的调用而存在,方法的调用完毕而消失

   4.初始化值不同

   成员变量有默认的初始化值

   局部变量没有默认的初始化值,必须先定义,赋值,才能使用

   

   

封装:

   概述:

指隐藏对象的属性和实现细节,仅对外提供公共的访问方式

   好处:

   1.实现细节的隐藏

   2.提高代码的复用性

   3.提高安全性

   原则:

   1.将不需要对外提供的内容都隐藏起来

   2.把属性隐藏,提供公共的方法对其访问

publicclasstest1{

//定义人的姓名

privateStringName;

//定义人的年龄

privateintAge;

publicStringgetName(){

returnName;

}

publicvoidsetName(Stringname){

Name=name;

}

publicintgetAge(){

returnAge;

}

publicvoidsetAge(intage){

Age=age;

}

   }

   

   关键字private

   1.是一个权限修饰符

   2.可以修饰成员(成员变量和成员方法)

   3.被private修饰的成员只能在本类中才能访问

   常见的应用:

   1.将成员变量用private修饰

   2.提供对应的getXXx()/setXxx()方法

   

   关键字this

   代表所在类的一个对象引用

   注意:

   方法被那个对象调用,this就代表那个对象

   何时使用this

   局部变量隐藏成员变量

   

   

构造方法

   概述:

给对象的数据进行初始化;

作用:

数据传递

   格式:

   1.方法名和类名相同

   2.没有返回值类型,连Void都没有

   3.没有具体的返回值

   注意事项:

   1.如果你不提供构造方法,系统会默认给出

   2.如果你提供构造方法,系统不会给出

   3.构造方法可以重载

   重载:

   方法名相同,参数个数/类型不同

   

练习:

在Java文件中写两个类,一个是基本类,一个测试类

注意:

文件的名称和测试类一致

   

   publicclassStudent{

//姓名

StringName;

//年龄

intAge;

//地址

Stringaddress;

//学习

publicvoidstudy(){

System.out.println("学生爱学习");

}

//吃饭

publicvoideat(){

System.out.println("学习累了,要吃饭");

}

//睡觉

publicvoidsleep(){

System.out.println("学习累了,要睡觉觉");

}

}

publicclassStudentDemo{

publicstaticvoidmain(String[]args){

//获取student类的对象

//Students=newStudent();

Students=newStudent();

//给成员变量赋值

s.Name="林青霞";

s.Age=18;

s.address="寿光";

//输出语句

System.out.println(s.Name+"---"+s.Age+"----"+s.address);

s.study();

s.eat();

s.sleep();

}

}

Static关键字

  概述:

可以修饰成员变量和成员方法

  特点:

  1.随着类的加载而加载

  2.优先于对象存在

  3.被类的所有对象共享(判断是否使用静态关键字的条件)

  4.可以通过类名调用

  注意事项:

  1.在静态方法中没有this关键字

  2.静态方法只能访问静态的成员变量和静态的成员方法(静态只能访问静态)

  

  所属不同:

  静态变量:

属于类,也成为类变量

  成员变量:

属于对象,也成为实例对象(对象变量)

  内存中的位置不同:

  静态变量:

存储于方法区的静态区

  成员变量:

存储于堆内存中

  调用不同:

  静态变量:

可以通过类名直接调用,也可以通过对象

  成员变量:

只能通过对象调用

  

继承(掌握):

  

  概述:

在多个类中存在相同行为和属性时,将这些属性抽取到单独的类中,那么多个类无需再定义这些属性和行为,只要通过继承类即可

  通过extents关键字来实现与类的继承

  例如:

Class

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2